{"id":336429,"date":"2026-07-13T09:08:46","date_gmt":"2026-07-13T09:08:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/faktorak\/"},"modified":"2026-07-26T14:25:55","modified_gmt":"2026-07-26T14:25:55","slug":"faktorak","status":"publish","type":"plugin","link":"https:\/\/br.wordpress.org\/plugins\/faktorak\/","author":23282267,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.6.1","stable_tag":"1.6.1","tested":"7.0.2","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"\u0641\u0627\u06a9\u062a\u0648\u0631\u06a9 (Faktorak)","header_author":"\u0633\u062c\u0627\u062f \u0634\u0627\u062f\u0644\u0648","header_description":"\u0627\u0641\u0632\u0648\u0646\u0647 \u0641\u0627\u06a9\u062a\u0648\u0631 \u0648 \u0628\u0631\u0686\u0633\u0628 \u067e\u0633\u062a\u06cc \u0628\u0631\u0627\u06cc \u0641\u0631\u0648\u0634\u06af\u0627\u0647\u200c\u0647\u0627\u06cc \u0648\u0648\u06a9\u0627\u0645\u0631\u0633\u06cc - \u0627\u06cc\u0646 \u0627\u0641\u0632\u0648\u0646\u0647 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a \u0686\u0627\u067e \u0641\u0627\u06a9\u062a\u0648\u0631\u060c \u0628\u0631\u0686\u0633\u0628 \u067e\u0633\u062a\u06cc \u0648 \u0645\u062f\u06cc\u0631\u06cc\u062a \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u0631\u0627 \u0641\u0631\u0627\u0647\u0645 \u0645\u06cc\u200c\u06a9\u0646\u062f.","assets_banners_color":"","last_updated":"2026-07-26 14:25:55","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/sajjadshadloo.ir\/product\/faktorak-plugin\/","header_author_uri":"https:\/\/sajjadshadloo.ir","rating":5,"author_block_rating":0,"active_installs":100,"downloads":249,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.6":{"tag":"1.6","author":"sajjadshadloo","date":"2026-07-13 09:08:30"},"1.6.1":{"tag":"1.6.1","author":"sajjadshadloo","date":"2026-07-26 14:25:55"}},"upgrade_notice":{"1.6.1":"<p>\u0645\u0647\u0645\u200c\u062a\u0631\u06cc\u0646 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0627\u06cc\u0646 \u0646\u0633\u062e\u0647:<\/p>\n\n<ul>\n<li>\u0627\u0641\u0632\u0648\u062f\u0646 \u0644\u06cc\u0633\u062a \u0627\u0642\u0644\u0627\u0645 \u0633\u0641\u0627\u0631\u0634<\/li>\n<li>\u0627\u0645\u06a9\u0627\u0646 \u062a\u0639\u06cc\u06cc\u0646 \u062f\u0633\u062a\u06cc \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0641\u0627\u06a9\u062a\u0648\u0631\u060c \u0628\u0631\u0686\u0633\u0628 \u067e\u0633\u062a\u06cc \u0648 \u0644\u06cc\u0628\u0644 \u062d\u0631\u0627\u0631\u062a\u06cc<\/li>\n<li>\u0627\u0641\u0632\u0648\u062f\u0646 \u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0631\u0648\u06cc \u0628\u0631\u0686\u0633\u0628 \u067e\u0633\u062a\u06cc<\/li>\n<li>\u0627\u0646\u062a\u062e\u0627\u0628 \u0627\u0637\u0644\u0627\u0639\u0627\u062a \u0642\u0627\u0628\u0644\u200c\u0646\u0645\u0627\u06cc\u0634 \u062f\u0631 \u062e\u0631\u0648\u062c\u06cc\u200c\u0647\u0627\u06cc \u0686\u0627\u067e\u06cc<\/li>\n<li>\u0627\u0641\u0632\u0648\u062f\u0646 \u0646\u0642\u0634\u0647 \u0627\u0646\u062a\u062e\u0627\u0628 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u062f\u0631 \u0635\u0641\u062d\u0647 \u062a\u0633\u0648\u06cc\u0647\u200c\u062d\u0633\u0627\u0628<\/li>\n<li>\u0627\u0645\u06a9\u0627\u0646 \u0646\u0645\u0627\u06cc\u0634 \u062e\u0648\u062f\u06a9\u0627\u0631 \u0646\u0642\u0634\u0647 \u06cc\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u0634\u0648\u0631\u062a\u200c\u06a9\u062f<\/li>\n<li>\u0633\u0627\u0632\u06af\u0627\u0631\u06cc \u0646\u0642\u0634\u0647 \u0628\u0627 \u0627\u0644\u0645\u0646\u062a\u0648\u0631<\/li>\n<li>\u0630\u062e\u06cc\u0631\u0647 \u0648 \u0646\u0645\u0627\u06cc\u0634 \u0644\u0648\u06a9\u06cc\u0634\u0646 \u0645\u0634\u062a\u0631\u06cc \u062f\u0631 \u0633\u0641\u0627\u0631\u0634<\/li>\n<li>\u0628\u0647\u0628\u0648\u062f \u0622\u067e\u0644\u0648\u062f \u0648 \u0646\u0645\u0627\u06cc\u0634 \u0627\u0645\u0636\u0627 \u0648 \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0627\u0632 SVG<\/li>\n<li>\u0628\u0647\u0628\u0648\u062f \u0631\u0627\u0628\u0637 \u06a9\u0627\u0631\u0628\u0631\u06cc \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u0648 \u0634\u0648\u0631\u062a\u200c\u06a9\u062f\u0647\u0627<\/li>\n<\/ul>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3605779,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3605779,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.6","1.6.1"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[12480,41755,162549,271331,286],"plugin_category":[45],"plugin_contributors":[271332],"plugin_business_model":[],"class_list":["post-336429","plugin","type-plugin","status-publish","hentry","plugin_tags-invoice","plugin_tags-proforma","plugin_tags-shipping-label","plugin_tags-thermal-print","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-sajjadshadloo","plugin_committers-sajjadshadloo"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/faktorak\/assets\/icon-128x128.png?rev=3605779","icon_2x":"https:\/\/ps.w.org\/faktorak\/assets\/icon-256x256.png?rev=3605779","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Faktorak adds printable WooCommerce invoices, shipping labels, thermal receipts, optional proforma invoices, optional checkout map location capture, a manual invoice workflow, and orders\/users CSV &amp; Excel export inside wp-admin.<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li>Print-friendly invoice and shipping label; final paper size is selected in the browser\/printer print dialog.<\/li>\n<li>Thermal receipt printing with single and bulk printing.<\/li>\n<li>Optional simple order item list with buyer, item title, quantity, unit amount, line amount and total.<\/li>\n<li>Per-order shipping-label note for handling instructions such as fragile packages.<\/li>\n<li>Two invoice templates (modern and classic).<\/li>\n<li>Optional proforma invoices (custom order status + admin action to convert to payable order).<\/li>\n<li>Optional checkout map to capture delivery location (saved in order meta).<\/li>\n<li>Manual invoice builder in wp-admin (create official invoice or proforma from selected products).<\/li>\n<li>Manual invoices list page (<code>\u0644\u06cc\u0633\u062a \u0641\u0627\u06a9\u062a\u0648\u0631\u0647\u0627<\/code>) with search\/filter\/delete and quick customer\/payment link copy.<\/li>\n<li>AJAX product and customer search with customer autofill in manual invoice form.<\/li>\n<li>Order list quick actions column (invoice + shipping label + thermal receipt + optional item list) in both legacy and HPOS order screens.<\/li>\n<li>Orders export to CSV\/Excel plus bulk invoice PDF output.<\/li>\n<li>Users export to CSV\/Excel with role and registration date filters.<\/li>\n<li>Shortcodes:\n\n<ul>\n<li><code>[faktorak_invoice_button]<\/code><\/li>\n<li><code>[faktorak_proforma_button]<\/code><\/li>\n<li><code>[faktorak_checkout_map]<\/code><\/li>\n<\/ul><\/li>\n<li>Local QR code rendering (no external QR service).<\/li>\n<li>Capability and token based protection for invoice\/shipping label\/item-list links.<\/li>\n<li>Payment button inside invoice view for unpaid manual invoices\/proformas.<\/li>\n<li>Automatic conversion of paid proforma document type to official invoice.<\/li>\n<li>Optional seller signature image on invoice templates.<\/li>\n<li>Unified admin UI and Estedad typography (libre\/OFL Persian font) across all plugin pages.<\/li>\n<\/ul>\n\n<h3>Usage<\/h3>\n\n<ul>\n<li>Admin: Open an order and use the metabox to print the invoice, shipping label or thermal receipt.<\/li>\n<li>Admin: Enable the item list in Faktorak settings to show its print button beside the other order outputs.<\/li>\n<li>Admin: Enter an optional shipping-label note in the Faktorak order metabox; empty notes are not printed.<\/li>\n<li>Admin: Use <code>Faktorak &gt; \u0641\u0627\u06a9\u062a\u0648\u0631 \u062f\u0633\u062a\u06cc<\/code> to create manual invoices\/proformas and manage them from <code>\u0644\u06cc\u0633\u062a \u0641\u0627\u06a9\u062a\u0648\u0631\u0647\u0627<\/code>.<\/li>\n<li>Admin: Use the bulk actions on the orders list to print invoices, labels or thermal receipts in one batch.<\/li>\n<li>Customer: Use the shortcode button (or enable customer buttons in settings) to view\/print invoices.<\/li>\n<li>Proforma: Enable the proforma option to allow creating a proforma invoice from the cart.<\/li>\n<li>Manual proforma payment: send the generated payment link to customer or use the payment button directly in invoice view.<\/li>\n<li>Checkout map: Enable the map option and choose either automatic placement inside the classic checkout form or manual placement with <code>[faktorak_checkout_map]<\/code>. In shortcode mode, the map may be placed in a separate Elementor Shortcode widget on the assigned checkout page; its confirmed coordinates are synchronized with the WooCommerce checkout form before submission.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin includes an optional \u201cCheckout Map\u201d feature. When it is enabled, the customer\u2019s browser connects to the following third\u2011party services in order to display the map and provide address search:<\/p>\n\n<p>1) OpenStreetMap Tile Servers (https:\/\/tile.openstreetmap.org\/)<\/p>\n\n<ul>\n<li>Used for: Loading map tiles on the checkout page.<\/li>\n<li>Data sent: The customer\u2019s IP address and the requested tile coordinates (as part of normal HTTP requests).<\/li>\n<li>Terms\/Policies: https:\/\/osmfoundation.org\/wiki\/Terms_of_Use, https:\/\/wiki.osmfoundation.org\/wiki\/Privacy_Policy, https:\/\/operations.osmfoundation.org\/policies\/tiles\/<\/li>\n<\/ul>\n\n<p>2) Nominatim (OpenStreetMap) (https:\/\/nominatim.openstreetmap.org\/)<\/p>\n\n<ul>\n<li>Used for: Address\/city search in the map geocoder, and looking up an approximate address for the confirmed point so the customer can verify the location they picked. The looked-up address is only displayed; it is not stored and does not modify any checkout field.<\/li>\n<li>Data sent: The customer\u2019s search query text and the customer\u2019s IP address (as part of normal HTTP requests).<\/li>\n<li>Terms\/Policies: https:\/\/operations.osmfoundation.org\/policies\/nominatim\/, https:\/\/wiki.osmfoundation.org\/wiki\/Privacy_Policy<\/li>\n<\/ul>\n\n<p>The selected latitude\/longitude is saved to the WooCommerce order meta (<code>_delivery_location<\/code>) only after the customer picks a point on the map and explicitly confirms it with the \"\u062b\u0628\u062a \u0627\u06cc\u0646 \u0645\u06a9\u0627\u0646\" button. In the admin order screen, a Google Maps link (https:\/\/www.google.com\/maps) may be shown for convenience; it is only opened when an admin clicks the link.<\/p>\n\n<p>No other external requests are made by this plugin. The plugin does not collect or transmit any data about your site or its visitors.<\/p>\n\n<h3>Source code of bundled libraries<\/h3>\n\n<p>The plugin bundles the following third\u2011party libraries locally (no CDN). Human-readable source code is available at their official repositories:<\/p>\n\n<ul>\n<li>Leaflet 1.9.x \u2014 https:\/\/github.com\/Leaflet\/Leaflet (BSD-2-Clause)<\/li>\n<li>Leaflet Control Geocoder \u2014 https:\/\/github.com\/perliedman\/leaflet-control-geocoder (BSD-2-Clause)<\/li>\n<li>Leaflet.Locate \u2014 https:\/\/github.com\/domoritz\/leaflet-locatecontrol (MIT)<\/li>\n<li>QRCode.js \u2014 https:\/\/github.com\/davidshimjs\/qrcodejs (MIT)<\/li>\n<li>Estedad font \u2014 https:\/\/github.com\/aminabedi68\/Estedad (SIL OFL 1.1)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to the Faktorak menu in wp-admin to configure invoice settings.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.6.1<\/h4>\n\n<ul>\n<li>New: Optional simple order item list with buyer, item title, quantity, unit amount, line amount and total.<\/li>\n<li>New: Per-order shipping-label notes for instructions such as fragile packages.<\/li>\n<li>New: Custom manual line items can be added to manual invoices without selecting a catalog product.<\/li>\n<li>New: Optional checkout map with address search, current-location control, draggable marker and explicit location confirmation.<\/li>\n<li>New: Checkout map placement can be selected between automatic WooCommerce placement and manual <code>[faktorak_checkout_map]<\/code> shortcode placement.<\/li>\n<li>New: Confirmed delivery coordinates are stored with the order and shown to administrators as a map link and local QR code.<\/li>\n<li>Improved: The approximate address of the confirmed map point is displayed to customers for verification without changing checkout address fields.<\/li>\n<li>Improved: The checkout-map shortcode synchronizes its coordinates with the WooCommerce form when placed in a separate Elementor widget.<\/li>\n<li>Improved: Map settings are shown only while the map feature is enabled, and shortcode cards now use a consistent layout.<\/li>\n<li>Security: Checkout latitude\/longitude input is strictly validated before it is stored.<\/li>\n<li>Fixed: Selecting or entering a signature image now automatically enables its display in classic and modern invoices.<\/li>\n<li>Fixed: SVG signature images are supported and displayed correctly in printable invoices.<\/li>\n<li>Fixed: Selectable print fields now support hiding all optional fields, and empty placeholders are omitted from the modern invoice.<\/li>\n<li>Improved: The simple order item list uses a clean, minimal print layout.<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>New: Optional shipping cost and custom discount fields in the manual invoice builder.<\/li>\n<li>New: Thermal receipt template (80mm \/ 58mm) with single and bulk printing.<\/li>\n<li>Changed: Paper size selection is handled by the browser\/printer print dialog instead of an in-page switcher.<\/li>\n<li>New: Users export to CSV\/Excel alongside orders export.<\/li>\n<li>New: Unified admin design system (one palette, consistent borders, full-width pages).<\/li>\n<li>Changed: Replaced the proprietary IRANYekan webfont with the libre Estedad font (SIL OFL).<\/li>\n<li>Security: Hardened access control for invoice and shipping label links (capability checks instead of URL context).<\/li>\n<li>Removed: Remote server ping and promotional admin notice.<\/li>\n<li>Fixed: Plugin no longer registers WooCommerce-dependent hooks when WooCommerce is inactive.<\/li>\n<li>Performance: Settings are now loaded once per request (singleton).<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>New: WooCommerce orders export.<\/li>\n<li>New: CSV and Excel export for orders.<\/li>\n<li>New: Bulk PDF export for selected orders.<\/li>\n<li>New: ZIP export with a separate invoice file for each order.<\/li>\n<li>New: Manual order selection for exports.<\/li>\n<li>New: Order filters by status, count and date range.<\/li>\n<li>New: Selectable export fields.<\/li>\n<li>New: HPOS compatibility.<\/li>\n<li>Changed: Unified Faktorak admin interface.<\/li>\n<li>Changed: Improved settings, manual invoice, invoice list and order export admin pages.<\/li>\n<li>Changed: Improved buttons, filters, tables and admin page layouts.<\/li>\n<li>Changed: Simplified internal plugin notices.<\/li>\n<li>Fixed: Reported visual issues.<\/li>\n<li>Changed: Improved admin user experience.<\/li>\n<li>Changed: Improved CSS asset loading and cache-busting.<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Added manual invoice workflow in wp-admin (create\/list\/delete; official invoice or proforma).<\/li>\n<li>Added AJAX product\/customer search and customer autofill for manual invoice creation.<\/li>\n<li>Added order list quick actions column for invoice\/shipping label on both legacy and HPOS order screens.<\/li>\n<li>Added token validation for frontend invoice\/proforma links to harden document access.<\/li>\n<li>Added payment links for manual proformas plus payment button in invoice view.<\/li>\n<li>Added automatic document-type conversion from proforma to official after successful payment.<\/li>\n<li>Added customer-note rendering in both classic and modern invoice templates.<\/li>\n<li>Improved webfont coverage across plugin admin pages and submenu typography.<\/li>\n<li>Renamed the manual list label to <code>\u0644\u06cc\u0633\u062a \u0641\u0627\u06a9\u062a\u0648\u0631\u0647\u0627<\/code>.<\/li>\n<li>Added optional signature support improvements in invoice templates.<\/li>\n<li>Added compatibility improvements for print rendering and HPOS environments.<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Improvements and security hardening.<\/li>\n<\/ul>","raw_excerpt":"Printable WooCommerce invoices, shipping labels and thermal receipts with proforma invoices, manual invoicing and CSV\/Excel exports.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=336429"}],"author":[{"embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sajjadshadloo"}],"wp:attachment":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336429"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336429"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336429"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336429"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336429"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}