{"id":343764,"date":"2026-07-26T22:45:49","date_gmt":"2026-07-26T22:45:49","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/softglaze-pdf-invoices\/"},"modified":"2026-07-29T04:55:56","modified_gmt":"2026-07-29T04:55:56","slug":"softglaze-pdf-invoices","status":"publish","type":"plugin","link":"https:\/\/ur.wordpress.org\/plugins\/softglaze-pdf-invoices\/","author":23434072,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.28.3","stable_tag":"2.28.3","tested":"7.0.2","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"SoftGlaze PDF Invoices for WooCommerce","header_author":"SoftGlaze LLC","header_description":"Generate professional PDF invoices, packing slips, proforma invoices and credit notes from your WooCommerce orders \u2014 rendered 100% locally, with no external services.","assets_banners_color":"8191aa","last_updated":"2026-07-29 04:55:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":224,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.21.0":{"tag":"2.21.0","author":"softglaze","date":"2026-07-26 22:45:26"},"2.21.1":{"tag":"2.21.1","author":"softglaze","date":"2026-07-26 23:30:31"},"2.22.0":{"tag":"2.22.0","author":"softglaze","date":"2026-07-27 13:37:54"},"2.23.0":{"tag":"2.23.0","author":"softglaze","date":"2026-07-27 19:01:07"},"2.24.0":{"tag":"2.24.0","author":"softglaze","date":"2026-07-28 01:08:58"},"2.28.0":{"tag":"2.28.0","author":"softglaze","date":"2026-07-28 11:49:56"},"2.28.1":{"tag":"2.28.1","author":"softglaze","date":"2026-07-28 12:59:06"},"2.28.2":{"tag":"2.28.2","author":"softglaze","date":"2026-07-28 13:52:19"},"2.28.3":{"tag":"2.28.3","author":"softglaze","date":"2026-07-29 04:55:56"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3623845,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3623845,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3623845,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3623845,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.21.0","2.21.1","2.22.0","2.23.0","2.24.0","2.28.0","2.28.1","2.28.2","2.28.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3623845,"resolution":"1","location":"assets","locale":"","width":3810,"height":3906},"screenshot-10.png":{"filename":"screenshot-10.png","revision":3623858,"resolution":"10","location":"assets","locale":"","width":3810,"height":3470},"screenshot-11.png":{"filename":"screenshot-11.png","revision":3623858,"resolution":"11","location":"assets","locale":"","width":3840,"height":1778},"screenshot-12.png":{"filename":"screenshot-12.png","revision":3623858,"resolution":"12","location":"assets","locale":"","width":3840,"height":1778},"screenshot-13.png":{"filename":"screenshot-13.png","revision":3623858,"resolution":"13","location":"assets","locale":"","width":3810,"height":3316},"screenshot-14.png":{"filename":"screenshot-14.png","revision":3623858,"resolution":"14","location":"assets","locale":"","width":3810,"height":2934},"screenshot-15.png":{"filename":"screenshot-15.png","revision":3623858,"resolution":"15","location":"assets","locale":"","width":3810,"height":3378},"screenshot-16.png":{"filename":"screenshot-16.png","revision":3623858,"resolution":"16","location":"assets","locale":"","width":3810,"height":3096},"screenshot-17.png":{"filename":"screenshot-17.png","revision":3623858,"resolution":"17","location":"assets","locale":"","width":3840,"height":1778},"screenshot-18.png":{"filename":"screenshot-18.png","revision":3623858,"resolution":"18","location":"assets","locale":"","width":3840,"height":1778},"screenshot-19.png":{"filename":"screenshot-19.png","revision":3623858,"resolution":"19","location":"assets","locale":"","width":3840,"height":1778},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3623845,"resolution":"2","location":"assets","locale":"","width":3810,"height":3556},"screenshot-20.png":{"filename":"screenshot-20.png","revision":3623858,"resolution":"20","location":"assets","locale":"","width":3840,"height":1778},"screenshot-21.png":{"filename":"screenshot-21.png","revision":3623858,"resolution":"21","location":"assets","locale":"","width":2920,"height":1892},"screenshot-22.png":{"filename":"screenshot-22.png","revision":3623858,"resolution":"22","location":"assets","locale":"","width":3810,"height":3694},"screenshot-23.png":{"filename":"screenshot-23.png","revision":3623858,"resolution":"23","location":"assets","locale":"","width":3810,"height":3750},"screenshot-24.png":{"filename":"screenshot-24.png","revision":3623858,"resolution":"24","location":"assets","locale":"","width":3810,"height":2526},"screenshot-25.png":{"filename":"screenshot-25.png","revision":3623858,"resolution":"25","location":"assets","locale":"","width":3810,"height":3022},"screenshot-26.png":{"filename":"screenshot-26.png","revision":3623858,"resolution":"26","location":"assets","locale":"","width":3810,"height":5090},"screenshot-27.png":{"filename":"screenshot-27.png","revision":3623858,"resolution":"27","location":"assets","locale":"","width":3810,"height":2308},"screenshot-28.png":{"filename":"screenshot-28.png","revision":3623858,"resolution":"28","location":"assets","locale":"","width":3840,"height":1778},"screenshot-29.png":{"filename":"screenshot-29.png","revision":3623858,"resolution":"29","location":"assets","locale":"","width":3810,"height":2134},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3623845,"resolution":"3","location":"assets","locale":"","width":2920,"height":1892},"screenshot-30.png":{"filename":"screenshot-30.png","revision":3623858,"resolution":"30","location":"assets","locale":"","width":3840,"height":1778},"screenshot-31.png":{"filename":"screenshot-31.png","revision":3626928,"resolution":"31","location":"assets","locale":"","width":2920,"height":1880},"screenshot-32.png":{"filename":"screenshot-32.png","revision":3626928,"resolution":"32","location":"assets","locale":"","width":2920,"height":1880},"screenshot-33.png":{"filename":"screenshot-33.png","revision":3626928,"resolution":"33","location":"assets","locale":"","width":2920,"height":1880},"screenshot-34.png":{"filename":"screenshot-34.png","revision":3626928,"resolution":"34","location":"assets","locale":"","width":1720,"height":2244},"screenshot-35.png":{"filename":"screenshot-35.png","revision":3626928,"resolution":"35","location":"assets","locale":"","width":2560,"height":1508},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3623845,"resolution":"4","location":"assets","locale":"","width":3810,"height":4114},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3623845,"resolution":"5","location":"assets","locale":"","width":3810,"height":4182},"screenshot-6.png":{"filename":"screenshot-6.png","revision":3623845,"resolution":"6","location":"assets","locale":"","width":3840,"height":1778},"screenshot-7.png":{"filename":"screenshot-7.png","revision":3623845,"resolution":"7","location":"assets","locale":"","width":3810,"height":3806},"screenshot-8.png":{"filename":"screenshot-8.png","revision":3623858,"resolution":"8","location":"assets","locale":"","width":3840,"height":1778},"screenshot-9.png":{"filename":"screenshot-9.png","revision":3623858,"resolution":"9","location":"assets","locale":"","width":3810,"height":7760}},"screenshots":{"1":"The dashboard \u2014 revenue, gross profit, margin and unpaid-outstanding at a glance, with a month\/quarter\/year switcher, inline charts and top products.","2":"The Documents manager \u2014 search, filter and bulk-generate, email or download every invoice, packing slip, proforma and credit note from one screen.","3":"A finished invoice on its public share link \u2014 rendered 100% locally with your logo, colours, tax lines and a one-click PDF download; no external requests at render time.","4":"The visual template builder \u2014 drag sections into place, set colour\/font\/paper design tokens, and preview the exact dompdf output as you edit.","5":"Settings \u2014 the document \u00d7 WooCommerce-email matrix that attaches the right document to the right transactional email. Every new feature is off by default and update-safe.","6":"On the WooCommerce order screen \u2014 generate, view and email documents, set the fulfillment stage, and record carrier and tracking details (HPOS-ready).","7":"The built-in System Check renders a live sample PDF and verifies your environment (PHP, extensions, storage, engine) so you can see it works before you rely on it.","8":"The WooCommerce Orders list \u2014 an Invoice column shows each order's document status at a glance, with bulk generate\/download actions (classic and HPOS screens).","9":"A WooCommerce order in full \u2014 the SoftGlaze box sits right beside the order, so paperwork, fulfillment stage and tracking live where you already work.","10":"The manual New-invoice screen \u2014 pick a saved client, add line items, currency, date and template, then save; a race-safe number is assigned and a PDF + share link are ready (works without WooCommerce).","11":"The Products table \u2014 your synced WooCommerce catalogue with SKU, price, cost and stock; select rows to export a catalog PDF or manage cost prices.","12":"Cost prices \u2014 record what each product costs you so the dashboard can show real gross profit and margin.","13":"The Templates overview \u2014 10 stock designs to duplicate, your saved custom templates, and a per-document-type design-assignment table.","14":"Import from WooCommerce \u2014 backfill your existing orders into the unified Documents list by status and date range, with a resumable progress bar.","15":"Italy \/ FatturaPA settings \u2014 Partita IVA, Codice Fiscale, Regime Fiscale, PEC, registered office and transmitter details that drive the validated FatturaPA XML export. Off by default.","16":"Cloud backup settings \u2014 connect your own Dropbox or Google Drive with your own OAuth app; documents mirror to your account and tokens are stored encrypted. Nothing uploads until you connect.","17":"The public invoice builder ([sgci_invoice_builder]) \u2014 visitors build their own invoice with saved company details, line items, a design picker and a live preview.","18":"The My Account \u2192 Invoices tab \u2014 when WooCommerce is active, the same view-and-create dashboard appears inside the customer's account area.","19":"The standalone customer dashboard ([sgci_dashboard]) \u2014 invoices and a \"Create invoice\" builder together as simple tabs, for sites without WooCommerce.","20":"A customer's \"My invoices\" view \u2014 search, download, duplicate, copy a share link, or delete, with clear empty states and status badges.","21":"Self-contained sign-in \/ create account ([sgci_login]) \u2014 users pick their own password and are signed straight in, with an on-site \"forgot password\" flow and no wp-login screen.","22":"Settings \u2192 Business \u2014 the company identity, logo, bank details and signature that appear on every document.","23":"Settings \u2192 Numbering \u2014 prefix\/suffix, {YYYY}\/{MM} placeholders, padding and yearly reset, with a live preview of the next number.","24":"Settings \u2192 Checkout \u2014 collect and validate a VAT number and\/or fiscal code at checkout (per-country rules, Italian checksums, optional EU VIES lookup).","25":"Settings \u2192 Frontend \u2014 the master switch and controls for the public invoice-builder site (allowed templates, per-user daily limit, default currency and terms).","26":"Settings \u2192 Automations \u2014 payment reminders, per-stage fulfillment emails and the monthly accountant export, each off by default with its own template.","27":"Settings \u2192 Advanced \u2014 expert options such as promoting fulfillment stages to real WooCommerce order statuses, with the trade-offs spelled out.","28":"The first-run setup wizard \u2014 a guided welcome that gets a new store issuing documents in a few steps.","29":"Setup wizard \u2014 the business-identity step, pre-filled from your site and WooCommerce store.","30":"Setup wizard \u2014 the numbering step, with a live preview of your first invoice number.","31":"WhatsApp click-to-chat \u2014 a WhatsApp button on each generated document (order screen and Documents manager) opens a chat pre-filled with the customer's number and the document's secure share link. No API keys, zero external requests from the plugin.","32":"Compliance field packs \u2014 show your seller VAT, GST\/HST and Tax ID in the company block and print an editable EU reverse-charge note, per document type. Off by default; the note never changes your tax totals.","33":"WhatsApp Cloud API (optional server-send) \u2014 connect your own Meta WhatsApp Business credentials under Settings \u2192 Automations, then send a document's share link straight from your server with one click. Off by default; the access token is stored encrypted.","34":"Multi-language &amp; right-to-left documents \u2014 pick a document language globally or per document; built-in labels translate into French, German, Spanish, Dutch, Italian, Portuguese and Hebrew, with full right-to-left rendering for Hebrew.","35":"The Canvas builder \u2014 a freeform layout mode: drop blocks anywhere on the page, drag to move, resize with handles and layer them, positioned by percentage of the page so the design matches the printed PDF. Flow (stacked) mode remains the default."}},"plugin_section":[],"plugin_tags":[181403,12480,51080,57399,62469],"plugin_category":[45],"plugin_contributors":[271804],"plugin_business_model":[],"class_list":["post-343764","plugin","type-plugin","status-publish","hentry","plugin_tags-credit-note","plugin_tags-invoice","plugin_tags-packing-slip","plugin_tags-pdf-invoice","plugin_tags-woocommerce-invoice","plugin_category-ecommerce","plugin_contributors-softglaze","plugin_committers-softglaze"],"banners":{"banner":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/banner-772x250.png?rev=3623845","banner_2x":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/banner-1544x500.png?rev=3623845","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/icon-128x128.png?rev=3623845","icon_2x":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/icon-256x256.png?rev=3623845","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-1.png?rev=3623845","caption":"\u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u2014 \u0627\u06cc\u06a9 \u0646\u0638\u0631 \u0645\u06cc\u06ba \u0622\u0645\u062f\u0646\u06cc\u060c \u0645\u062c\u0645\u0648\u0639\u06cc \u0645\u0646\u0627\u0641\u0639\u060c \u0645\u0627\u0631\u062c\u0646 \u0627\u0648\u0631 \u063a\u06cc\u0631 \u0627\u062f\u0627 \u0634\u062f\u06c1 \u0628\u0642\u0627\u06cc\u0627\u060c \u0628\u0645\u0639 \u0627\u06cc\u06a9 \u0645\u06c1\u06cc\u0646\u06c1\/\u0633\u06c1 \u0645\u0627\u06c1\u06cc\/\u0633\u0627\u0644 \u0633\u0648\u0626\u0686\u0631\u060c \u0627\u0650\u0646 \u0644\u0627\u0626\u0646 \u0686\u0627\u0631\u0679\u0633 \u0627\u0648\u0631 \u0633\u0631\u0650\u0641\u06c1\u0631\u0633\u062a \u067e\u0631\u0648\u0688\u06a9\u0679\u0633\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-2.png?rev=3623845","caption":"Documents manager \u2014 \u0627\u06cc\u06a9 \u06c1\u06cc \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0633\u06d2 \u06c1\u0631 \u0627\u0646\u0648\u0627\u0626\u0633\u060c \u067e\u06cc\u06a9\u0646\u06af \u0633\u0644\u067e\u060c \u067e\u0631\u0648\u0641\u0627\u0631\u0645\u0627 \u0627\u0648\u0631 \u06a9\u0631\u06cc\u0688\u0679 \u0646\u0648\u0679 \u06a9\u0648 \u062a\u0644\u0627\u0634\u060c \u0641\u0644\u0679\u0631 \u0627\u0648\u0631 \u0628\u0644\u06a9-\u062a\u06cc\u0627\u0631\u060c \u0627\u06cc \u0645\u06cc\u0644 \u06cc\u0627 \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-3.png?rev=3623845","caption":"\u0639\u0648\u0627\u0645\u06cc \u0634\u06cc\u0626\u0631 \u0644\u0646\u06a9 \u067e\u0631 \u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 \u0627\u0646\u0648\u0627\u0626\u0633 \u2014 100% \u0645\u0642\u0627\u0645\u06cc \u0637\u0648\u0631 \u067e\u0631 \u0622\u067e \u06a9\u06d2 \u0644\u0648\u06af\u0648\u060c \u0631\u0646\u06af\u0648\u06ba\u060c \u0679\u06cc\u06a9\u0633 \u0644\u0627\u0626\u0646\u0632 \u0627\u0648\u0631 \u0627\u06cc\u06a9-\u06a9\u0644\u06a9 PDF \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0631\u06cc\u0646\u0688\u0631\u061b \u0631\u06cc\u0646\u0688\u0631 \u06a9\u06d2 \u0648\u0642\u062a \u06a9\u0648\u0626\u06cc \u0628\u06cc\u0631\u0648\u0646\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba \u0646\u06c1\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-4.png?rev=3623845","caption":"\u0628\u0635\u0631\u06cc \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u0628\u0644\u0688\u0631 \u2014 \u0633\u06cc\u06a9\u0634\u0646\u0632 \u06a9\u0648 \u062c\u06af\u06c1 \u067e\u0631 \u06af\u06be\u0633\u06cc\u0679\u06cc\u06ba\u060c \u0631\u0646\u06af\/\u0641\u0648\u0646\u0679\/\u06a9\u0627\u063a\u0630 \u0688\u06cc\u0632\u0627\u0626\u0646 \u0679\u0648\u06a9\u0646\u0632 \u0645\u0642\u0631\u0631 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u062c\u06cc\u0633\u06d2 \u062c\u06cc\u0633\u06d2 \u0622\u067e \u062a\u0631\u0645\u06cc\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0628\u0627\u0644\u06a9\u0644 dompdf \u0622\u0624\u0679 \u067e\u0679 \u06a9\u0627 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06c1 \u06a9\u0631\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-5.png?rev=3623845","caption":"Settings \u2014 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u00d7 WooCommerce-\u0627\u06cc \u0645\u06cc\u0644 \u0645\u06cc\u0679\u0631\u06a9\u0633 \u062c\u0648 \u062f\u0631\u0633\u062a \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u0648 \u062f\u0631\u0633\u062a \u0679\u0631\u0627\u0646\u0632\u06cc\u06a9\u0634\u0646\u0644 \u0627\u06cc \u0645\u06cc\u0644 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0645\u0646\u0633\u0644\u06a9 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4 \u06c1\u0631 \u0646\u0626\u06cc \u062e\u0635\u0648\u0635\u06cc\u062a \u0637\u06d2\u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u062f \u0627\u0648\u0631 \u0627\u067e \u0688\u06cc\u0679-\u0645\u062d\u0641\u0648\u0638 \u06c1\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-6.png?rev=3623845","caption":"WooCommerce \u0622\u0631\u0688\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u067e\u0631 \u2014 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u062a\u06cc\u0627\u0631 \u06a9\u0631\u06cc\u06ba\u060c \u062f\u06cc\u06a9\u06be\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc \u0645\u06cc\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0627 \u0645\u0631\u062d\u0644\u06c1 \u0645\u0642\u0631\u0631 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u0648\u0631 \u06a9\u06cc\u0631\u06cc\u0626\u0631 \u0627\u0648\u0631 \u0679\u0631\u06cc\u06a9\u0646\u06af \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u06cc\u06ba (HPOS-\u062a\u06cc\u0627\u0631)\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-7.png?rev=3623845","caption":"\u0628\u0644\u0679 \u0627\u0650\u0646 System Check \u0627\u06cc\u06a9 \u0644\u0627\u0626\u06cc\u0648 \u0646\u0645\u0648\u0646\u06c1 PDF \u0631\u06cc\u0646\u0688\u0631 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0622\u067e \u06a9\u06d2 \u0645\u0627\u062d\u0648\u0644 (PHP\u060c \u0627\u06cc\u06a9\u0633\u0679\u06cc\u0646\u0634\u0646\u0632\u060c \u0627\u0633\u0679\u0648\u0631\u06cc\u062c\u060c \u0627\u0646\u062c\u0646) \u06a9\u06cc \u062a\u0635\u062f\u06cc\u0642 \u06a9\u0631\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0622\u067e \u0627\u0633 \u067e\u0631 \u0627\u0646\u062d\u0635\u0627\u0631 \u06a9\u0631\u0646\u06d2 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u062f\u06cc\u06a9\u06be \u0633\u06a9\u06cc\u06ba \u06a9\u06c1 \u06cc\u06c1 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-8.png?rev=3623858","caption":"WooCommerce Orders \u0641\u06c1\u0631\u0633\u062a \u2014 \u0627\u06cc\u06a9 Invoice \u06a9\u0627\u0644\u0645 \u06c1\u0631 \u0622\u0631\u0688\u0631 \u06a9\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u062d\u0627\u0644\u062a \u0627\u06cc\u06a9 \u0646\u0638\u0631 \u0645\u06cc\u06ba \u062f\u06a9\u06be\u0627\u062a\u0627 \u06c1\u06d2\u060c \u0628\u0645\u0639 \u0628\u0644\u06a9 generate\/download \u0627\u06cc\u06a9\u0634\u0646\u0632 (\u06a9\u0644\u0627\u0633\u06a9 \u0627\u0648\u0631 HPOS \u0627\u0633\u06a9\u0631\u06cc\u0646\u0632)\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-9.png?rev=3623858","caption":"\u0627\u06cc\u06a9 \u0645\u06a9\u0645\u0644 WooCommerce \u0622\u0631\u0688\u0631 \u2014 SoftGlaze \u0628\u0627\u06a9\u0633 \u0622\u0631\u0688\u0631 \u06a9\u06d2 \u0628\u0627\u0644\u06a9\u0644 \u0633\u0627\u062a\u06be \u0628\u06cc\u0679\u06be\u062a\u0627 \u06c1\u06d2\u060c \u0627\u0633 \u0644\u06cc\u06d2 \u06a9\u0627\u063a\u0630\u06cc \u06a9\u0627\u0631\u0631\u0648\u0627\u0626\u06cc\u060c \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u0627 \u0645\u0631\u062d\u0644\u06c1 \u0627\u0648\u0631 \u0679\u0631\u06cc\u06a9\u0646\u06af \u0648\u06c1\u06cc\u06ba \u0631\u06c1\u062a\u06d2 \u06c1\u06cc\u06ba \u062c\u06c1\u0627\u06ba \u0622\u067e \u067e\u06c1\u0644\u06d2 \u06c1\u06cc \u06a9\u0627\u0645 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-10.png?rev=3623858","caption":"\u062f\u0633\u062a\u06cc New-invoice \u0627\u0633\u06a9\u0631\u06cc\u0646 \u2014 \u0627\u06cc\u06a9 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0644\u0627\u0626\u0646\u0679 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u060c \u0644\u0627\u0626\u0646 \u0622\u0626\u0679\u0645\u0632\u060c \u06a9\u0631\u0646\u0633\u06cc\u060c \u062a\u0627\u0631\u06cc\u062e \u0627\u0648\u0631 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u0634\u0627\u0645\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u067e\u06be\u0631 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u06cc\u06ba\u061b \u0627\u06cc\u06a9 \u0631\u06cc\u0633-\u0633\u06cc\u0641 \u0646\u0645\u0628\u0631 \u062a\u0641\u0648\u06cc\u0636 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 \u0627\u0648\u0631 \u0627\u06cc\u06a9 PDF + \u0634\u06cc\u0626\u0631 \u0644\u0646\u06a9 \u062a\u06cc\u0627\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2 (WooCommerce \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u06a9\u0627\u0645 \u06a9\u0631\u062a\u0627 \u06c1\u06d2)\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-11.png?rev=3623858","caption":"Products \u0679\u06cc\u0628\u0644 \u2014 \u0622\u067e \u06a9\u0627 \u06c1\u0645 \u0622\u06c1\u0646\u06af \u06a9\u0631\u062f\u06c1 WooCommerce \u06a9\u06cc\u0679\u0644\u0627\u06af \u0628\u0645\u0639 SKU\u060c \u0642\u06cc\u0645\u062a\u060c \u0644\u0627\u06af\u062a \u0627\u0648\u0631 \u0627\u0633\u0679\u0627\u06a9\u061b \u0627\u06cc\u06a9 \u06a9\u06cc\u0679\u0644\u0627\u06af PDF \u0627\u06cc\u06a9\u0633\u067e\u0648\u0631\u0679 \u06a9\u0631\u0646\u06d2 \u06cc\u0627 \u0644\u0627\u06af\u062a \u0642\u06cc\u0645\u062a\u06cc\u06ba \u0645\u0646\u0638\u0645 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0642\u0637\u0627\u0631\u06cc\u06ba \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-12.png?rev=3623858","caption":"\u0644\u0627\u06af\u062a \u0642\u06cc\u0645\u062a\u06cc\u06ba \u2014 \u0631\u06cc\u06a9\u0627\u0631\u0688 \u06a9\u0631\u06cc\u06ba \u06a9\u06c1 \u06c1\u0631 \u067e\u0631\u0648\u0688\u06a9\u0679 \u0622\u067e \u06a9\u0648 \u06a9\u062a\u0646\u06d2 \u0645\u06cc\u06ba \u067e\u0691\u062a\u0627 \u06c1\u06d2 \u062a\u0627\u06a9\u06c1 \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u062d\u0642\u06cc\u0642\u06cc \u0645\u062c\u0645\u0648\u0639\u06cc \u0645\u0646\u0627\u0641\u0639 \u0627\u0648\u0631 \u0645\u0627\u0631\u062c\u0646 \u062f\u06a9\u06be\u0627 \u0633\u06a9\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-13.png?rev=3623858","caption":"Templates \u06a9\u0627 \u0645\u062c\u0645\u0648\u0639\u06cc \u0645\u0646\u0638\u0631 \u2014 \u0646\u0642\u0644 \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0644\u06cc\u06d2 10 \u0627\u0633\u0679\u0627\u06a9 \u0688\u06cc\u0632\u0627\u0626\u0646\u0632\u060c \u0622\u067e \u06a9\u06d2 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0631\u062f\u06c1 \u06a9\u0633\u0679\u0645 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679\u0633\u060c \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0641\u06cc-\u062f\u0633\u062a\u0627\u0648\u06cc\u0632-\u0642\u0633\u0645 \u0688\u06cc\u0632\u0627\u0626\u0646-\u062a\u0641\u0648\u06cc\u0636 \u0679\u06cc\u0628\u0644\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-14.png?rev=3623858","caption":"Import from WooCommerce \u2014 \u0627\u067e\u0646\u06d2 \u0645\u0648\u062c\u0648\u062f\u06c1 \u0622\u0631\u0688\u0631\u0632 \u06a9\u0648 \u062d\u0627\u0644\u062a \u0627\u0648\u0631 \u062a\u0627\u0631\u06cc\u062e \u06a9\u06cc \u062d\u062f \u06a9\u06d2 \u0644\u062d\u0627\u0638 \u0633\u06d2 \u0645\u062a\u062d\u062f\u06c1 Documents \u0641\u06c1\u0631\u0633\u062a \u0645\u06cc\u06ba \u0628\u06cc\u06a9 \u0641\u0650\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u0642\u0627\u0628\u0644\u0650 \u062f\u0648\u0628\u0627\u0631\u06c1 \u0622\u063a\u0627\u0632 \u067e\u0631\u0648\u06af\u0631\u06cc\u0633 \u0628\u0627\u0631 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-15.png?rev=3623858","caption":"Italy \/ FatturaPA \u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u2014 Partita IVA\u060c Codice Fiscale\u060c Regime Fiscale\u060c PEC\u060c \u0631\u062c\u0633\u0679\u0631\u0688 \u062f\u0641\u062a\u0631 \u0627\u0648\u0631 \u0679\u0631\u0627\u0646\u0633\u0645\u06cc\u0679\u0631 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u062c\u0648 \u062a\u0648\u062b\u06cc\u0642 \u0634\u062f\u06c1 FatturaPA XML \u0627\u06cc\u06a9\u0633\u067e\u0648\u0631\u0679 \u06a9\u0648 \u0686\u0644\u0627\u062a\u06cc \u06c1\u06cc\u06ba\u06d4 \u0637\u06d2\u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u062f\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-16.png?rev=3623858","caption":"\u06a9\u0644\u0627\u0624\u0688 \u0628\u06cc\u06a9 \u0627\u067e \u062a\u0631\u062a\u06cc\u0628\u0627\u062a \u2014 \u0627\u067e\u0646\u06d2 \u06c1\u06cc OAuth \u0627\u06cc\u067e \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u067e\u0646\u0627 Dropbox \u06cc\u0627 Google Drive \u0645\u0646\u0633\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u061b \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u0622\u067e \u06a9\u06d2 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0645\u06cc\u06ba \u0645\u0650\u0631\u0631 \u06c1\u0648\u062a\u06cc \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0679\u0648\u06a9\u0646\u0632 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u0634\u062f\u06c1 \u0645\u062d\u0641\u0648\u0638 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4 \u0622\u067e \u06a9\u06d2 \u0645\u0646\u0633\u0644\u06a9 \u06c1\u0648\u0646\u06d2 \u062a\u06a9 \u06a9\u0686\u06be \u0627\u067e \u0644\u0648\u0688 \u0646\u06c1\u06cc\u06ba \u06c1\u0648\u062a\u0627\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-17.png?rev=3623858","caption":"\u0639\u0648\u0627\u0645\u06cc \u0627\u0646\u0648\u0627\u0626\u0633 \u0628\u0644\u0688\u0631 ([sgci_invoice_builder]) \u2014 \u0648\u0632\u06cc\u0679\u0631\u0632 \u0645\u062d\u0641\u0648\u0638 \u06a9\u0645\u067e\u0646\u06cc \u062a\u0641\u0635\u06cc\u0644\u0627\u062a\u060c \u0644\u0627\u0626\u0646 \u0622\u0626\u0679\u0645\u0632\u060c \u0627\u06cc\u06a9 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u06a9\u0631 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0644\u0627\u0626\u06cc\u0648 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u067e\u0646\u06cc \u0627\u0646\u0648\u0627\u0626\u0633 \u0628\u0646\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-18.png?rev=3623858","caption":"My Account \u2192 Invoices \u0679\u06cc\u0628 \u2014 \u062c\u0628 WooCommerce \u0641\u0639\u0627\u0644 \u06c1\u0648\u060c \u062a\u0648 \u0648\u06c1\u06cc view-and-create \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 \u06af\u0627\u06c1\u06a9 \u06a9\u06d2 \u0627\u06a9\u0627\u0624\u0646\u0679 \u0627\u06cc\u0631\u06cc\u0627 \u06a9\u06d2 \u0627\u0646\u062f\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-19.png?rev=3623858","caption":"\u0627\u0633\u0679\u06cc\u0646\u0688 \u0627\u0644\u0648\u0646 \u06af\u0627\u06c1\u06a9 \u0688\u06cc\u0634 \u0628\u0648\u0631\u0688 ([sgci_dashboard]) \u2014 \u0627\u0646\u0648\u0627\u0626\u0633\u0632 \u0627\u0648\u0631 \u0627\u06cc\u06a9 \"Create invoice\" \u0628\u0644\u0688\u0631 \u0627\u06cc\u06a9 \u0633\u0627\u062a\u06be \u0633\u0627\u062f\u06c1 \u0679\u06cc\u0628\u0632 \u06a9\u06d2 \u0637\u0648\u0631 \u067e\u0631\u060c WooCommerce \u06a9\u06d2 \u0628\u063a\u06cc\u0631 \u0633\u0627\u0626\u0679\u0633 \u06a9\u06d2 \u0644\u06cc\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-20.png?rev=3623858","caption":"\u0627\u06cc\u06a9 \u06af\u0627\u06c1\u06a9 \u06a9\u0627 \"My invoices\" \u0645\u0646\u0638\u0631 \u2014 \u062a\u0644\u0627\u0634 \u06a9\u0631\u06cc\u06ba\u060c \u0688\u0627\u0624\u0646 \u0644\u0648\u0688 \u06a9\u0631\u06cc\u06ba\u060c \u0646\u0642\u0644 \u0628\u0646\u0627\u0626\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u0634\u06cc\u0626\u0631 \u0644\u0646\u06a9 \u06a9\u0627\u067e\u06cc \u06a9\u0631\u06cc\u06ba\u060c \u06cc\u0627 \u062d\u0630\u0641 \u06a9\u0631\u06cc\u06ba\u060c \u0648\u0627\u0636\u062d \u062e\u0627\u0644\u06cc \u062d\u0627\u0644\u062a\u0648\u06ba \u0627\u0648\u0631 \u062d\u0627\u0644\u062a \u0628\u06cc\u062c\u0632 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-21.png?rev=3623858","caption":"\u062e\u0648\u062f \u0645\u06a9\u062a\u0641\u06cc \u0633\u0627\u0626\u0646-\u0627\u0650\u0646 \/ \u0627\u06a9\u0627\u0624\u0646\u0679 \u0628\u0646\u0627\u0626\u06cc\u06ba ([sgci_login]) \u2014 \u0635\u0627\u0631\u0641\u06cc\u0646 \u0627\u067e\u0646\u0627 \u067e\u0627\u0633 \u0648\u0631\u0688 \u062e\u0648\u062f \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u062a\u06d2 \u06c1\u06cc\u06ba \u0627\u0648\u0631 \u0633\u06cc\u062f\u06be\u06d2 \u0633\u0627\u0626\u0646 \u0627\u0650\u0646 \u06c1\u0648 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0627\u06cc\u06a9 \u0622\u0646-\u0633\u0627\u0626\u0679 \"forgot password\" \u0641\u0644\u0648 \u06a9\u06d2 \u0633\u0627\u062a\u06be \u0627\u0648\u0631 \u0628\u063a\u06cc\u0631 \u06a9\u0633\u06cc wp-login \u0627\u0633\u06a9\u0631\u06cc\u0646 \u06a9\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-22.png?rev=3623858","caption":"Settings \u2192 Business \u2014 \u06a9\u0645\u067e\u0646\u06cc \u06a9\u06cc \u0634\u0646\u0627\u062e\u062a\u060c \u0644\u0648\u06af\u0648\u060c \u0628\u06cc\u0646\u06a9 \u062a\u0641\u0635\u06cc\u0644\u0627\u062a \u0627\u0648\u0631 \u062f\u0633\u062a\u062e\u0637 \u062c\u0648 \u06c1\u0631 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u067e\u0631 \u0638\u0627\u06c1\u0631 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-23.png?rev=3623858","caption":"Settings \u2192 Numbering \u2014 \u0633\u0627\u0628\u0642\u06c1\/\u0644\u0627\u062d\u0642\u06c1\u060c {YYYY}\/{MM} \u067e\u0644\u06cc\u0633 \u06c1\u0648\u0644\u0688\u0631\u0632\u060c \u067e\u06cc\u0688\u0646\u06af \u0627\u0648\u0631 \u0633\u0627\u0644\u0627\u0646\u06c1 \u0631\u06cc \u0633\u06cc\u0679\u060c \u0627\u06af\u0644\u06d2 \u0646\u0645\u0628\u0631 \u06a9\u06d2 \u0644\u0627\u0626\u06cc\u0648 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-24.png?rev=3623858","caption":"Settings \u2192 Checkout \u2014 \u0686\u06cc\u06a9 \u0622\u0624\u0679 \u067e\u0631 \u0627\u06cc\u06a9 VAT \u0646\u0645\u0628\u0631 \u0627\u0648\u0631\/\u06cc\u0627 fiscal code \u062c\u0645\u0639 \u0627\u0648\u0631 \u062a\u0648\u062b\u06cc\u0642 \u06a9\u0631\u06cc\u06ba (\u0641\u06cc \u0645\u0644\u06a9 \u0642\u0648\u0627\u0639\u062f\u060c \u0627\u0637\u0627\u0644\u0648\u06cc \u0686\u06cc\u06a9 \u0633\u0645\u0632\u060c \u0627\u062e\u062a\u06cc\u0627\u0631\u06cc EU VIES \u0644\u064f\u06a9 \u0627\u067e)\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-25.png?rev=3623858","caption":"Settings \u2192 Frontend \u2014 \u0639\u0648\u0627\u0645\u06cc \u0627\u0646\u0648\u0627\u0626\u0633-\u0628\u0644\u0688\u0631 \u0633\u0627\u0626\u0679 \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u0627\u0633\u0679\u0631 \u0633\u0648\u0626\u0686 \u0627\u0648\u0631 \u06a9\u0646\u0679\u0631\u0648\u0644\u0632 (\u0627\u062c\u0627\u0632\u062a \u06cc\u0627\u0641\u062a\u06c1 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679\u0633\u060c \u0641\u06cc \u0635\u0627\u0631\u0641 \u0631\u0648\u0632\u0627\u0646\u06c1 \u062d\u062f\u060c \u0637\u06d2\u0634\u062f\u06c1 \u06a9\u0631\u0646\u0633\u06cc \u0627\u0648\u0631 \u0634\u0631\u0627\u0626\u0637)\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-26.png?rev=3623858","caption":"Settings \u2192 Automations \u2014 \u0627\u062f\u0627\u0626\u06cc\u06af\u06cc \u06a9\u06cc \u06cc\u0627\u062f \u062f\u06c1\u0627\u0646\u06cc\u0627\u06ba\u060c \u0641\u06cc \u0645\u0631\u062d\u0644\u06c1 \u062a\u06a9\u0645\u06cc\u0644 \u0627\u06cc \u0645\u06cc\u0644\u0632 \u0627\u0648\u0631 \u0645\u0627\u06c1\u0627\u0646\u06c1 \u0627\u06a9\u0627\u0624\u0646\u0679\u0646\u0679 \u0627\u06cc\u06a9\u0633\u067e\u0648\u0631\u0679\u060c \u06c1\u0631 \u0627\u06cc\u06a9 \u0637\u06d2\u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u062f \u0627\u067e\u0646\u06d2 \u0679\u06cc\u0645\u067e\u0644\u06cc\u0679 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-27.png?rev=3623858","caption":"Settings \u2192 Advanced \u2014 \u0645\u0627\u06c1\u0631\u0627\u0646\u06c1 \u0627\u062e\u062a\u06cc\u0627\u0631\u0627\u062a \u062c\u06cc\u0633\u06d2 \u062a\u06a9\u0645\u06cc\u0644 \u06a9\u06d2 \u0645\u0631\u0627\u062d\u0644 \u06a9\u0648 \u062d\u0642\u06cc\u0642\u06cc WooCommerce \u0622\u0631\u0688\u0631 \u0627\u0633\u0679\u06cc\u0679\u0633\u0632 \u0645\u06cc\u06ba \u0641\u0631\u0648\u063a \u062f\u06cc\u0646\u0627\u060c \u062a\u062c\u0627\u0631\u062a\u06cc \u0646\u0641\u0639 \u0646\u0642\u0635\u0627\u0646 \u0648\u0627\u0636\u062d \u0637\u0648\u0631 \u067e\u0631 \u0628\u06cc\u0627\u0646 \u06a9\u06cc\u06d2 \u06af\u0626\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-28.png?rev=3623858","caption":"\u067e\u06c1\u0644\u06cc \u0628\u0627\u0631 \u0633\u06cc\u0679 \u0627\u067e \u0648\u0632\u0631\u0688 \u2014 \u0627\u06cc\u06a9 \u0631\u06c1\u0646\u0645\u0627\u0626\u06cc \u0634\u062f\u06c1 \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f \u062c\u0648 \u0627\u06cc\u06a9 \u0646\u0626\u06d2 \u0627\u0633\u0679\u0648\u0631 \u06a9\u0648 \u0686\u0646\u062f \u0645\u0631\u0627\u062d\u0644 \u0645\u06cc\u06ba \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u062c\u0627\u0631\u06cc \u06a9\u0631\u0646\u06d2 \u06a9\u06d2 \u0642\u0627\u0628\u0644 \u0628\u0646\u0627\u062a\u0627 \u06c1\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-29.png?rev=3623858","caption":"\u0633\u06cc\u0679 \u0627\u067e \u0648\u0632\u0631\u0688 \u2014 \u0628\u0632\u0646\u0633-\u0634\u0646\u0627\u062e\u062a \u06a9\u0627 \u0645\u0631\u062d\u0644\u06c1\u060c \u0622\u067e \u06a9\u06cc \u0633\u0627\u0626\u0679 \u0627\u0648\u0631 WooCommerce \u0627\u0633\u0679\u0648\u0631 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u067e\u064f\u0631\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-30.png?rev=3623858","caption":"\u0633\u06cc\u0679 \u0627\u067e \u0648\u0632\u0631\u0688 \u2014 \u0646\u0645\u0628\u0631\u0646\u06af \u06a9\u0627 \u0645\u0631\u062d\u0644\u06c1\u060c \u0622\u067e \u06a9\u06d2 \u067e\u06c1\u0644\u06d2 \u0627\u0646\u0648\u0627\u0626\u0633 \u0646\u0645\u0628\u0631 \u06a9\u06d2 \u0644\u0627\u0626\u06cc\u0648 \u067e\u06cc\u0634 \u0646\u0638\u0627\u0631\u06d2 \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-31.png?rev=3626928","caption":"WhatsApp click-to-chat \u2014 \u06c1\u0631 \u062a\u06cc\u0627\u0631 \u0634\u062f\u06c1 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u067e\u0631 \u0627\u06cc\u06a9 WhatsApp \u0628\u0679\u0646 (\u0622\u0631\u0688\u0631 \u0627\u0633\u06a9\u0631\u06cc\u0646 \u0627\u0648\u0631 Documents manager) \u06af\u0627\u06c1\u06a9 \u06a9\u06d2 \u0646\u0645\u0628\u0631 \u0627\u0648\u0631 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u06d2 \u0645\u062d\u0641\u0648\u0638 \u0634\u06cc\u0626\u0631 \u0644\u0646\u06a9 \u0633\u06d2 \u067e\u06c1\u0644\u06d2 \u0633\u06d2 \u067e\u064f\u0631 \u0627\u06cc\u06a9 \u0686\u06cc\u0679 \u06a9\u06be\u0648\u0644\u062a\u0627 \u06c1\u06d2\u06d4 \u06a9\u0648\u0626\u06cc API keys \u0646\u06c1\u06cc\u06ba\u060c \u067e\u0644\u06af \u0627\u0650\u0646 \u0633\u06d2 \u0635\u0641\u0631 \u0628\u06cc\u0631\u0648\u0646\u06cc \u062f\u0631\u062e\u0648\u0627\u0633\u062a\u06cc\u06ba\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-32.png?rev=3626928","caption":"Compliance field packs \u2014 \u06a9\u0645\u067e\u0646\u06cc \u0628\u0644\u0627\u06a9 \u0645\u06cc\u06ba \u0627\u067e\u0646\u0627 \u0628\u06cc\u0686\u0646\u06d2 \u0648\u0627\u0644\u06d2 \u06a9\u0627 VAT\u060c GST\/HST \u0627\u0648\u0631 Tax ID \u062f\u06a9\u06be\u0627\u0626\u06cc\u06ba \u0627\u0648\u0631 \u0627\u06cc\u06a9 \u0642\u0627\u0628\u0644\u0650 \u062a\u0631\u0645\u06cc\u0645 EU reverse-charge \u0646\u0648\u0679 \u067e\u0631\u0646\u0679 \u06a9\u0631\u06cc\u06ba\u060c \u0641\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u0642\u0633\u0645\u06d4 \u0637\u06d2\u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u062f\u061b \u0646\u0648\u0679 \u0622\u067e \u06a9\u06d2 \u0645\u062c\u0645\u0648\u0639\u0648\u06ba \u06a9\u0648 \u06a9\u0628\u06be\u06cc \u062a\u0628\u062f\u06cc\u0644 \u0646\u06c1\u06cc\u06ba \u06a9\u0631\u062a\u0627\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-33.png?rev=3626928","caption":"WhatsApp Cloud API (\u0627\u062e\u062a\u06cc\u0627\u0631\u06cc \u0633\u0631\u0648\u0631-\u0633\u06cc\u0646\u0688) \u2014 Settings \u2192 Automations \u06a9\u06d2 \u062a\u062d\u062a \u0627\u067e\u0646\u06d2 \u06c1\u06cc Meta WhatsApp Business credentials \u0645\u0646\u0633\u0644\u06a9 \u06a9\u0631\u06cc\u06ba\u060c \u067e\u06be\u0631 \u0627\u06cc\u06a9 \u06a9\u0644\u06a9 \u0633\u06d2 \u06a9\u0633\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u0627 \u0634\u06cc\u0626\u0631 \u0644\u0646\u06a9 \u0633\u06cc\u062f\u06be\u0627 \u0627\u067e\u0646\u06d2 \u0633\u0631\u0648\u0631 \u0633\u06d2 \u0628\u06be\u06cc\u062c\u06cc\u06ba\u06d4 \u0637\u06d2\u0634\u062f\u06c1 \u0637\u0648\u0631 \u067e\u0631 \u0628\u0646\u062f\u061b \u0627\u06cc\u06a9\u0633\u06cc\u0633 \u0679\u0648\u06a9\u0646 \u062e\u0641\u06cc\u06c1 \u06a9\u0627\u0631\u06cc \u0634\u062f\u06c1 \u0645\u062d\u0641\u0648\u0638 \u06c1\u0648\u062a\u0627 \u06c1\u06d2\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-34.png?rev=3626928","caption":"\u06a9\u062b\u06cc\u0631 \u0644\u0633\u0627\u0646\u06cc \u0627\u0648\u0631 \u062f\u0627\u0626\u06cc\u06ba \u0633\u06d2 \u0628\u0627\u0626\u06cc\u06ba \u062f\u0633\u062a\u0627\u0648\u06cc\u0632\u0627\u062a \u2014 \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u06a9\u06cc \u0632\u0628\u0627\u0646 \u0639\u0627\u0644\u0645\u06cc \u0633\u0637\u062d \u067e\u0631 \u06cc\u0627 \u0641\u06cc \u062f\u0633\u062a\u0627\u0648\u06cc\u0632 \u0645\u0646\u062a\u062e\u0628 \u06a9\u0631\u06cc\u06ba\u061b \u0628\u0644\u0679 \u0627\u0650\u0646 \u0644\u06cc\u0628\u0644\u0632 \u0641\u0631\u0627\u0646\u0633\u06cc\u0633\u06cc\u060c \u062c\u0631\u0645\u0646\u060c \u06c1\u0633\u067e\u0627\u0646\u0648\u06cc\u060c \u0648\u0644\u0646\u062f\u06cc\u0632\u06cc\u060c \u0627\u0637\u0627\u0644\u0648\u06cc\u060c \u067e\u0631\u062a\u06af\u0627\u0644\u06cc \u0627\u0648\u0631 \u0639\u0628\u0631\u0627\u0646\u06cc \u0645\u06cc\u06ba \u062a\u0631\u062c\u0645\u06c1 \u06c1\u0648\u062a\u06d2 \u06c1\u06cc\u06ba\u060c \u0639\u0628\u0631\u0627\u0646\u06cc \u06a9\u06d2 \u0644\u06cc\u06d2 \u0645\u06a9\u0645\u0644 \u062f\u0627\u0626\u06cc\u06ba \u0633\u06d2 \u0628\u0627\u0626\u06cc\u06ba \u0631\u06cc\u0646\u0688\u0631\u0646\u06af \u06a9\u06d2 \u0633\u0627\u062a\u06be\u06d4"},{"src":"https:\/\/ps.w.org\/softglaze-pdf-invoices\/assets\/screenshot-35.png?rev=3626928","caption":"Canvas \u0628\u0644\u0688\u0631 \u2014 \u0627\u06cc\u06a9 \u0622\u0632\u0627\u062f \u0644\u06d2 \u0622\u0624\u0679 \u0645\u0648\u0688: \u0628\u0644\u0627\u06a9\u0633 \u0635\u0641\u062d\u06d2 \u067e\u0631 \u06a9\u06c1\u06cc\u06ba \u0628\u06be\u06cc \u0631\u06a9\u06be\u06cc\u06ba\u060c \u06af\u06be\u0633\u06cc\u0679 \u06a9\u0631 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0631\u06cc\u06ba\u060c \u06c1\u06cc\u0646\u0688\u0644\u0632 \u0633\u06d2 \u0633\u0627\u0626\u0632 \u0628\u062f\u0644\u06cc\u06ba \u0627\u0648\u0631 \u062a\u06c1\u0648\u06ba \u0645\u06cc\u06ba \u0631\u06a9\u06be\u06cc\u06ba\u060c \u0635\u0641\u062d\u06d2 \u06a9\u06d2 \u0641\u06cc\u0635\u062f \u06a9\u06d2 \u062d\u0633\u0627\u0628 \u0633\u06d2 \u0631\u06a9\u06be\u06d2 \u062c\u0627\u062a\u06d2 \u06c1\u06cc\u06ba \u062a\u0627\u06a9\u06c1 \u0688\u06cc\u0632\u0627\u0626\u0646 \u067e\u0631\u0646\u0679 \u0634\u062f\u06c1 PDF \u0633\u06d2 \u0645\u0637\u0627\u0628\u0642\u062a \u0631\u06a9\u06be\u06d2\u06d4 Flow (\u0627\u0633\u0679\u06cc\u06a9\u0688) \u0645\u0648\u0688 \u0637\u06d2\u0634\u062f\u06c1 \u0631\u06c1\u062a\u0627 \u06c1\u06d2\u06d4"}],"raw_content":"<!--section=description-->\n<p>SoftGlaze PDF Invoices turns WooCommerce orders \u2014 and invoices you create by hand \u2014 into clean, professional PDF documents. Everything renders <strong>100% locally<\/strong>: the bundled dompdf engine runs on your own server, every logo, icon and font is embedded from local files, and a document render <strong>never makes an outbound HTTP request<\/strong>. The default install talks to <strong>zero<\/strong> external services; the only features that can ever reach the network are opt-in and off by default (the EU VIES VAT lookup, cloud backup, and WhatsApp Cloud API sending \u2014 each to an official service or your own account).<\/p>\n\n<p>It scales with you: from \"I just need an invoice attached to my order emails\" all the way to a full <strong>self-service invoice-builder website<\/strong> your visitors sign up and use \u2014 all from one plugin, driven by a modern React admin.<\/p>\n\n<p><strong>Full documentation, setup guides and screenshots:<\/strong> https:\/\/softglaze.com\/docs\/pdf-invoices-plugin-for-woocommerce-and-manual<\/p>\n\n<p><strong>Four document types, one design system<\/strong><\/p>\n\n<ul>\n<li><strong>Invoices, packing slips, proforma invoices and credit notes<\/strong> \u2014 one template engine, four faces. Each document type uses a stock design or a custom template you build, at the paper size you choose (A4 \/ Letter).<\/li>\n<li><strong>Credit notes on refund<\/strong> \u2014 refund an order and a credit note is offered automatically, referencing the original invoice.<\/li>\n<li><strong>Receipts<\/strong> \u2014 an optional \"Receipt vs Invoice\" choice at checkout, with its own template and (optionally) its own number sequence.<\/li>\n<li><strong>Delivery notes<\/strong> \u2014 print carrier, tracking number, shipping and expected-delivery dates on the invoice and\/or packing slip (opt-in, per type).<\/li>\n<\/ul>\n\n<p><strong>Numbering that fits your books<\/strong><\/p>\n\n<ul>\n<li>Sequential auto-numbering with <strong>prefix\/suffix<\/strong>, <code>{YYYY}<\/code> \/ <code>{MM}<\/code> placeholders, zero-padding and <strong>yearly reset<\/strong> \u2014 or simply reuse the WooCommerce order number or the raw order ID.<\/li>\n<li>Separate, race-safe sequences for credit notes and proforma invoices, each with its own start \/ prefix \/ suffix \/ padding.<\/li>\n<li>Migrating from another plugin? Detect existing YITH \/ WebToffee numbers and continue your sequence from the highest, so numbering stays unbroken.<\/li>\n<\/ul>\n\n<p><strong>Automation<\/strong><\/p>\n\n<ul>\n<li><strong>Auto-generate<\/strong> documents on the order statuses you choose.<\/li>\n<li>A configurable <strong>document \u00d7 WooCommerce-email matrix<\/strong> \u2014 attach the right document to the right transactional email (e.g. the invoice on \"Completed\", the packing slip on \"Processing\").<\/li>\n<li><strong>Fulfillment stages<\/strong> \u2014 a safe parallel flow (<em>In packaging \u2192 Dispatched \u2192 In transit \u2192 Delivered<\/em>) that never touches WooCommerce's own order statuses, with live dashboard counters, optional per-stage customer emails, and the current stage printed on packing slips.<\/li>\n<li><strong>Payment reminders<\/strong> \u2014 automatically email customers past their due date at the day-offsets you set; reminders stop the moment an order is paid.<\/li>\n<li><strong>Accountant export<\/strong> \u2014 on a chosen day each month, email your accountant a ZIP of last month's invoice PDFs plus a CSV index. A global kill-switch pauses every automated email at once.<\/li>\n<\/ul>\n\n<p><strong>A real admin, not just a settings page<\/strong><\/p>\n\n<ul>\n<li>A <strong>Profit &amp; Loss dashboard<\/strong> \u2014 Revenue, Item costs, <strong>Gross profit<\/strong>, <strong>Margin %<\/strong>, Tax collected, Refunds and Unpaid outstanding, with a month \/ quarter \/ year \/ custom switcher, inline charts, a monthly breakdown and top products, all exportable to CSV. (Honestly labelled \"gross profit = revenue \u2212 item costs\" \u2014 sales-and-margin at a glance, not double-entry accounting.)<\/li>\n<li>A searchable, filterable <strong>Documents manager<\/strong> with bulk actions \u2014 generate, email, or download a ZIP \u2014 across both WooCommerce and manual documents, with source \/ type \/ status \/ stage \/ date filters.<\/li>\n<li>A <strong>Products<\/strong> table mirroring your WooCommerce catalogue (thumbnail, SKU, price, cost, stock) with a <strong>Cost price<\/strong> field that feeds the margin maths, plus branded <strong>product-catalog PDFs<\/strong>.<\/li>\n<li>On the <strong>WooCommerce order screen<\/strong>: generate \/ view \/ email documents, set the fulfillment stage, and record carrier &amp; tracking \u2014 on both the classic and <strong>HPOS<\/strong> order screens. There's also an <strong>Invoice column<\/strong> and bulk actions on the orders list, and a \"Download invoice\" button in <strong>My Account<\/strong>.<\/li>\n<li>A built-in <strong>System Check<\/strong> page (and WordPress <strong>Site Health<\/strong> tests) that verifies PHP, extensions, storage and the engine, and renders a <strong>live sample PDF<\/strong> so you can confirm it works before you rely on it.<\/li>\n<li>A guided <strong>first-run setup wizard<\/strong> for company details, currency and numbering (with a live invoice-number preview).<\/li>\n<\/ul>\n\n<p><strong>Design your documents visually<\/strong><\/p>\n\n<ul>\n<li>A drag-and-drop <strong>template builder<\/strong>: reorder sections (header, bill-to, meta, items, totals, payment, terms, signature, plus text \/ divider \/ spacer and a sanitised custom-HTML block), toggle what each shows, and choose which item columns print.<\/li>\n<li><strong>Design tokens<\/strong> \u2014 colours, a bundled dompdf-safe font, base size, heading case, corner radius, header \/ totals style, logo position and your uploaded logo.<\/li>\n<li>A <strong>side-by-side live preview<\/strong> renders through the real engine as you edit, plus an \"Exact PDF\" button \u2014 what you preview is exactly what generates. Start from any of <strong>10 stock designs<\/strong>, and export \/ import templates as JSON between sites.<\/li>\n<li><strong>Two layout modes \u2014 Flow and Canvas.<\/strong> Flow stacks sections down the page; <strong>Canvas<\/strong> places blocks freely \u2014 drag to move, resize with corner\/edge handles, nudge with the arrow keys, and layer them front-to-back. Blocks are positioned as a percentage of the page, the same coordinates the PDF uses, so the layout you build is the layout that prints. Existing templates stay in Flow mode.<\/li>\n<\/ul>\n\n<p><strong>Works with or without WooCommerce<\/strong><\/p>\n\n<ul>\n<li><strong>Manual invoices<\/strong> \u2014 a full \"New invoice\" screen: saved clients (de-duplicated by email), unlimited line items (quantity, unit price, cost, tax rate), currency, date, template and status. A race-safe number is assigned, the PDF is stored, and a share link is ready \u2014 even with WooCommerce switched off.<\/li>\n<li><strong>A public invoice-builder website<\/strong> \u2014 four shortcodes (<code>[sgci_invoice_builder]<\/code>, <code>[sgci_my_invoices]<\/code>, <code>[sgci_dashboard]<\/code>, <code>[sgci_login]<\/code> \/ <code>[sgci_register]<\/code>) let visitors sign up, build their own invoices with a live preview, and manage them \u2014 a complete self-service invoice site. Every document is private to its owner; one user can never see another's. When WooCommerce is active, the same view merges into a <strong>My Account \u2192 Invoices<\/strong> tab.<\/li>\n<\/ul>\n\n<p><strong>Share &amp; send<\/strong><\/p>\n\n<ul>\n<li><strong>Public share links<\/strong> \u2014 a tokenised, no-login viewer page with single-PDF download, per-document expiry (7 \/ 30 \/ 90 days or never), regenerate and revoke, and an optional QR code printed on the PDF.<\/li>\n<li>Send any document by email from the order screen or the Documents manager, with an editable recipient \/ subject \/ message, dynamic <code>{tags}<\/code> filled in on send, and a logged send history.<\/li>\n<\/ul>\n\n<p><strong>Payments, deposits &amp; client acceptance<\/strong><\/p>\n\n<ul>\n<li><strong>Partial payments and deposits<\/strong> \u2014 record payments against any document (date, amount, method, note). Once a payment exists, the PDF prints an <strong>Amount paid<\/strong> and <strong>Balance due<\/strong> pair beneath the total (on all 10 stock designs and your custom templates), the dashboard's \"Unpaid outstanding\" counts the remaining balance, and two tags \u2014 <code>{amount_paid}<\/code> and <code>{balance_due}<\/code> \u2014 are available in the builder. On WooCommerce orders the balance respects the order status (only Pending \/ On-hold show a balance).<\/li>\n<li><strong>Online client acceptance<\/strong> \u2014 turn on an \"Accept\" button on the public share link, per document type (typically a proforma or quote; off by default). The client types their name, ticks an agreement box and accepts; their name, the date\/time and IP are recorded, an \"Accepted online by \u2026\" stamp is added to the PDF, and the order screen logs who accepted. It is a clear, honest online acceptance \u2014 not a legally binding electronic signature.<\/li>\n<\/ul>\n\n<p><strong>WhatsApp delivery<\/strong><\/p>\n\n<ul>\n<li><strong>Click-to-chat (free, zero setup)<\/strong> \u2014 every generated document gets a <strong>WhatsApp<\/strong> button on the order screen and the Documents manager. It opens WhatsApp (app or web) with the customer's number and a message containing the document's secure share link; your own WhatsApp sends it. There are no API keys, and the plugin makes no request of its own.<\/li>\n<li><strong>Cloud API server-send (optional)<\/strong> \u2014 connect your OWN Meta WhatsApp Business Cloud API and a \"Send on WhatsApp now\" action delivers the share link to the customer directly from your server. Inside WhatsApp's 24-hour customer-service window it sends your session message; outside it, it falls back to your pre-approved template. It is off by default, your access token is stored encrypted, and nothing is ever sent automatically.<\/li>\n<\/ul>\n\n<p><strong>Compliance &amp; exports<\/strong><\/p>\n\n<ul>\n<li><strong>VAT \/ fiscal-code at checkout<\/strong> (classic and block checkout) \u2014 each field independently optional or required, scoped to all countries \/ EU only \/ a country list, with per-country VAT format checks, the Italian Partita IVA &amp; Codice Fiscale checksums, and an optional EU <strong>VIES<\/strong> online lookup (off by default).<\/li>\n<li><strong>Italian e-invoicing (FatturaPA)<\/strong> \u2014 generate the official FatturaPA 1.2 (FPR12) XML for invoices and credit notes, per-document or as a bulk ZIP, <strong>validated locally against the Agenzia delle Entrate schema<\/strong> before download. Honest scope: it produces the XML file \u2014 it does <strong>not<\/strong> transmit to the SDI, and it refuses to guess when data can't be mapped cleanly.<\/li>\n<li><strong>Accounting exports<\/strong> \u2014 the Documents list exports to <strong>CSV or XML<\/strong> (respecting your active filters), and each document to a <strong>UBL-lite XML<\/strong>. Product lists export to CSV \/ XML too.<\/li>\n<li><strong>Compliance field packs<\/strong> \u2014 show your seller <strong>VAT<\/strong>, <strong>GST\/HST<\/strong> and a generic <strong>Tax ID<\/strong> in the company block (per document type, off by default), and print an editable <strong>EU reverse-charge note<\/strong> (defaults to the Art. 196 wording). In automatic mode the note appears only where reverse charge actually applies \u2014 intra-EU B2B with your EU VAT number and a VAT-registered customer in another EU country \u2014 or you can set it to always print. The note is informational; it never changes your tax totals.<\/li>\n<\/ul>\n\n<p><strong>Multi-language &amp; right-to-left documents<\/strong><\/p>\n\n<ul>\n<li>Print the customer-facing document in a chosen language \u2014 a store default under <strong>Settings \u2192 Documents \u2192 Language &amp; direction<\/strong>, or per document (on the invoice editor and the WooCommerce order screen). The built-in labels (Invoice, Bill To, Subtotal, Tax, Total, and the rest) translate automatically.<\/li>\n<li><strong>French, German, Spanish, Dutch, Italian, Portuguese and Hebrew<\/strong> are built in; Hebrew (and other right-to-left languages) render the whole document right-to-left using the bundled font, with no extra setup. With no language chosen, documents render exactly as before, and your admin screens stay in English. (Arabic is not offered yet \u2014 the bundled PDF engine cannot join Arabic letters correctly.)<\/li>\n<\/ul>\n\n<p><strong>Cloud backup (optional, off by default)<\/strong><\/p>\n\n<ul>\n<li>Copy every generated document to your <strong>own<\/strong> Dropbox or Google Drive, mirroring the local folder layout (<code>\/SoftGlaze Invoices\/{Year}\/{Month}\/<\/code>).<\/li>\n<li>You use <strong>your own app credentials<\/strong> via a standard OAuth flow \u2014 there is no SoftGlaze server in the middle. Refresh tokens are stored <strong>encrypted at rest<\/strong> on your server.<\/li>\n<li>Background uploads with automatic retry, a \"Backup everything now\" backfill, and a disconnect that revokes and deletes the stored tokens. Nothing is uploaded \u2014 and no backup task is even scheduled \u2014 until you connect an account.<\/li>\n<\/ul>\n\n<p><strong>Privacy, security &amp; compatibility<\/strong><\/p>\n\n<ul>\n<li><strong>Zero external requests by default.<\/strong> The PDF engine always renders locally; the only opt-in network features are the EU VIES check, cloud backup and WhatsApp Cloud API sending, each disclosed here and in a settings notice.<\/li>\n<li><strong>HPOS<\/strong> (High-Performance Order Storage) compatible; all order data is read through WooCommerce CRUD.<\/li>\n<li>Generated files live in a <strong>protected uploads directory<\/strong> (deny-all + index guard) and are served only through <strong>capability- and ownership-checked<\/strong> endpoints \u2014 a direct link to someone else's document returns \"not found\".<\/li>\n<li>Every feature added since your current version is <strong>off by default and update-safe<\/strong>: an existing store's checkout, documents, emails and numbering are unchanged until you opt in.<\/li>\n<li><strong>Developer-friendly<\/strong> \u2014 human-readable React source ships in <code>src\/<\/code>; the filters <code>sgci_document_template_json<\/code> and <code>sgci_document_html<\/code> let you reshape output in code; and a shared dynamic-tag engine powers <code>{invoice_number}<\/code>, <code>{order_number}<\/code>, <code>{total}<\/code>, <code>{share_url}<\/code>, <code>{carrier}<\/code>, <code>{tracking_code}<\/code>, <code>{order_meta:key}<\/code>, <code>{user_meta:key}<\/code> and more.<\/li>\n<\/ul>\n\n<p><strong>Bundled libraries<\/strong> (all GPL-compatible, in <code>vendor\/<\/code>): dompdf (LGPL-2.1) with php-font-lib and php-svg-lib, with docs and tests removed.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> (or install the ZIP from Plugins \u2192 Add New).<\/li>\n<li>Activate it through the Plugins screen.<\/li>\n<li>Open <strong>SoftGlaze Invoices \u2192 Settings<\/strong> and fill in your company, logo, bank and numbering details (they are pre-filled from your site and WooCommerce store).<\/li>\n<li>Open a WooCommerce order and click <strong>Generate Invoice PDF<\/strong>, or let auto-generation handle it on your chosen statuses.<\/li>\n<\/ol>\n\n<p>WooCommerce is required for order invoicing. The bundled dompdf library ships with the plugin; if it is ever missing, documents fall back to print-ready HTML.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20send%20any%20data%20to%20an%20external%20service%3F\"><h3>Does it send any data to an external service?<\/h3><\/dt>\n<dd><p>By default, no. Rendering is entirely local \u2014 the PDF engine embeds all assets from your own server and makes no outbound HTTP request when generating a document.<\/p>\n\n<p>There are exactly three opt-in exceptions, all off by default:<\/p>\n\n<ol>\n<li><p><strong>EU VIES VAT check<\/strong> \u2014 if you turn on <strong>Settings \u2192 Checkout \u2192 Verify EU VAT numbers online with VIES<\/strong>, a VAT number entered at checkout is sent to the official EU VIES service to confirm it exists. Format and checksum checks always run locally first.<\/p><\/li>\n<li><p><strong>Cloud backup<\/strong> \u2014 if you connect a destination under <strong>Settings \u2192 Backup<\/strong>, generated documents are uploaded to YOUR own Dropbox or Google Drive using YOUR app credentials. There is no SoftGlaze middleman server, refresh tokens are stored encrypted on your server, and nothing is uploaded until you connect an account. Disconnecting revokes and deletes the stored tokens.<\/p><\/li>\n<li><p><strong>WhatsApp Cloud API sending<\/strong> \u2014 if you enable it and save your own Meta credentials under <strong>Settings \u2192 Automations \u2192 WhatsApp Cloud API<\/strong>, clicking \"Send on WhatsApp now\" on a document sends its share link to the customer via YOUR own WhatsApp Business account (<code>graph.facebook.com<\/code>). Your access token is stored encrypted on your server, nothing is sent until you connect and click send, and the free click-to-chat button needs none of this. (The click-to-chat button itself uses WhatsApp's <code>wa.me<\/code> links and makes no request from your server.)<\/p><\/li>\n<\/ol>\n\n<p>Until you switch one of these on, the plugin makes zero external requests.<\/p><\/dd>\n<dt id=\"is%20it%20compatible%20with%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Is it compatible with High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares HPOS compatibility and reads orders only through WooCommerce CRUD.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20my%20data%20if%20i%20delete%20the%20plugin%3F\"><h3>What happens to my data if I delete the plugin?<\/h3><\/dt>\n<dd><p>By default, uninstalling removes only the plugin's own options and order meta. Enable <strong>Remove data on uninstall<\/strong> in Settings first if you also want the invoice records and generated PDF files deleted.<\/p><\/dd>\n<dt id=\"are%20there%20developer%20hooks%20for%20customising%20documents%3F\"><h3>Are there developer hooks for customising documents?<\/h3><\/dt>\n<dd><p>Yes. Two filters let you override document output in code:<\/p>\n\n<ul>\n<li><code>sgci_document_template_json<\/code> \u2014 <code>apply_filters('sgci_document_template_json', $template, $doc_type)<\/code>. Fires when a named custom template is about to render a document type; return a modified template array (<code>name<\/code>, <code>base_preset<\/code>, <code>tokens<\/code>, <code>sections<\/code>, <code>doc_types<\/code>) to change what renders \u2014 for example to reorder sections or inject a custom-HTML section programmatically.<\/li>\n<li><code>sgci_document_html<\/code> \u2014 <code>apply_filters('sgci_document_html', $html, $invoice)<\/code>. Fires on the final document HTML immediately before the PDF is rendered (and before the HTML fallback is written), for every document type and template\/layout. Return modified HTML to post-process the document.<\/li>\n<\/ul>\n\n<p>Dynamic template tags are resolved by one shared engine used by PDFs, emails and reminders. Alongside <code>{invoice_number}<\/code>, <code>{order_number}<\/code>, <code>{date}<\/code>, <code>{due_date}<\/code>, <code>{customer_name}<\/code>, <code>{company_name}<\/code>, <code>{total}<\/code> and <code>{share_url}<\/code>, you can pull arbitrary order or customer meta with <code>{order_meta:your_key}<\/code> and <code>{user_meta:your_key}<\/code>. Values are output-escaped; an optional key allowlist (Settings) restricts which keys resolve.<\/p><\/dd>\n<dt id=\"how%20do%20i%20build%20a%20complete%20standalone%20invoice-builder%20website%20with%20the%20shortcodes%3F\"><h3>How do I build a complete standalone invoice-builder website with the shortcodes?<\/h3><\/dt>\n<dd><p>You can assemble a self-service invoice site \u2014 where visitors sign up and make their own PDF invoices \u2014 from three pages, no WooCommerce needed:<\/p>\n\n<ol>\n<li><strong>Turn the feature on.<\/strong> Go to <strong>SoftGlaze Invoices \u2192 Settings \u2192 Frontend<\/strong> and enable the master switch. (It is off by default on existing sites and on for brand-new installs.) While you are there you can choose which of your saved templates the builder may offer, the per-user daily limit, the default currency, and default terms.<\/li>\n<li><strong>Allow sign-ups.<\/strong> In <strong>Settings \u2192 General<\/strong>, tick <strong>Membership: Anyone can register<\/strong> so visitors can create an account, or place <code>[sgci_register]<\/code> on a page for the standard WordPress registration form.<\/li>\n<li><strong>Create three pages:<\/strong>\n\n<ul>\n<li>A <strong>\"Create invoice\"<\/strong> page containing <code>[sgci_invoice_builder my_invoices=\"\/my-invoices\/\"]<\/code> \u2014 the full builder (company details saved per user, client, line items, currency, a design picker, a live preview, and Generate \u2192 PDF + share link).<\/li>\n<li>A <strong>\"My invoices\"<\/strong> page containing <code>[sgci_my_invoices builder=\"\/create-invoice\/\"]<\/code> \u2014 each user's own documents, with search, download, duplicate, a copyable share link, and delete.<\/li>\n<li>A <strong>\"Sign in\"<\/strong> page containing <code>[sgci_login]<\/code> (and, if you like, <code>[sgci_register]<\/code>).<\/li>\n<\/ul><\/li>\n<li><strong>Link them together.<\/strong> The <code>my_invoices<\/code> and <code>builder<\/code> attributes above accept a page path (e.g. <code>\/my-invoices\/<\/code>), a full URL, or a numeric page ID; they power the builder's \"My invoices\" link, the list's \"+ New invoice\" button, and the empty-state call-to-action. Add the three pages to your menu and you have a complete builder site \u2014 any membership or login-redirect plugin works alongside it.<\/li>\n<\/ol>\n\n<p><strong>Privacy:<\/strong> every document a visitor creates is owned by that visitor. One user can never see, download, or touch another user's invoices, and a direct link to someone else's document returns \"not found\". Guests are shown a login\/register prompt instead of the builder.<\/p><\/dd>\n<dt id=\"do%20i%20need%20woocommerce%20to%20use%20this%20plugin%3F\"><h3>Do I need WooCommerce to use this plugin?<\/h3><\/dt>\n<dd><p>No. WooCommerce is required only for order-based invoicing \u2014 turning orders into documents, the order-screen tools, the orders-list column and the My Account download. Without WooCommerce you can still create invoices by hand, design templates, use share links, and run the public invoice-builder site.<\/p><\/dd>\n<dt id=\"which%20document%20types%20can%20it%20create%3F\"><h3>Which document types can it create?<\/h3><\/dt>\n<dd><p>Invoices, packing slips, proforma invoices, credit notes, receipts and delivery notes. Each type has its own template assignment and can use its own number sequence.<\/p><\/dd>\n<dt id=\"can%20i%20create%20an%20invoice%20by%20hand%2C%20without%20an%20order%3F\"><h3>Can I create an invoice by hand, without an order?<\/h3><\/dt>\n<dd><p>Yes. The <strong>New invoice<\/strong> screen lets you pick a saved client (or add one), add unlimited line items with quantity, unit price, cost and tax rate, choose the currency, date, template and status, and save. A race-safe number is assigned, the PDF is stored and a share link is ready \u2014 with WooCommerce on or off.<\/p><\/dd>\n<dt id=\"how%20does%20invoice%20numbering%20work%3F%20can%20i%20set%20my%20own%20format%3F\"><h3>How does invoice numbering work? Can I set my own format?<\/h3><\/dt>\n<dd><p>Numbering is sequential with an optional prefix and suffix, <code>{YYYY}<\/code> and <code>{MM}<\/code> placeholders, zero-padding and an optional yearly reset. Credit notes and proforma invoices can each use their own separate, race-safe sequence. You can also reuse the WooCommerce order number or the raw order ID instead of a counter.<\/p><\/dd>\n<dt id=\"i%27m%20moving%20from%20another%20invoice%20plugin%20%E2%80%94%20can%20i%20keep%20my%20numbering%3F\"><h3>I'm moving from another invoice plugin \u2014 can I keep my numbering?<\/h3><\/dt>\n<dd><p>Yes. The plugin can detect existing YITH \/ WebToffee (and other) invoice numbers, continue your sequence from the highest one found, and optionally copy the old numbers onto historical orders. Developers can extend the detected meta keys with the <code>sgci_import_number_meta_keys<\/code> filter.<\/p><\/dd>\n<dt id=\"how%20do%20i%20attach%20a%20pdf%20automatically%20to%20woocommerce%20emails%3F\"><h3>How do I attach a PDF automatically to WooCommerce emails?<\/h3><\/dt>\n<dd><p>Use the document \u00d7 email matrix in Settings to choose which document attaches to which transactional email (for example the invoice on \"Completed\", the packing slip on \"Processing\"). You can also auto-generate documents on the order statuses you choose.<\/p><\/dd>\n<dt id=\"can%20customers%20download%20their%20own%20invoice%3F\"><h3>Can customers download their own invoice?<\/h3><\/dt>\n<dd><p>Yes. When WooCommerce is active there is a \"Download invoice\" button in My Account and an optional Invoices tab. You can also send any document by email or share a tokenised link.<\/p><\/dd>\n<dt id=\"are%20the%20public%20share%20links%20secure%3F\"><h3>Are the public share links secure?<\/h3><\/dt>\n<dd><p>Each link carries a random token, has a per-document expiry you choose (7 \/ 30 \/ 90 days or never), and can be regenerated or revoked. Generated files live in a protected uploads folder and are served only through capability- and ownership-checked endpoints, so a direct link to someone else's file returns \"not found\".<\/p><\/dd>\n<dt id=\"can%20i%20put%20a%20qr%20code%20on%20the%20pdf%3F\"><h3>Can I put a QR code on the PDF?<\/h3><\/dt>\n<dd><p>Yes \u2014 enable the share-link QR code per document type and the link prints as a QR code in the corner of the PDF. The QR image is generated locally.<\/p><\/dd>\n<dt id=\"how%20do%20partial%20payments%20and%20deposits%20work%3F\"><h3>How do partial payments and deposits work?<\/h3><\/dt>\n<dd><p>Record one or more payments (date, amount, method, note) against a document \u2014 from a Payments panel on the manual invoice screen, or a Payments box on the WooCommerce order (classic and HPOS). The PDF then prints Amount paid and Balance due, and the dashboard's unpaid figure counts only the remaining balance.<\/p><\/dd>\n<dt id=\"is%20%22client%20acceptance%22%20a%20legally%20binding%20electronic%20signature%3F\"><h3>Is \"client acceptance\" a legally binding electronic signature?<\/h3><\/dt>\n<dd><p>No, and it is labelled as such. It records a typed name, an agreement checkbox, a timestamp and the client's IP as a simple, honest online acceptance \u2014 useful for proformas and quotes. It is not a qualified or legally binding e-signature.<\/p><\/dd>\n<dt id=\"how%20do%20i%20send%20a%20document%20to%20a%20customer%20on%20whatsapp%3F\"><h3>How do I send a document to a customer on WhatsApp?<\/h3><\/dt>\n<dd><p>Click the WhatsApp button on a generated document (order screen or Documents manager). WhatsApp opens with the customer's number and a message containing the document's share link, ready for you to send. This uses WhatsApp's <code>wa.me<\/code> links and needs no setup or API keys.<\/p><\/dd>\n<dt id=\"how%20do%20i%20set%20up%20server-side%20whatsapp%20sending%20%28cloud%20api%29%3F\"><h3>How do I set up server-side WhatsApp sending (Cloud API)?<\/h3><\/dt>\n<dd><p>Under <strong>Settings \u2192 Automations \u2192 WhatsApp Cloud API<\/strong>, enable it and save your own Meta WhatsApp Business credentials (phone-number ID and access token). A \"Send on WhatsApp now\" action then delivers the share link from your server. Inside Meta's 24-hour customer-service window it sends your session message; outside it, it uses your pre-approved template. It is off by default, the token is stored encrypted, and every send is a manual click.<\/p><\/dd>\n<dt id=\"can%20i%20show%20my%20vat%20%2F%20gst%20number%20and%20a%20reverse-charge%20note%20on%20documents%3F\"><h3>Can I show my VAT \/ GST number and a reverse-charge note on documents?<\/h3><\/dt>\n<dd><p>Yes. Enter your VAT, GST\/HST and a generic Tax ID in <strong>Settings \u2192 Company details<\/strong>, then switch them on per document type under <strong>Compliance field packs<\/strong>. You can also print an editable EU reverse-charge note; in automatic mode it appears only on intra-EU B2B documents where reverse charge applies. The note never changes your tax totals.<\/p><\/dd>\n<dt id=\"can%20i%20print%20documents%20in%20another%20language%20or%20right-to-left%3F\"><h3>Can I print documents in another language or right-to-left?<\/h3><\/dt>\n<dd><p>Yes. Choose a document language globally or per document. French, German, Spanish, Dutch, Italian, Portuguese and Hebrew are built in, and Hebrew renders right-to-left with the bundled font. With no language chosen, documents are unchanged and the admin stays in English. Arabic is not offered yet, because the bundled PDF engine cannot join Arabic letters correctly.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20the%20flow%20and%20canvas%20template%20builders%3F\"><h3>What is the difference between the Flow and Canvas template builders?<\/h3><\/dt>\n<dd><p>Flow stacks the document sections down the page (header, then bill-to, then items, and so on). Canvas lets you place blocks freely anywhere on the page \u2014 drag to move, resize with handles, and layer them. Both use the same block types and the same live preview, and both print exactly what you see. Flow is the default; Canvas is a per-template choice.<\/p><\/dd>\n<dt id=\"can%20i%20design%20a%20completely%20custom%20template%2C%20or%20use%20my%20own%20html%3F\"><h3>Can I design a completely custom template, or use my own HTML?<\/h3><\/dt>\n<dd><p>Yes. Build a named template from blocks, or add a custom-HTML block. Custom HTML is sanitised \u2014 scripts, event handlers and remote references are stripped, on save and on every preview \u2014 so it stays safe for the local PDF engine.<\/p><\/dd>\n<dt id=\"does%20it%20support%20italian%20fatturapa%20e-invoicing%3F\"><h3>Does it support Italian FatturaPA e-invoicing?<\/h3><\/dt>\n<dd><p>It generates the official FatturaPA 1.2 (FPR12) XML for invoices and credit notes, per document or as a bulk ZIP, and validates each file locally against the Agenzia delle Entrate schema before download. It does <strong>not<\/strong> transmit to the SDI \u2014 send the file via your intermediary or the AdE portal \u2014 and it refuses to guess when data cannot be mapped cleanly. Off by default.<\/p><\/dd>\n<dt id=\"can%20i%20back%20up%20my%20documents%20to%20dropbox%20or%20google%20drive%3F\"><h3>Can I back up my documents to Dropbox or Google Drive?<\/h3><\/dt>\n<dd><p>Yes, optionally. Connect your own Dropbox and\/or Google Drive app under <strong>Settings \u2192 Backup<\/strong> and each generated document is copied to your account, mirroring the local folder layout. You use your own OAuth credentials (there is no SoftGlaze server in between), refresh tokens are stored encrypted, and nothing is uploaded until you connect an account. Off by default.<\/p><\/dd>\n<dt id=\"what%20are%20the%20requirements%2C%20and%20what%20if%20dompdf%20is%20missing%3F\"><h3>What are the requirements, and what if dompdf is missing?<\/h3><\/dt>\n<dd><p>WordPress 6.3+, PHP 7.4+, and WooCommerce for order-based invoicing. The dompdf engine is bundled, so there is nothing to install; if it were ever missing, documents fall back to print-ready HTML.<\/p><\/dd>\n<dt id=\"will%20updating%20the%20plugin%20change%20my%20existing%20invoices%20or%20settings%3F\"><h3>Will updating the plugin change my existing invoices or settings?<\/h3><\/dt>\n<dd><p>No. Every feature is off by default or defaults to your current behaviour, so an existing store's checkout, documents, emails and numbering are unchanged until you opt in.<\/p><\/dd>\n<dt id=\"where%20can%20i%20find%20the%20full%20documentation%20and%20setup%20guide%3F\"><h3>Where can I find the full documentation and setup guide?<\/h3><\/dt>\n<dd><p>The complete manual \u2014 for both WooCommerce and manual\/standalone use \u2014 is at https:\/\/softglaze.com\/docs\/pdf-invoices-plugin-for-woocommerce-and-manual. It walks through every feature above with step-by-step screenshots.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.28.3<\/h4>\n\n<ul>\n<li>Compliance field packs (seller VAT \/ GST \/ Tax-ID display and the EU reverse-charge note) now live under Settings, in the Documents tab, so they work on manual invoices and in standalone mode - not only when WooCommerce is active.<\/li>\n<li>Fresh installs no longer attach a packing slip to the New Order email by default, so an invoice-first store gets one document per order instead of two. Existing stores keep their current setting.<\/li>\n<\/ul>\n\n<h4>2.28.2<\/h4>\n\n<p>Housekeeping \u2014 no functional changes.\n* Pointed the in-plugin \"Documentation\" link to the plugin's own manual page.<\/p>\n\n<h4>2.28.1<\/h4>\n\n<p>Housekeeping \u2014 no functional changes.\n* Shortened the changelog shown on WordPress.org to the most recent releases (the complete history now lives in changelog.txt), keeping it within the directory's display limit.<\/p>\n\n<h4>2.28.0<\/h4>\n\n<p>Release \"CANVAS\" \u2014 a freeform drag-and-drop \/ resize page builder.\n* <strong>Design freeform documents<\/strong> \u2014 the template builder now has a <strong>Canvas<\/strong> mode alongside the classic <strong>Flow<\/strong> (stacked) mode. Drop blocks anywhere on the page, drag to move them, resize with corner and edge handles, nudge with the arrow keys, and layer them with bring-front \/ send-back. A logo top-right, an address bottom-left, a big status watermark across the middle, an items table sized to a region \u2014 however you want it.\n* <strong>What you lay out is what prints<\/strong> \u2014 blocks are positioned by percentage of the page, the exact same coordinates the PDF engine uses, and the live preview shows the real document as you design. Nothing runs off the page.\n* <strong>Opt-in and safe<\/strong> \u2014 every existing template stays in Flow mode and renders exactly as before; Canvas is a per-template choice you switch on. Built with a tiny in-house drag\/resize (no third-party libraries) and, like the rest of the plugin, makes zero external requests.<\/p>\n\n<h4>2.27.0<\/h4>\n\n<p>Release \"POLISH\" (part 6) \u2014 multi-language &amp; right-to-left documents.\n* <strong>Print documents in your customer's language<\/strong> \u2014 pick a default document language under Settings \u2192 Documents \u2192 Language &amp; direction, or set it per document (on the invoice editor and the WooCommerce order screen). The document labels \u2014 Invoice, Bill To, Subtotal, Tax, Total, and the rest \u2014 translate automatically. French, German, Spanish, Dutch, Italian, Portuguese and Hebrew are built in.\n* <strong>Right-to-left support<\/strong> \u2014 Hebrew (and other RTL languages) render the whole document right-to-left, using the bundled font, so no setup or extra fonts are needed.\n* <strong>Off by default, admin stays English<\/strong> \u2014 with no language chosen, documents render exactly as before. This affects the customer-facing PDF\/print only; your admin screens are unchanged. Makes zero external requests, like everything else. (Arabic isn't offered yet \u2014 the bundled PDF engine can't join Arabic letters correctly.)<\/p>\n\n<h4>2.26.0<\/h4>\n\n<p>Release \"POLISH\" (part 5) \u2014 WhatsApp Cloud API (server-send).\n* <strong>Send documents on WhatsApp from your server<\/strong> \u2014 an optional upgrade to the click-to-chat button. Connect your OWN Meta WhatsApp Business Cloud API and a green \"Send on WhatsApp now\" action appears on documents (Documents page and the order screen). One click delivers the document's secure share link straight to the customer \u2014 no need to open WhatsApp yourself.\n* <strong>Smart delivery<\/strong> \u2014 inside WhatsApp's 24-hour customer-service window it sends your editable session message; outside it, it automatically falls back to your pre-approved message template. Every send is a manual click \u2014 nothing is ever sent automatically.\n* <strong>Opt-in, private, and off by default<\/strong> \u2014 the free click-to-chat button still works with zero setup. Server-send stays completely inert until you enable it AND save your own credentials under Settings \u2192 Automations \u2192 WhatsApp Cloud API. Your access token is stored <strong>encrypted<\/strong> and never shown again; the only network request goes to your own Meta account (<code>graph.facebook.com<\/code>), and only when you click send. Existing sites are unaffected.<\/p>\n\n<h4>2.25.0<\/h4>\n\n<p>Release \"POLISH\" (part 4) \u2014 compliance field packs.\n* <strong>Seller tax IDs on documents<\/strong> \u2014 add your VAT, GST\/HST and a generic Tax ID in Settings \u2192 Company details, then switch them on per document type under Settings \u2192 Compliance field packs. They print in your company block alongside EIN \/ D-U-N-S. Off by default, so existing documents are unchanged.\n* <strong>EU reverse-charge note<\/strong> \u2014 print a reverse-charge statement (editable; defaults to the Art. 196 wording) on documents. In automatic mode it appears only where reverse charge actually applies \u2014 intra-EU B2B: your EU VAT number plus a VAT-registered customer in another EU country \u2014 or you can set it to always print on the enabled document types.\n* <strong>Note only, never touches your totals<\/strong> \u2014 the plugin states the compliance position; you stay in control of the VAT rate. Everything is opt-in per document type and makes zero external requests.<\/p>\n\n<h4>2.24.0<\/h4>\n\n<p>Release \"POLISH\" (part 3) \u2014 WhatsApp delivery (click-to-chat).\n* <strong>Send a document's link on WhatsApp<\/strong> \u2014 each generated document gets a <strong>WhatsApp<\/strong> button, both on the WooCommerce order screen and on the Documents manager. Click it and WhatsApp opens (app or web) with the customer's number and a message containing the document's secure share link, ready to send.\n* <strong>Zero setup, zero external requests<\/strong> \u2014 it uses WhatsApp's own <code>wa.me<\/code> click-to-chat, so there are no API keys, no configuration, and the plugin itself never contacts WhatsApp; your own WhatsApp does the sending. Nothing changes for existing sites until you click the button.\n* <strong>Smart phone handling<\/strong> \u2014 the recipient's number is taken from the order's billing phone (or the customer record) and turned into international format using the billing\/store country, so national-format numbers work; if a number can't be resolved, WhatsApp simply lets you pick the contact.<\/p>\n\n<h4>2.23.0<\/h4>\n\n<p>Release \"POLISH\" (part 2) \u2014 client acceptance (\"e-sign\").\n* <strong>\"Accept\" button on a document's share link<\/strong> \u2014 turn it on per document type (typically a proforma or quote) under Settings \u2192 Client acceptance. Off by default, so nothing changes for existing sites until you opt a type in.\n* <strong>Records who accepted<\/strong> \u2014 the client types their name, ticks an agreement box and accepts; their name, the date and time, and their IP address are recorded. It's a simple, honest online acceptance \u2014 clearly labelled as <strong>not<\/strong> a legally binding electronic signature.\n* <strong>Accepted stamp on the PDF<\/strong> \u2014 once accepted, every invoice design (all 10 stock layouts and your custom templates) shows an \"Accepted online by \u2026\" stamp. Two new template tags, <code>{accepted_by}<\/code> and <code>{accepted_on}<\/code>, are available in the builder.\n* <strong>Visible in the admin<\/strong> \u2014 a WooCommerce order shows who accepted each document on the order screen and logs a private order note; the share viewer shows the recorded acceptance in place of the button.\n* Still makes zero external requests: the whole flow is on your own site.<\/p>\n\n<h4>2.22.0<\/h4>\n\n<p>Release \"POLISH\" (part 1) \u2014 partial payments &amp; deposits.\n* <strong>Record partial payments \/ deposits<\/strong> against any document \u2014 each with a date, amount, method and note. On a manual invoice, a new Payments panel on the New \/ Edit invoice screen; on a WooCommerce order, a Payments box on the order screen (classic and HPOS), saved with the order.\n* <strong>Balance due on the PDF<\/strong> \u2014 once a payment is recorded, every invoice design (all 10 stock layouts and your custom templates) prints an Amount paid and Balance due pair beneath the total. Two new template tags, {amount_paid} and {balance_due}, are available in the builder.\n* <strong>Dashboard shows what's really outstanding<\/strong> \u2014 the \"Unpaid outstanding\" figure now counts the remaining balance (total minus payments received), not the gross total, so a half-paid invoice shows only what's still owed.\n* <strong>Respects the WooCommerce order status<\/strong> \u2014 balance due shows only on orders still awaiting payment (Pending \/ On hold); Processing and Completed count as paid, and cancelled \/ failed \/ refunded orders show no balance.\n* No behaviour changes for existing sites: a document with no recorded payment prints and counts exactly as before, and the feature still makes zero external requests.<\/p>\n\n<h4>2.21.1<\/h4>\n\n<p>Listing &amp; documentation update \u2014 no functional code changes.\n* Expanded the plugin description into a full, sectioned feature overview.\n* Grew the screenshot gallery from 7 to 30 \u2014 the dashboard, Documents manager, WooCommerce order screen, the visual template builder, System Check, Italian FatturaPA, cloud backup, the public invoice-builder pages (builder, My Account tab, standalone dashboard, sign-in) and every settings tab and setup-wizard step.\n* No change to code behaviour; existing sites are unaffected, and the plugin still makes zero external requests by default.<\/p>\n\n<h4>2.21.0<\/h4>\n\n<p>Release \"COMPLY\" (part 3) \u2014 Italian electronic invoicing (FatturaPA XML).\n* <strong>FatturaPA export<\/strong> \u2014 for Italian sellers, generate the official FatturaPA 1.2 XML (FPR12) for any invoice or credit note: a per-document \"FatturaPA XML\" button in the Documents table, plus a bulk \"Export FatturaPA\" that ZIPs every document matching your current filters.\n* <strong>Validated against the official schema<\/strong> \u2014 every file is checked against the Agenzia delle Entrate XSD (bundled locally) <em>before<\/em> it is offered for download, so you never get a malformed file. A new <strong>System Check \u2192 \"FatturaPA XML validates\"<\/strong> row confirms the pipeline at a glance.\n* <strong>New \"Italy\" settings tab<\/strong> \u2014 enter your Partita IVA, Codice Fiscale, Regime Fiscale, PEC, registered office (Sede) and transmitter details, plus a Natura code for zero-rated lines. Off by default; nothing Italian appears until you enable it.\n* <strong>Honest scope<\/strong> \u2014 this produces a compliant XML file for you to download. It does <strong>not<\/strong> transmit to the Sistema di Interscambio (SDI) \u2014 send it via your intermediary or the AdE portal. Where a document cannot be mapped cleanly (a customer with no Partita IVA \/ Codice Fiscale, a 0% line with no Natura mapping, an unsupported document type), the export is refused with a clear message rather than guessing. For Italian stores \u2014 verify the output with your commercialista before first transmission.\n* Still zero external requests: the schema is bundled and validated locally; the feature makes no network calls.<\/p>\n\n<h4>2.20.0<\/h4>\n\n<p>Release \"INSIGHT\" (part 3) \u2014 order fulfillment stages + document exports.\n* <strong>Fulfillment stages<\/strong> \u2014 track where each order is with a simple, safe flow: <em>In packaging \u2192 Dispatched \u2192 In transit \u2192 Delivered<\/em>. Set the stage from a dropdown on the order screen (in the Shipment info box) or inline in the Documents table. It's a parallel status that never touches WooCommerce's own order statuses, so it stays out of the way of every other plugin and automation.\n* <strong>Live stage counters<\/strong> \u2014 the dashboard shows how many orders sit in each stage right now (\"In packaging: 5 \u00b7 Dispatched: 3 \u00b7 In transit: 2\").\n* <strong>Optional stage emails<\/strong> \u2014 turn on a customer email for any stage (Settings \u2192 Automations \u2192 \"Fulfillment stage emails\"). Each is off by default and uses the same tag system as reminders, including the new <code>{stage}<\/code> tag and the shipment\/tracking tags \u2014 so the \"Dispatched\" email can carry the carrier and tracking link automatically.\n* <strong>On the paperwork<\/strong> \u2014 the current stage is printed on packing slips, and every stage change is logged as a private note on the order for a clean history.\n* <strong>Document exports<\/strong> \u2014 export the Documents list as <strong>CSV or XML<\/strong> for your accountant or bookkeeping tool; the export respects whatever filters (type, status, source, stage, date range, search) you have applied. Each document can also be exported as a single UBL-lite XML file (line items included). These are generic accounting exports and make no e-invoicing-compliance claim.\n* <strong>Expert option<\/strong> \u2014 advanced users can switch stages to <em>real<\/em> custom WooCommerce order statuses instead of the safe parallel meta (Settings \u2192 Advanced). Off by default, with the trade-offs spelled out on the screen.\n* No behaviour changes for existing sites: every new toggle is off by default, and the whole feature still makes zero external requests.<\/p>\n\n<h4>2.19.0<\/h4>\n\n<p>Release \"INSIGHT\" (part 2) \u2014 storefront analytics + guest builder.\n* <strong>Storefront visitor analytics (opt-in)<\/strong> \u2014 a privacy-first, local-only view of product-page and builder-page traffic, top-viewed products, and a daily trend, right on the dashboard. Aggregate day counts only \u2014 no personal data, no IP, no cookies, and zero external requests. Off by default.\n* <strong>Guest invoice builder<\/strong> \u2014 optionally let signed-out visitors use the public builder.<\/p>\n\n<h4>2.18.0<\/h4>\n\n<p>Release \"INSIGHT\" (part 1) \u2014 the Profit \/ Loss dashboard.\n* <strong>Profit \/ Loss at a glance<\/strong> \u2014 a redesigned dashboard with Revenue, Item costs, <strong>Gross profit<\/strong> and <strong>Margin %<\/strong>, Tax collected, Refunds and Unpaid outstanding, a month\/quarter\/year\/custom period switcher, inline charts, a monthly breakdown and top products \u2014 all exportable to CSV. Honestly labelled \"Gross profit (revenue \u2212 item costs)\": this is sales &amp; margin at a glance, not double-entry accounting.\n* <strong>Product cost prices<\/strong> \u2014 a \"Cost price\" field on the WooCommerce product screen feeds the margin maths (with a nudge for products still missing a cost).<\/p>\n\n<h4>2.17.0<\/h4>\n\n<p>Release \"FRONTEND\" (part 2) \u2014 a polished, mobile-first experience for the public builder.\n* <strong>Mobile-first everywhere<\/strong> \u2014 the builder, the invoices list, and the login\/register screens are fully responsive; on a phone the invoices table folds into tidy labelled cards with full-width, easy-to-tap actions.\n* <strong>A friendlier \"My invoices\"<\/strong> \u2014 search with clear, distinct empty states (nothing yet vs. no matches), a \"+ New invoice\" button, colour-coded status badges, a one-tap <strong>Copy<\/strong> button for share links, and confirmation before a delete.\n* <strong>Live preview, refined<\/strong> \u2014 the builder's preview shows an \"Updating\u2026\" status while it renders and a friendly placeholder on first paint, and quietly recovers from the occasional hiccup.\n* <strong>Toasts<\/strong> \u2014 short, unobtrusive on-screen confirmations (for example \"Share link copied\") that never get in the way, layered on top of the existing after-submit messages.\n* <strong>Self-contained accounts<\/strong> \u2014 a single, clean card with a Log in \/ Create account toggle where new users pick their own password and are signed straight in, plus an on-site \"Forgot your password?\" flow that emails a reset link and lets people choose a new password without ever seeing a WordPress login screen.\n* <strong>Your details, remembered<\/strong> \u2014 the builder now also saves your website, bank name and IBAN\/account number alongside your company details and logo, and fills them all in automatically the next time you create a document.\n* <strong>One dashboard for your customers<\/strong> \u2014 a new <code>[sgci_dashboard]<\/code> shortcode puts a user's invoices and a \"Create invoice\" builder together on one page as simple tabs, with a clean sign-out. Any logged-in user can create documents and sees only their own.\n* <strong>Merges into WooCommerce \u2192 My Account<\/strong> \u2014 when WooCommerce is active, an \"Invoices\" tab appears in My Account with the same view-and-create dashboard. A new setting (SoftGlaze Invoices \u2192 Settings \u2192 Frontend \u2192 \"User dashboard\") lets you choose where it lives: both the standalone page and the My Account tab (default), the My Account tab only, or the standalone page only. Without WooCommerce, the standalone page is always used.\n* <strong>Cross-linked pages<\/strong> \u2014 point the builder at your invoices page and vice-versa with simple shortcode attributes (<code>[sgci_invoice_builder my_invoices=\"\/my-invoices\/\"]<\/code> and <code>[sgci_my_invoices builder=\"\/create-invoice\/\"]<\/code>), so the \"New invoice\" button and the empty-state call-to-action just work.\n* The readme now walks you through assembling a complete standalone invoice-builder website from the shortcodes. No behaviour changes for existing sites \u2014 the frontend stays off until you switch it on, and the whole feature still makes zero external requests.<\/p>\n\n<h4>2.16.0<\/h4>\n\n<p>Release \"FRONTEND\" \u2014 a public invoice-builder site your visitors can use.\n* <strong>Four new shortcodes<\/strong> \u2014 <code>[sgci_invoice_builder]<\/code> (a full builder: your company details saved per user, client, line items, currency, design picker, a live preview, and Generate \u2192 PDF + share link), <code>[sgci_my_invoices]<\/code> (each user's own documents: search, download, duplicate, share, delete), and <code>[sgci_register]<\/code> \/ <code>[sgci_login]<\/code> (thin wrappers over WordPress accounts). Put one shortcode per page and you have a complete freeinvoicebuilder.com-style site \u2014 any membership plugin works alongside it.\n* <strong>Private by design<\/strong> \u2014 every document a visitor creates is owned by that visitor. One user can never see, download, or touch another user's invoices, and a direct link to someone else's document returns \"not found\".\n* <strong>A new \"Frontend\" settings tab<\/strong> \u2014 one master on\/off switch (a kill-switch that instantly hides every frontend page), which of your saved templates the builder may offer (un-ticked templates stay private), a documents-per-user-per-day limit (default 20), a preview-render rate limit, the default currency, and default terms text.\n* <strong>Safe by default on update<\/strong> \u2014 the builder is <strong>off<\/strong> on existing sites after updating (so no public surface appears unbidden) and on for brand-new installs. Every form is nonce- and honeypot-protected and rate-limited; uploaded logos go through WordPress media handling (images only, size-capped); and the whole feature makes zero external requests, like the rest of the plugin.<\/p>\n\n<p>For the changelog of earlier releases (2.5.0 through 2.15.1), see changelog.txt.<\/p>","raw_excerpt":"Generate professional PDF invoices, packing slips, proformas and credit notes from your WooCommerce orders \u2014 rendered 100% locally.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/343764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=343764"}],"author":[{"embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/softglaze"}],"wp:attachment":[{"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=343764"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=343764"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=343764"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=343764"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=343764"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ur.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=343764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}