[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fvDPotLmo-5cXPl7bfS4tUt-dGbJ5n7evsYteVB7ybgk":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":26,"vuln_count":27,"unpatched_count":28,"last_vuln_date":29,"fetched_at":30,"vulnerabilities":31,"developer":90,"crawl_stats":37,"alternatives":94,"analysis":198,"fingerprints":1089},"primer-mydata","Primer MyData for Woocommerce","4.3.0","primersoftware","https:\u002F\u002Fprofiles.wordpress.org\u002Fprimersoftware\u002F","\u003Cp>Convert your e-shop orders to legal receipts and invoices directly from your wordpress website! No external ERP, fiscal machine or cash register is required!\u003Cbr \u002F>\nOnly for Greek e-shops\u003Cbr \u002F>\nWorks with woocommerse\u003Cbr \u002F>\nCompatibility with other e-shops coming soon!\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Needs an active MyData subscription service to work. \u003Ca href=\"https:\u002F\u002Fprimer.gr\u002Fplugin\u002F\" rel=\"nofollow ugc\">Get MyData subscription here\u003C\u002Fa>\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Easy conversion of woocommerse orders to receipts\u002Finvoices\u003C\u002Fli>\n\u003Cli>No MyData setup is needed – Works out of the box!\u003C\u002Fli>\n\u003Cli>Free up time and cost from having to issue receipts\u002Finvoices manually\u003C\u002Fli>\n\u003Cli>No external ERP\u002Ffiscal machine\u002FCash Register required!\u003C\u002Fli>\n\u003Cli>No complicated connections with external software\u003C\u002Fli>\n\u003Cli>Plugin automatically understands and issues the correct document (receipt\u002Finvoice\u002Finvoice within E.U.\u002Finvoice outside E.U.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Plugin is free (Needs MyData service to work)\u003C\u002Fli>\n\u003Cli>Orders management\u003C\u002Fli>\n\u003Cli>Receipts Management\u003C\u002Fli>\n\u003Cli>Issue Receipts\u002FInvoices\u002FInvoices within E.U.\u002FInvoices outside E.U.\u003C\u002Fli>\n\u003Cli>Manual conversion of orders to receipts\u002Finvoices\u003C\u002Fli>\n\u003Cli>Automatic conversion of orders to receipts\u002Finvoices based on rules (when order status is “x”, issue receipt)\u003C\u002Fli>\n\u003Cli>Connection to Primer MyData services\u003C\u002Fli>\n\u003Cli>Automatically send receipt\u002Finvoice to email to the client using Primer Email servers\u003C\u002Fli>\n\u003Cli>Checkout options (Receipt\u002FInvoice)\u003C\u002Fli>\n\u003Cli>Smtp options and Email builder – send the receipt your way!\u003C\u002Fli>\n\u003Cli>Automatically export receipts\u002Finvoices to email\u002Fserver\u003C\u002Fli>\n\u003Cli>Connection with external software using export can be automated\u003C\u002Fli>\n\u003Cli>Automatic MyData characterizations\u003C\u002Fli>\n\u003Cli>Invoice\u002FReceipt templates\u003C\u002Fli>\n\u003Cli>Test environment to emulate the sending to AADE before sending to production environment\u003C\u002Fli>\n\u003Cli>Easy to use interface\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English \u003C\u002Fli>\n\u003Cli>Greek\u003C\u002Fli>\n\u003C\u002Ful>\n","Issue legal receipts automatically directly from your wordpress using MyData provider Services.",100,8365,84,11,"2025-12-18T19:35:00.000Z","6.9.4","5.3","7.4",[20,21,22,4,23],"greece","invoices","mydata","receipts","http:\u002F\u002Fprimer.gr\u002Fplugin\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprimer-mydata.4.3.0.zip",95,4,0,"2026-02-09 00:00:00","2026-03-15T15:16:48.613Z",[32,48,63,78],{"id":33,"url_slug":34,"title":35,"description":36,"plugin_slug":4,"theme_slug":37,"affected_versions":38,"patched_in_version":39,"severity":40,"cvss_score":41,"cvss_vector":42,"vuln_type":43,"published_date":29,"updated_date":44,"references":45,"days_to_patch":47},"CVE-2025-69325","primer-mydata-for-woocommerce-unauthenticated-path-traversal","Primer MyData for Woocommerce \u003C= 4.2.8 - Unauthenticated Path Traversal","The Primer MyData for Woocommerce plugin for WordPress is vulnerable to Path Traversal in all versions up to, and including, 4.2.8. This makes it possible for unauthenticated attackers to perform actions on files outside of the originally intended directory.",null,"\u003C=4.2.8","4.2.9","medium",5.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:N\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')","2026-02-17 15:10:38",[46],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Fabeb13ac-d835-4e02-baaf-30e8dc4bd86b?source=api-prod",9,{"id":49,"url_slug":50,"title":51,"description":52,"plugin_slug":4,"theme_slug":37,"affected_versions":53,"patched_in_version":54,"severity":40,"cvss_score":55,"cvss_vector":56,"vuln_type":57,"published_date":58,"updated_date":59,"references":60,"days_to_patch":62},"CVE-2025-53575","primer-mydata-for-woocommerce-cross-site-request-forgery","Primer MyData for Woocommerce \u003C= 4.2.5 - Cross-Site Request Forgery","The Primer MyData for Woocommerce plugin for WordPress is vulnerable to Cross-Site Request Forgery in all versions up to, and including, 4.2.5. This is due to missing or incorrect nonce validation on a function. This makes it possible for unauthenticated attackers to perform an unauthorized action granted they can trick a site administrator into performing an action such as clicking on a link.","\u003C=4.2.5","4.2.6",4.3,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:U\u002FC:N\u002FI:L\u002FA:N","Cross-Site Request Forgery (CSRF)","2025-08-14 00:00:00","2025-08-18 20:34:49",[61],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002F9e3e009d-85bc-4ed3-a298-fa1484cb4694?source=api-prod",5,{"id":64,"url_slug":65,"title":66,"description":67,"plugin_slug":4,"theme_slug":37,"affected_versions":68,"patched_in_version":69,"severity":40,"cvss_score":70,"cvss_vector":71,"vuln_type":72,"published_date":73,"updated_date":74,"references":75,"days_to_patch":77},"CVE-2025-30924","primer-mydata-for-woocommerce-reflected-cross-site-scripting-2","Primer MyData for Woocommerce \u003C 4.2.4 - Reflected Cross-Site Scripting","The Primer MyData for Woocommerce plugin for WordPress is vulnerable to Reflected Cross-Site Scripting in versions up to 4.2.4 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C4.2.4","4.2.4",6.1,"CVSS:3.1\u002FAV:N\u002FAC:L\u002FPR:N\u002FUI:R\u002FS:C\u002FC:L\u002FI:L\u002FA:N","Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","2025-03-27 00:00:00","2025-04-02 20:13:58",[76],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Ffbdf2216-82a9-4a89-8a18-9d5667b7d29d?source=api-prod",7,{"id":79,"url_slug":80,"title":81,"description":82,"plugin_slug":4,"theme_slug":37,"affected_versions":83,"patched_in_version":84,"severity":40,"cvss_score":70,"cvss_vector":71,"vuln_type":72,"published_date":85,"updated_date":86,"references":87,"days_to_patch":89},"CVE-2024-11809","primer-mydata-for-woocommerce-reflected-cross-site-scripting","Primer MyData for Woocommerce \u003C= 4.2.1 - Reflected Cross-Site Scripting","The Primer MyData for Woocommerce plugin for WordPress is vulnerable to Reflected Cross-Site Scripting via the 'img_src' parameter in all versions up to, and including, 4.2.1 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that execute if they can successfully trick a user into performing an action such as clicking on a link.","\u003C=4.2.1","4.2.2","2024-12-12 16:14:36","2024-12-13 04:23:27",[88],"https:\u002F\u002Fwww.wordfence.com\u002Fthreat-intel\u002Fvulnerabilities\u002Fid\u002Faca092cf-9482-468e-8dd4-af04e25bcf33?source=api-prod",1,{"slug":7,"display_name":7,"profile_url":8,"plugin_count":89,"total_installs":11,"avg_security_score":26,"avg_patch_time_days":91,"trust_score":92,"computed_at":93},6,97,"2026-04-04T07:01:50.380Z",[95,115,137,154,174],{"slug":96,"name":97,"version":98,"author":99,"author_profile":100,"description":101,"short_description":102,"active_installs":103,"downloaded":104,"rating":28,"num_ratings":28,"last_updated":105,"tested_up_to":106,"requires_at_least":107,"requires_php":18,"tags":108,"homepage":112,"download_link":113,"security_score":26,"vuln_count":89,"unpatched_count":28,"last_vuln_date":114,"fetched_at":30},"oxygen-mydata","Oxygen MyData for WooCommerce","2.0.40","oxygensuite","https:\u002F\u002Fprofiles.wordpress.org\u002Foxygensuite\u002F","\u003Cp>Automatically issue invoices & receipts from your eshop.\u003C\u002Fp>\n\u003Cp>Connecting the eshop (woocommerce) with your Oxygen ERP is now an extremely useful tool for your business. This interface permits the optimization of all operations and saves valuable time.\u003C\u002Fp>\n\u003Cp>Oxygen offers a complete solution with the Oxygen WooCommerce plugin, which allows eshops to be connected with Oxygen Pelatologio ERP using an API Key.\u003C\u002Fp>\n\u003Cp>With the woocommerce plugin from Oxygen you can:\u003C\u002Fp>\n\u003Cp>-Transfer orders from eshop to ERP\u003Cbr \u002F>\n-Automatically create customer contacts from eshop to Oxygen\u003Cbr \u002F>\n-Automatically issue of receipts and invoices in Oxygen without additional ECR (using the myData provider)\u003Cbr \u002F>\n-View and automatically send PDF documents to customers\u003Cbr \u002F>\n-Manage order status\u003Cbr \u002F>\n-NEW:Set document payment status (e.g. “Paid”) based on WooCommerce payment method\u003Cbr \u002F>\n-NEW:Issue intra-community invoices (EU customers)\u003Cbr \u002F>\n-NEW:Select to issue only retail receipts (not invoices)\u003Cbr \u002F>\n-NEW: Ability to select Oxygen Checkout for card billing\u003C\u002Fp>\n\u003Cp>\u003Cstrong>An account with https:\u002F\u002Fwww.pelatologio.gr\u002F is required.\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Ch3>Notes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Ensure WooCommerce is active before using this plugin.\u003C\u002Fli>\n\u003Cli>You must have an account in pelatologio app\u003C\u002Fli>\n\u003C\u002Ful>\n","Automate your WooCommerce store and accounting by syncing orders and more between WooCommerce and Oxygen Suite.",200,20817,"2026-02-09T10:52:00.000Z","6.8.5","5.5",[21,109,22,110,111],"invoices-greece","oxygen","woocommerce-invoices","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Foxygen-mydata\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Foxygen-mydata.2.0.40.zip","2025-04-09 00:00:00",{"slug":116,"name":117,"version":118,"author":119,"author_profile":120,"description":121,"short_description":122,"active_installs":123,"downloaded":124,"rating":125,"num_ratings":126,"last_updated":127,"tested_up_to":16,"requires_at_least":128,"requires_php":129,"tags":130,"homepage":134,"download_link":135,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":136},"wp-accounts","Web:D Accounts","1.9.7","Oliver Campion","https:\u002F\u002Fprofiles.wordpress.org\u002Fdomainsupport\u002F","\u003Ch4>Manage your accounts in WordPress\u003C\u002Fh4>\n\u003Cp>If you are a UK company that is not VAT registered, you may want to use our plugin …\u003C\u002Fp>\n\u003Cp>This plugin does the following:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Manages your clients and their contact details\u003C\u002Fli>\n\u003Cli>Allows you to raise invoices and receipts\u003C\u002Fli>\n\u003Cli>View client statements\u003C\u002Fli>\n\u003Cli>Manage your payments \u002F bookkeeping\u003C\u002Fli>\n\u003Cli>Send invoices and receipts to clients via email\u003C\u002Fli>\n\u003Cli>Style email invoices \u002F receipts\u003C\u002Fli>\n\u003Cli>Download HTML statements\u003C\u002Fli>\n\u003Cli>Download CSV reports\u003C\u002Fli>\n\u003Cli>Assign a client to a WordPress user account so they can view their account statements\u003C\u002Fli>\n\u003Cli>Integrate with WooCommerce to allow clients to pay by Paypal, Stripe etc\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>When installed you will be able to manage your company accounts from within your WordPress website.\u003C\u002Fp>\n\u003Cp>We have built this plugin for a UK based company that is not VAT registered. If you’d like us to develop it further to fit your business, contact us!\u003C\u002Fp>\n","Manage your Clients, Invoices, Receipts and Payments. Send Invoices and Receipts to clients via email.",10,7120,74,3,"","4.6","6.2",[131,132,21,133,23],"accounting","bookkeeping","payments","https:\u002F\u002Fwebd.uk\u002Fsupport\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-accounts.1.9.7.zip","2026-03-15T10:48:56.248Z",{"slug":138,"name":139,"version":140,"author":141,"author_profile":142,"description":143,"short_description":144,"active_installs":28,"downloaded":145,"rating":28,"num_ratings":28,"last_updated":127,"tested_up_to":16,"requires_at_least":146,"requires_php":147,"tags":148,"homepage":152,"download_link":153,"security_score":11,"vuln_count":28,"unpatched_count":28,"last_vuln_date":37,"fetched_at":136},"kitgenix-pdf-invoicing-for-woocommerce","Kitgenix PDF Invoicing for WooCommerce","1.0.5","Kitgenix","https:\u002F\u002Fprofiles.wordpress.org\u002Fkitgenix\u002F","\u003Cp>Most WooCommerce stores eventually need proper order documents.\u003C\u002Fp>\n\u003Cp>You might need a PDF invoice for accounting, a receipt for the customer, a packing slip for fulfilment, or a credit note when a refund is issued. You also want documents that look professional, match your branding, and work reliably across WooCommerce email flows.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Kitgenix PDF Invoicing for WooCommerce\u003C\u002Fstrong> is a lightweight, security-first PDF invoicing plugin that generates WooCommerce order PDFs on demand — without heavy background queues, and without filling your uploads folder with permanently stored PDFs.\u003C\u002Fp>\n\u003Cp>It’s built around practical store requirements:\u003Cbr \u002F>\n– Stable document identifiers\u002Fnumbering history (so regenerated PDFs stay consistent)\u003Cbr \u002F>\n– Secure Dompdf rendering defaults (chrooted paths, remote disabled by default, PHP in templates disabled by default)\u003Cbr \u002F>\n– Theme template overrides and developer hooks\u003Cbr \u002F>\n– Clean admin preview\u002Fdownload workflow on the order screen\u003Cbr \u002F>\n– Customer “My Account” download buttons and order table actions (optional)\u003Cbr \u002F>\n– Configurable WooCommerce email attachments that clean up temp files automatically\u003C\u002Fp>\n\u003Ch4>Important: Dompdf dependency\u003C\u002Fh4>\n\u003Cp>This plugin uses \u003Cstrong>Dompdf\u003C\u002Fstrong> (installed as a Composer dependency). If you are building from source, you must run Composer so the \u003Ccode>vendor\u002F\u003C\u002Fcode> directory (Dompdf) is present. The WordPress.org release includes the required library.\u003C\u002Fp>\n\u003Ch4>Documents generated (built-in types)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Invoice (PDF)\u003C\u002Fli>\n\u003Cli>Receipt (PDF)\u003C\u002Fli>\n\u003Cli>Packing Slip (PDF)\u003C\u002Fli>\n\u003Cli>Credit Note (PDF) (only available when refunds exist)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Document types are registered in a document registry and can be extended via filters.\u003C\u002Fp>\n\u003Ch4>Why store owners choose Kitgenix PDF Invoicing\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Secure by default\u003C\u002Fstrong>\u003Cbr \u002F>\n– Dompdf configured with strict defaults:\u003Cbr \u002F>\n  – chroot limited to allowed paths\u003Cbr \u002F>\n  – remote resource fetching disabled by default\u003Cbr \u002F>\n  – PHP execution inside templates disabled by default (opt-in only)\u003Cbr \u002F>\n– All admin\u002Fcustomer download actions are protected with nonces and permission checks.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>No bloat\u003C\u002Fstrong>\u003Cbr \u002F>\n– PDFs are generated only when needed.\u003Cbr \u002F>\n– Email attachments are created as temporary files and automatically cleaned up at shutdown.\u003Cbr \u002F>\n– No custom database tables.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Built for WooCommerce documents\u003C\u002Fstrong>\u003Cbr \u002F>\n– Refund-aware credit notes\u003Cbr \u002F>\n– Email attachment mapping\u003Cbr \u002F>\n– Customer download links in the right places\u003Cbr \u002F>\n– Store-friendly templates and template override system\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Modular + extensible\u003C\u002Fstrong>\u003Cbr \u002F>\nModules (Admin \u002F Settings \u002F Invoicing \u002F Email \u002F Frontend) are registered through a module manager and can be filtered for extension.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Ch3>Admin settings (branding, numbering, styles)\u003C\u002Fh3>\n\u003Cp>Settings page under the shared Kitgenix menu includes:\u003Cbr \u002F>\n– Company name, address, email\u002Fphone, tax ID\u003Cbr \u002F>\n– Logo upload (WordPress media)\u003Cbr \u002F>\n– Footer text and customer notes\u002Ffooter notes\u003Cbr \u002F>\n– Document prefixes:\u003Cbr \u002F>\n  – Invoice prefix\u003Cbr \u002F>\n  – Receipt prefix\u003Cbr \u002F>\n  – Credit note prefix\u003Cbr \u002F>\n– Template style selector (Standard \u002F Simple \u002F Modern \u002F Business)\u003Cbr \u002F>\n– Colour settings:\u003Cbr \u002F>\n  – Primary colour\u003Cbr \u002F>\n  – Accent colour\u003Cbr \u002F>\n  – Text colour\u003Cbr \u002F>\n  – Muted text colour\u003Cbr \u002F>\n  – Border colour\u003Cbr \u002F>\n  – Table header background\u003Cbr \u002F>\n  – Document background\u003Cbr \u002F>\n  – Footer background\u003Cbr \u002F>\n  – Footer text colour\u003C\u002Fp>\n\u003Ch3>Admin order meta box (preview + PDF downloads)\u003C\u002Fh3>\n\u003Cp>On WooCommerce order edit screens the plugin adds document actions:\u003Cbr \u002F>\n– Download Invoice (PDF)\u003Cbr \u002F>\n– Download Packing Slip (PDF)\u003Cbr \u002F>\n– Download Receipt (PDF)\u003Cbr \u002F>\n– Download Credit Note (PDF) (only shown when refunds exist)\u003C\u002Fp>\n\u003Cp>Endpoints are secured using nonce + capability checks.\u003C\u002Fp>\n\u003Ch3>Stable document identifiers & history\u003C\u002Fh3>\n\u003Cp>For documents that require stable numbering (invoices\u002Fcredit notes), the plugin persists document identifiers and relevant timestamps on first generation so the document remains consistent over time.\u003C\u002Fp>\n\u003Ch3>Secure Dompdf PDF rendering\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Renders HTML templates into PDF (A4 portrait by default)\u003C\u002Fli>\n\u003Cli>Remote fetching disabled by default\u003C\u002Fli>\n\u003Cli>Dompdf “chroot” restricts filesystem access to allowed paths\u003C\u002Fli>\n\u003Cli>PHP in templates disabled by default (advanced opt-in only)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Template overrides (theme and agency friendly)\u003C\u002Fh3>\n\u003Cp>Templates can be overridden without editing plugin files.\u003C\u002Fp>\n\u003Cp>Template resolution order:\u003Cbr \u002F>\n1) Full override via filter\u003Cbr \u002F>\n2) Theme override path:\u003Cbr \u002F>\n  kitgenix-pdf-invoicing-for-woocommerce\u002F{style}\u002F\u003Cbr \u002F>\n3) Plugin templates fallback:\u003Cbr \u002F>\n  templates\u002F{style}\u002F\u003C\u002Fp>\n\u003Cp>Where \u003Ccode>{style}\u003C\u002Fcode> is the active template pack selected in settings: \u003Ccode>standard\u003C\u002Fcode>, \u003Ccode>simple\u003C\u002Fcode>, \u003Ccode>modern\u003C\u002Fcode>, or \u003Ccode>business\u003C\u002Fcode>.\u003Cbr \u002F>\nFor compatibility, the resolver also checks \u003Ccode>...\u002Fstandard\u002F\u003C\u002Fcode> and legacy root locations if a file is not found.\u003C\u002Fp>\n\u003Ch3>Customer downloads (My Account)\u003C\u002Fh3>\n\u003Cp>Optional customer-facing downloads for the order owner:\u003Cbr \u002F>\n– Order details page buttons:\u003Cbr \u002F>\n  – Download Invoice (PDF)\u003Cbr \u002F>\n  – Download Credit Note (PDF) (only when refunds exist)\u003Cbr \u002F>\n– My Account \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Orders table actions:\u003Cbr \u002F>\n  – View Invoice\u003Cbr \u002F>\n  – View Credit Note (when refunds exist)\u003C\u002Fp>\n\u003Cp>Customer downloads are nonce-protected and\u002For can be validated by order key for guest access (see “Download permissions”).\u003C\u002Fp>\n\u003Ch3>Download permissions & security\u003C\u002Fh3>\n\u003Cp>PDF rendering supports secure query-arg requests:\u003Cbr \u002F>\n– kitgenix_pdf=1\u003Cbr \u002F>\n– kitgenix_doc={type}\u003Cbr \u002F>\n– order_id={id}\u003Cbr \u002F>\n– _wpnonce=…\u003C\u002Fp>\n\u003Cp>Guest access (without a nonce) is permitted only when a valid WooCommerce order key is provided:\u003Cbr \u002F>\n– key= or order_key= must match the order’s key\u003C\u002Fp>\n\u003Cp>Default per-document rules:\u003Cbr \u002F>\n– Invoice + Receipt:\u003Cbr \u002F>\n  – order owner OR shop staff OR valid order key\u003Cbr \u002F>\n– Packing Slip:\u003Cbr \u002F>\n  – shop staff only (by default)\u003Cbr \u002F>\n– Credit Note:\u003Cbr \u002F>\n  – staff OR order owner (only if refunds exist) OR valid order key (only if refunds exist)\u003C\u002Fp>\n\u003Cp>Final permission gate is filterable.\u003C\u002Fp>\n\u003Ch3>Email attachments (configurable)\u003C\u002Fh3>\n\u003Cp>Attach PDFs to WooCommerce emails using settings and filters.\u003Cbr \u002F>\nThe plugin hooks WooCommerce’s email attachment pipeline, generates PDFs as temporary files for each email, attaches them, and cleans up automatically.\u003C\u002Fp>\n\u003Cp>Sensible defaults (customisable):\u003Cbr \u002F>\n– Invoice: Processing + Completed\u003Cbr \u002F>\n– Receipt: Completed\u003Cbr \u002F>\n– Credit Note: Refunded\u003Cbr \u002F>\n– Packing Slip: New Order (admin email)\u003C\u002Fp>\n\u003Ch3>Filenames, streaming vs download\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Default filename: {type}-{order_number}.pdf (filterable)\u003C\u002Fli>\n\u003Cli>Streams inline by default (Attachment=false), unless filtered to force download\u003C\u002Fli>\n\u003Cli>Generates temporary files for email attachments, cleaned up automatically\u003C\u002Fli>\n\u003Cli>Tracks simple generation metrics in an option (counts successful generations)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Customisation hooks (HTML\u002FCSS\u002Foutput)\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Full HTML filter\u003C\u002Fli>\n\u003Cli>Wrapper hooks before\u002Fafter document\u003C\u002Fli>\n\u003Cli>Custom CSS injection hook\u003C\u002Fli>\n\u003Cli>Language attribute filter\u003C\u002Fli>\n\u003Cli>Document title\u002Fbody class filters\u003C\u002Fli>\n\u003Cli>“Show shipping address” toggle filter\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Quick Start\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Install and activate the plugin (WooCommerce required).\u003C\u002Fli>\n\u003Cli>Open any WooCommerce order in wp-admin.\u003C\u002Fli>\n\u003Cli>In the Kitgenix PDF Invoicing meta box, click “Download Invoice (PDF)” to confirm output.\u003C\u002Fli>\n\u003Cli>Configure settings:\n\u003Cul>\n\u003Cli>branding + company details\u003C\u002Fli>\n\u003Cli>prefixes\u003C\u002Fli>\n\u003Cli>email attachments mapping\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>Optional: enable customer downloads and order table actions.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>To customise layout, copy templates into your theme override folder and edit them.\u003C\u002Fp>\n\u003Ch3>Template Overrides\u003C\u002Fh3>\n\u003Col>\n\u003Cli>\n\u003Cp>Copy templates from:\u003Cbr \u002F>\ntemplates\u002F{style}\u002F\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Paste into your theme at:\u003Cbr \u002F>\nkitgenix-pdf-invoicing-for-woocommerce\u002F{style}\u002F\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>Edit the theme copies.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>The plugin will automatically use your theme templates instead of bundled templates.\u003C\u002Fp>\n\u003Ch3>Developers\u003C\u002Fh3>\n\u003Cp>Text domain:\u003Cbr \u002F>\nkitgenix-pdf-invoicing-for-woocommerce\u003C\u002Fp>\n\u003Cp>Architecture:\u003Cbr \u002F>\n– Modular plugin with Admin\u002FSettings\u002FInvoicing\u002FEmail\u002FFrontend modules\u003Cbr \u002F>\n– Document types registry (extendable)\u003Cbr \u002F>\n– Template system with theme overrides + HTML\u002FCSS filters\u003Cbr \u002F>\n– Secure download endpoints with nonce\u002Fcapability checks and optional order key validation\u003C\u002Fp>\n\u003Cp>Key filters:\u003Cbr \u002F>\n– kitgenix_pdf_invoicing_modules\u003Cbr \u002F>\n– kitgenix_pdf_document_types\u003Cbr \u002F>\n– kitgenix_pdf_document_enabled\u003Cbr \u002F>\n– kitgenix_pdf_document_user_can_download\u003Cbr \u002F>\n– kitgenix_pdf_document_filename\u003Cbr \u002F>\n– kitgenix_pdf_invoice_filename (back-compat)\u003Cbr \u002F>\n– kitgenix_pdf_document_attachment (inline vs download)\u003Cbr \u002F>\n– kitgenix_pdf_document_template_path\u003Cbr \u002F>\n– kitgenix_pdf_document_html\u003Cbr \u002F>\n– kitgenix_pdf_invoice_html (back-compat)\u003Cbr \u002F>\n– kitgenix_pdf_document_custom_css\u003Cbr \u002F>\n– kitgenix_pdf_document_lang\u003Cbr \u002F>\n– kitgenix_pdf_document_title\u003Cbr \u002F>\n– kitgenix_pdf_document_body_class\u003Cbr \u002F>\n– kitgenix_pdf_show_shipping_address\u003Cbr \u002F>\n– kitgenix_pdf_email_document_map\u003Cbr \u002F>\n– kitgenix_pdf_email_attach_document\u003Cbr \u002F>\n– kitgenix_dompdf_enable_php (advanced; default false)\u003C\u002Fp>\n\u003Cp>Key actions:\u003Cbr \u002F>\n– kitgenix_before_stream_pdf_document\u003Cbr \u002F>\n– kitgenix_after_stream_pdf_document\u003Cbr \u002F>\n– kitgenix_before_stream_pdf_invoice (back-compat)\u003Cbr \u002F>\n– kitgenix_after_stream_pdf_invoice (back-compat)\u003Cbr \u002F>\n– Template hooks:\u003Cbr \u002F>\n  – kitgenix_pdf_before_document \u002F kitgenix_pdf_after_document\u003Cbr \u002F>\n  – kitgenix_pdf_before_document_wrapper \u002F kitgenix_pdf_after_document_wrapper\u003Cbr \u002F>\n  – kitgenix_pdf_after_notes\u003Cbr \u002F>\n  – kitgenix_pdf_after_order_data_rows\u003C\u002Fp>\n\u003Ch3>Data Handling\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>Plugin settings stored in a single option: \u003Ccode>kitgenix_pdf_invoicing_settings\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Anonymous generation metrics stored in: \u003Ccode>kitgenix_pdf_invoicing_for_woocommerce_metrics\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Document identifiers\u002Fhistory stored on the order to keep documents stable:\n\u003Cul>\n\u003Cli>\u003Ccode>_kitgenix_pdf_invoicing_for_woocommerce_invoice_number\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>_kitgenix_pdf_invoicing_for_woocommerce_invoice_date\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>_kitgenix_pdf_invoicing_for_woocommerce_receipt_number\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>_kitgenix_pdf_invoicing_for_woocommerce_receipt_date\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>_kitgenix_pdf_invoicing_for_woocommerce_credit_note_count\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Ccode>_kitgenix_pdf_invoicing_for_woocommerce_credit_note_history\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>PDFs generated on demand (temporary files).\u003C\u002Fli>\n\u003Cli>Email attachments generated as temp files and cleaned up automatically.\u003C\u002Fli>\n\u003Cli>No custom database tables created.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Security & Privacy\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>All admin actions protected with nonces and capability checks.\u003C\u002Fli>\n\u003Cli>Inputs sanitised; outputs escaped appropriately.\u003C\u002Fli>\n\u003Cli>Dompdf PHP execution disabled by default. Enable only if you understand the risk:\u003Cbr \u002F>\nadd_filter( ‘kitgenix_dompdf_enable_php’, ‘__return_true’ );\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Security identifiers (exact):\u003Cbr \u002F>\n– Admin meta box downloads use \u003Ccode>admin-post.php\u003C\u002Fcode> actions \u003Ccode>kitgenix_admin_stream_invoice\u003C\u002Fcode>, \u003Ccode>kitgenix_admin_stream_receipt\u003C\u002Fcode>, \u003Ccode>kitgenix_admin_stream_packing_slip\u003C\u002Fcode>, \u003Ccode>kitgenix_admin_stream_credit_note\u003C\u002Fcode>, protected by query arg \u003Ccode>nonce\u003C\u002Fcode> created\u002Fverified with nonce action \u003Ccode>kitgenix_admin_pdf\u003C\u002Fcode>.\u003Cbr \u002F>\n– WordPress action hooks for those admin-post actions: \u003Ccode>admin_post_kitgenix_admin_stream_invoice\u003C\u002Fcode>, \u003Ccode>admin_post_kitgenix_admin_stream_receipt\u003C\u002Fcode>, \u003Ccode>admin_post_kitgenix_admin_stream_packing_slip\u003C\u002Fcode>, \u003Ccode>admin_post_kitgenix_admin_stream_credit_note\u003C\u002Fcode>.\u003Cbr \u002F>\n– Frontend document downloads use the optional \u003Ccode>_wpnonce\u003C\u002Fcode> value created\u002Fverified with nonce action \u003Ccode>kitgenix_download_{doc_type}_{order_id}\u003C\u002Fcode>.\u003Cbr \u002F>\n– WooCommerce order action key: \u003Ccode>kitgenix_download_pdf_invoice\u003C\u002Fcode> (hook: \u003Ccode>woocommerce_order_action_kitgenix_download_pdf_invoice\u003C\u002Fcode>).\u003C\u002Fp>\n\u003Cp>Admin page hook suffix:\u003Cbr \u002F>\n– \u003Ccode>kitgenix_page_kitgenix-pdf-invoicing-settings\u003C\u002Fcode>\u003C\u002Fp>\n\u003Cp>PDF generation is performed locally on your server using Dompdf. This plugin does not send customer data to a third-party PDF generation API.\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin includes a shared “Kitgenix hub” component in wp-admin which may fetch publicly available plugin metadata from WordPress.org using WordPress core’s \u003Ccode>plugins_api()\u003C\u002Fcode> function.\u003C\u002Fp>\n\u003Cp>Caching:\u003Cbr \u002F>\n– Transient: \u003Ccode>kitgenix_hub_wporg_active_installs_v1\u003C\u002Fcode>\u003Cbr \u002F>\n– Transient: \u003Ccode>kitgenix_hub_wporg_ratings_v1\u003C\u002Fcode>\u003C\u002Fp>\n\u003Ch3>Uninstall\u003C\u002Fh3>\n\u003Cp>Uninstall removes the plugin settings option (\u003Ccode>kitgenix_pdf_invoicing_settings\u003C\u002Fcode>) and metrics option (\u003Ccode>kitgenix_pdf_invoicing_for_woocommerce_metrics\u003C\u002Fcode>) when uninstalled via WordPress.\u003Cbr \u002F>\nIt also deletes the activation redirect transient: \u003Ccode>kitgenix_pdf_invoicing_for_woocommerce_do_activation_redirect\u003C\u002Fcode>.\u003Cbr \u002F>\nOrder meta and document history are intentionally preserved to avoid accidental loss of invoice\u002Fcredit note history.\u003C\u002Fp>\n\u003Ch3>Support Development\u003C\u002Fh3>\n\u003Cp>If this plugin helps you generate clean WooCommerce PDFs and reduces admin work, you can support ongoing development here:\u003Cbr \u002F>\nhttps:\u002F\u002Fbuymeacoffee.com\u002Fkitgenix\u003C\u002Fp>\n\u003Ch3>Credits\u003C\u002Fh3>\n\u003Cp>Built with ❤︎ by @kitgenix – https:\u002F\u002Fkitgenix.com\u003Cbr \u002F>\nBundled library: Dompdf (see vendor\u002F for licenses)\u003C\u002Fp>\n","Generate PDF invoices, receipts, packing slips and credit notes for WooCommerce. Overrides, customer downloads, and configurable email attachments.",284,"6.0","8.1",[21,149,150,23,151],"packing-slips","pdf","woocommerce","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fkitgenix-pdf-invoicing-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fkitgenix-pdf-invoicing-for-woocommerce.1.0.5.zip",{"slug":155,"name":156,"version":157,"author":158,"author_profile":159,"description":160,"short_description":161,"active_installs":162,"downloaded":163,"rating":11,"num_ratings":164,"last_updated":165,"tested_up_to":16,"requires_at_least":166,"requires_php":18,"tags":167,"homepage":169,"download_link":170,"security_score":171,"vuln_count":172,"unpatched_count":28,"last_vuln_date":173,"fetched_at":30},"woocommerce-pdf-invoices-packing-slips","PDF Invoices & Packing Slips for WooCommerce","5.8.2","WP Overnight","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpovernight\u002F","\u003Cp>This WooCommerce extension automatically adds a PDF or XML invoice (e-invoicing) to the order confirmation emails sent out to your customers. Includes a basic template (additional templates are available from \u003Ca href=\"https:\u002F\u002Fwpovernight.com\u002Fdownloads\u002Fwoocommerce-pdf-invoices-packing-slips-bundle\u002F\" rel=\"nofollow ugc\">WP Overnight\u003C\u002Fa>) as well as the possibility to modify\u002Fcreate your own templates. In addition, you can choose to download or print invoices and packing slips from the WooCommerce order admin.\u003C\u002Fp>\n\u003Ch4>Main features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatically attach invoice PDF or XML to WooCommerce emails of your choice\u003C\u002Fli>\n\u003Cli>Download the PDF or XML Invoice \u002F PDF Packing Slip from the order admin page\u003C\u002Fli>\n\u003Cli>Choose from a range of e‑document formats: UBL 2.1, Peppol BIS 3.0, CII D16B, Factur‑X 1.0, ZUGFeRD 1.0, and ZUGFeRD 2.0.\u003C\u002Fli>\n\u003Cli>Generate PDF invoices \u002F packing slips in bulk\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Fully customizable\u003C\u002Fstrong> HTML\u002FCSS invoice templates\u003C\u002Fli>\n\u003Cli>Download invoices from the My Account page\u003C\u002Fli>\n\u003Cli>Sequential invoice numbers\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Available in:\u003C\u002Fstrong> Czech, Dutch, English, Finnish, French, German, Hungarian, Italian, Japanese (see FAQ for adding custom fonts!), Norwegian, Portuguese, Polish, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish & Ukrainian\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Free extensions\u003C\u002Fh4>\n\u003Cp>The following free extensions are available to add additional features to the plugin:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwpovernight\u002Fwoocommerce-pdf-ips-mpdf\" rel=\"nofollow ugc\">PDF Invoices & Packing Slips for WooCommerce – mPDF\u003C\u002Fa>\u003C\u002Fstrong>: Adds support for RTL layout and Arabic script.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwpovernight\u002Fwoocommerce-pdf-ips-mpdf-cjk\" rel=\"nofollow ugc\">PDF Invoices & Packing Slips for WooCommerce – mPDF CJK\u003C\u002Fa>\u003C\u002Fstrong>: Provides support for Chinese, Japanese, and Korean (CJK) fonts for the mPDF extension.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwpovernight\u002Fwoocommerce-pdf-ips-unicode\" rel=\"nofollow ugc\">PDF Invoices & Packing Slips for WooCommerce – Unicode Language Pack\u003C\u002Fa>\u003C\u002Fstrong>: Adds support for Chinese, Japanese, and Korean scripts.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fwpovernight\u002Fwcpdf-taxes-summary\" rel=\"nofollow ugc\">PDF Invoices & Packing Slips for WooCommerce – Taxes Summary\u003C\u002Fa>\u003C\u002Fstrong>: Adds a taxes summary table after the order details.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Premium extensions\u003C\u002Fh4>\n\u003Cp>In addition to this, we offer several premium extensions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Create\u002Femail PDF Proforma Invoices, Credit Notes (for Refunds), email Packing Slips, automatic upload to Dropbox, Google Drive & more with \u003Ca href=\"https:\u002F\u002Fwpovernight.com\u002Fdownloads\u002Fwoocommerce-pdf-invoices-packing-slips-professional\u002F\" rel=\"nofollow ugc\">PDF Invoices & Packing Slips for WooCommerce Professional\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Get the complete feature set, including \u003Cstrong>Professional\u003C\u002Fstrong>, \u003Cstrong>Premium Templates\u003C\u002Fstrong>, and additional features with the \u003Ca href=\"https:\u002F\u002Fwpovernight.com\u002Fdownloads\u002Fwoocommerce-pdf-invoices-packing-slips-bundle\u002F\" rel=\"nofollow ugc\">WooCommerce PDF Invoices & Packing Slips Plus Bundle\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Add Peppol network delivery for WooCommerce invoices and credit notes right inside your invoicing workflow. \u003Ca href=\"https:\u002F\u002Fwpovernight.com\u002Fdownloads\u002Fwoocommerce-edocuments-peppol\u002F\" rel=\"nofollow ugc\">eDocuments for WooCommerce: Peppol\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Automatically send new orders or packing slips to your printer as soon as the customer orders! \u003Ca href=\"https:\u002F\u002Fwpovernight.com\u002Fdownloads\u002Fwoocommerce-automatic-order-printing-printnode\u002F\" rel=\"nofollow ugc\">WooCommerce Automatic Order Printing (PrintNode)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Enable EU VAT number collection, automatic validation and reverse-charge logic right in your WooCommerce store. \u003Ca href=\"https:\u002F\u002Fwpovernight.com\u002Fdownloads\u002Fwoocommerce-eu-vat-compliance\u002F\" rel=\"nofollow ugc\">WooCommerce European (EU\u002FUK\u002FNorway\u002FSwitzerland) VAT Compliance\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Fully customizable\u003C\u002Fh4>\n\u003Cp>In addition to a number of default settings (including a custom header\u002Flogo) and several layout fields that you can use out of the box, the plugin contains HTML\u002FCSS-based templates that allow for customization & full control over the PDF output. Copy the templates to your theme folder and you don’t have to worry that your customizations will be overwritten when you update the plugin.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Insert customer header image\u002Flogo\u003C\u002Fli>\n\u003Cli>Modify shop data \u002F footer \u002F disclaimer etc. on the invoices & packing slips\u003C\u002Fli>\n\u003Cli>Select paper size (Letter or A4)\u003C\u002Fli>\n\u003Cli>Translation ready\u003C\u002Fli>\n\u003C\u002Ful>\n","Create, print & automatically email PDF or XML Invoices & PDF Packing Slips for WooCommerce orders.",300000,21452882,1842,"2026-03-03T09:43:00.000Z","4.4",[21,149,150,168,151],"ubl","https:\u002F\u002Fwpovernight.com\u002Fdownloads\u002Fwoocommerce-pdf-invoices-packing-slips-bundle\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwoocommerce-pdf-invoices-packing-slips.5.8.2.zip",88,12,"2026-02-17 17:18:34",{"slug":175,"name":176,"version":177,"author":178,"author_profile":179,"description":180,"short_description":181,"active_installs":182,"downloaded":183,"rating":184,"num_ratings":185,"last_updated":186,"tested_up_to":16,"requires_at_least":187,"requires_php":188,"tags":189,"homepage":194,"download_link":195,"security_score":196,"vuln_count":91,"unpatched_count":28,"last_vuln_date":197,"fetched_at":30},"print-invoices-packing-slip-labels-for-woocommerce","WebToffee WooCommerce PDF Invoices, Packing Slips, Delivery Notes & Shipping Labels","4.9.3","WebToffee","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebtoffee\u002F","\u003Cp>With the WebToffee WooCommerce PDF Invoices and Packing Slips plugin, your customers receive PDF invoices and packing slips automatically attached to their order confirmation emails. The plugin includes a customizable invoice template to get you started, and offers flexibility to edit or create your own WooCommerce custom invoice templates. You can easily download or print WooCommerce invoice PDFs, packing slips and shipping labels right from your WooCommerce order admin.\u003C\u002Fp>\n\u003Cp>Additionally, the WooCommerce invoice PDF and print packing slip plugin enables you to generate UBL and XML invoices, helping streamline your order fulfillment process.\u003C\u002Fp>\n\u003Ch3>PDF Invoices & Packing Slips for WooCommerce: An Overview\u003C\u002Fh3>\n\u003Cp>WooCommerce Print PDF Invoices and Packing Slips Plugin helps generate PDF invoices, packing lists \u002F packing slips, delivery notes, dispatch labels and shipping labels from the WooCommerce orders page. WooCommerce, by default, doesn’t allow you to print any of these documents from your orders page.\u003C\u002Fp>\n\u003Cp>Beyond invoices and packing slips, the plugin makes it easy to create and print WooCommerce delivery notes that include essential details such as order items, customer information and shipping addresses. These documents help ensure accurate and smooth order handovers.\u003C\u002Fp>\n\u003Cp>This free WooCommerce invoice plugin helps streamline your WordPress shipping and order fulfillment processes.\u003C\u002Fp>\n\u003Ch3>Why WebToffee’s WooCommerce PDF Invoices Plugin is the Best Alternative to Free Invoice Generators?\u003C\u002Fh3>\n\u003Cp>Free invoice generators \u003Cstrong>lack PDF support, branding options, and tax compliance features.\u003C\u002Fstrong> Their automation capabilities for WooCommerce PDF invoices and order documents are also very limited, offering little flexibility in managing WooCommerce invoice workflows.\u003C\u002Fp>\n\u003Cp>WebToffee’s plugin \u003Cstrong>automates professional WooCommerce PDF invoice creation, supports UBL and XML formats, and includes packing slips, shipping labels, and delivery notes for complete order documentation.\u003C\u002Fstrong> From generating and attaching to printing WooCommerce invoices, every step can be automated in just a few clicks with WebToffee’s powerful WooCommerce invoice generator.\u003C\u002Fp>\n\u003Ch3>Features of WooCommerce PDF Invoices & Packing Slips Plugin\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Supported documents\u003C\u002Fstrong>: Creates and prints following PDF documents from WooCommerce order page.\u003Cbr \u002F>\n• WooCommerce order invoices\u003Cbr \u002F>\n• WooCommerce Packing slips\u003Cbr \u002F>\n• WooCommerce Shipping labels\u003Cbr \u002F>\n• WooCommerce Delivery notes\u003Cbr \u002F>\n• WooCommerce Dispatch labels\u003Cbr \u002F>\n• WooCommerce Credit Notes (Pro)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Download PDF invoice and packing slips\u003C\u002Fstrong>: Easily download PDF invoices and packing slips from your WooCommerce order admin page. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Generate UBL Invoices\u003C\u002Fstrong>: Generate and print UBL and XML invoices for WooCommerce orders.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customize free PDf invoice templates\u003C\u002Fstrong>: Personalize your invoice template by adding your store logo, store name, and VAT, etc. Once configured, these details will automatically appear on all future WooCommerce invoice PDFs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customize and print WooCommerce shipping labels\u003C\u002Fstrong>: Create and customize WooCommerce shipping labels with barcodes, tracking numbers, and more. \u003C\u002Fli>\n\u003Cli>\u003Cstrong>Option to bulk print\u003C\u002Fstrong>: Bulk download and print WooCommerce invoices and labels from orders page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Send printable invoice PDF by email\u003C\u002Fstrong>: Enable stores to send printable PDF invoices by email.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Generate UBL Invoices\u003C\u002Fstrong>: Generate and print UBL and XML invoices for WooCommerce orders.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Print WooCommerce invoice from My-Account page:\u003C\u002Fstrong> Allow logged-in customers to print their Woo invoice PDFs from the My-Account page.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Choose invoice template\u003C\u002Fstrong>: Choose from classic and standard invoice templates.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Auto-generate invoice numbers\u003C\u002Fstrong>: Automatically create invoice numbers using your preferred format. Choose to use the WooCommerce order number or a custom sequence, and easily add prefixes, suffixes, and set the number length for a sequential & professional PDF invoices.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configure company ‘From Address’ \u003C\u002Fstrong>: You can set the base address of the store which will be used in the label as the shipping from address.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Preview before printing\u003C\u002Fstrong>: This feature allows you to view what a printed invoice label would look like on the screen before printing a hard copy.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Support for RTL and Unicode languages\u003C\u002Fstrong>: A free \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmpdf-addon-for-pdf-invoices\u002F\" rel=\"ugc\">add-on\u003C\u002Fa>\u003C\u002Fstrong> with the plugin will provide full compatibility with any RTL or unicode languages like Hebrew, Arabic etc. The add-on is equipped to handle almost 12 RTL languages including most of the Asian languages.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Disable invoices for free orders \u003C\u002Fstrong>: Option to disable generating WooCommerce PDF invoices for free orders.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display\u002Fhide free line items\u003C\u002Fstrong>: Option to display\u002Fhide free line items in the invoice PDFs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Show tax info easily in documents\u003C\u002Fstrong>: Our plugin provides inbuilt support for all the major tax related plugins by populating pre-defined meta keys such _billing_vat, _billing_vat_number, _billing_eu_vat_number. As a result, it will be easier for you to display tax on invoices and other documents.\u003C\u002Fli>\n\u003Cli>\u003Cstrong> Custom PDF file names for invoices\u003C\u002Fstrong>: Assign custom PDF filenames for PDF invoices with prefix, order number etc.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Read detailed instructions on how to set up the plugin in the \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fwoocommerce-pdf-invoices-packing-slips-delivery-notes-shipping-labels-userguide-free-version\u002F\" rel=\"nofollow ugc\">PDF invoice setup guide\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>You can also check out this video to get a quick understanding of the plugin.\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002Fmg2Ad5L5Ds4?version=3&rel=0&showsearch=0&showinfo=0&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Ch3>Why Are WooCommerce Invoice PDFs and Packing Lists Important?\u003C\u002Fh3>\n\u003Cp>Including an invoice PDF and packing list with your shipped package is not just a good practice – it’s essential. These documents confirm the contents of the package, provide your contact information, and include critical purchase details, ensuring a smooth transaction for both you and your customer.\u003C\u002Fp>\n\u003Cp>For international sales, many countries require invoices as part of their standard shipping regulations. These invoice PDFs must include key order details, such as your company name and address, the customer’s billing address, and a detailed breakdown of the order, including taxes and totals.\u003C\u002Fp>\n\u003Cp>Beyond compliance, these documents enhance customer experience by adding a human touch and serving as an additional communication channel between you and your buyer.\u003C\u002Fp>\n\u003Cp>✅ Tested OK with WooCommerce 10.5.3\u003Cbr \u002F>\n✅ Tested OK up to PHP 8.2\u003C\u002Fp>\n\u003Ch3>Third Party Compatibility\u003C\u002Fh3>\n\u003Cp>The plugin is compatible with the following third party plugins\u002Fthemes:\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Feu-vat-number\u002F\" rel=\"nofollow ugc\">EU VAT Number – WooCommerce\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Faelia.co\u002Fshop\u002Feu-vat-assistant-woocommerce\u002F\" rel=\"nofollow ugc\">WooCommerce EU VAT Assistant. Aelia\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fplugintheme.net\u002Fshop\u002Fwoocommerce-tm-extra-product-options\u002F\" rel=\"nofollow ugc\">WooCommerce Extra Product Options by TM\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fcodecanyon.net\u002Fitem\u002Fwoocommerce-extra-product-options\u002F7908619\" rel=\"nofollow ugc\">Extra Product Options by Theme complete\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fvillatheme.com\u002Fextensions\u002Fwoo-multi-currency\u002F\" rel=\"nofollow ugc\">Multi-Currency for WooCommerce, by VillaTheme\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fpluginus.net\u002Fshop\u002Fwordpress-plugins\u002Fwoocommerce\u002Fwoocommerce-currency-switcher\u002F\" rel=\"nofollow ugc\">WOOCS – WooCommerce Currency Switcher\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fsequential-order-numbers-pro\u002F\" rel=\"nofollow ugc\">Sequential Order Numbers by Skyverge\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fean-for-woocommerce\u002F\" rel=\"ugc\">EAN, UPC, ISBN Generator: Product Barcode Inventory for WooCommerce\u003C\u002Fa>\u003Cbr \u002F>\n• \u003Ca href=\"https:\u002F\u002Fwoocommerce.com\u002Fproducts\u002Fwebtoffee-sequential-order-numbers\u002F\" rel=\"nofollow ugc\">WebToffee Sequential Order Numbers for WooCommerce\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Recommended WooCommerce Invoices Add-ons\u003C\u002Fh3>\n\u003Cp>For better Unicode and RTL language support for all the generated documents, we highly recommend using the below free add-on with our PDF Invoices, Packing slips, Delivery notes, and Shipping label plugin for WooCommerce.\u003Cbr \u002F>\n\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fmpdf-addon-for-pdf-invoices\u002F\" title=\"RTL and Unicode language add-on for PDF invoice plugin by WebToffee\" rel=\"ugc\">mPDF add-on for PDF Invoices, Packing Slips, Delivery Notes and Shipping Labels by WebToffee\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>To add QR code in WooCommerce invoices we would recommend you to use below add-on plugin that reads order number, invoice number or other custom details: \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fqr-code-addon-for-woocommerce-pdf-invoices\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=QR_Code\" rel=\"nofollow ugc\">QR Code Add-on for WooCommerce PDF Invoices by WebToffee\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Premium Add-ons for WooCommerce Invoices and Other Documents\u003C\u002Fh3>\n\u003Cp>The premium version of the PDF Invoices, Packing slips, Delivery notes, and Shipping Labels premium plugin is available in five variations.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-pdf-invoices-packing-slips\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=PDF_invoice\" rel=\"nofollow ugc\">WooCommerce PDF Invoices, Packing Slips & Credit Notes Plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fcustomizer-for-woocommerce-pdf-invoice\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=PDF_Customizer\" rel=\"nofollow ugc\">Customizer for WooCommerce Invoices Plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-shipping-labels-delivery-notes\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Shipping_Label\" rel=\"nofollow ugc\">WooCommerce Shipping Labels, Dispatch Labels & Delivery Notes Plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-address-label\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Address_Label\" rel=\"nofollow ugc\">WooCommerce Address Labels Plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-picklist\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Picklist\" rel=\"nofollow ugc\">WooCommerce Picklists Plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-proforma-invoice\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Proforma_Invoice\" rel=\"nofollow ugc\">WooCommerce Proforma Invoices Plugin\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You only have to install the plugin that offers the documents that are required for you.\u003C\u002Fp>\n\u003Ch3>Key Features of WooCommerce Invoices Plugin & Premium Add-ons\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli> Multiple WooCommerce invoice templates to choose from!\u003C\u002Fli>\n\u003Cli> In addition to visual editor, the Pro features code editors to customize and personalize the WooCommerce invoice layouts\u003C\u002Fli>\n\u003Cli> Various packing options – Box Packing, Single package per order & Pack items individually\u003C\u002Fli>\n\u003Cli> Option to email WooCommerce order documents to your customer\u003C\u002Fli>\n\u003Cli> WPML compatible. FR(French), DE(German), DK(Danish) etc.\u003C\u002Fli>\n\u003Cli> Support for Unicode and RTL languages with mPDF add-on\u003C\u002Fli>\n\u003Cli> Block-based invoice editor customization option\u003C\u002Fli>\n\u003Cli> Timely compatibility updates and bug fixes\u003C\u002Fli>\n\u003Cli> Premium Support: Faster and time bound response for support requests\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Ch3>WooCommerce PDF Invoices, Packing Slips & Credit Notes Plugin Premium Features\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli> Creates and prints WooCommerce PDF invoices and packing slips\u003C\u002Fli>\n\u003Cli> Let your customers pay later by adding ‘Pay Now’ link to invoice [New]\u003C\u002Fli>\n\u003Cli> Customize Woocommerce invoice numbers\u003C\u002Fli>\n\u003Cli> Enable code customizations for WooCommerce invoice documents\u003C\u002Fli>\n\u003Cli> Automate, create and attach credit note to the ‘Refund’ email\u003C\u002Fli>\n\u003Cli> Generate custom reports of invoices, packing slips, and credit notes as ZIP\u003C\u002Fli>\n\u003Cli> Customize the display of bundled product\u003C\u002Fli>\n\u003Cli> Integrate VAT or any other tax details like GST, ABN to invoices and other documents\u003C\u002Fli>\n\u003Cli> Auto-reset invoice number every year\u003C\u002Fli>\n\u003Cli> PrintNode Integration for remote printing invoices and packing slips\u003C\u002Fli>\n\u003Cli> Add custom fields to WooCommerce documents\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cp>For the complete list of features and details check out the \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-pdf-invoices-packing-slips\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=PDF_invoice\" rel=\"nofollow ugc\">WooCommerce PDF Invoices, Packing Slips & Credit Notes plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>WooCommerce Print Shipping Labels, Dispatch Labels & WooCommerce Delivery Notes Plugin Premium Features\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli> Auto generate WooCommerce delivery notes, shipping labels & dispatch labels\u003C\u002Fli>\n\u003Cli> Add multiple shipping labels on one page\u003C\u002Fli>\n\u003Cli> Add additional product & order meta fields and attributes\u003C\u002Fli>\n\u003Cli> Customize size of WooCommerce shipping labels\u003C\u002Fli>\n\u003Cli> Enable code customizations for WooCommerce shipping documents\u003C\u002Fli>\n\u003Cli> Add a ‘Print’ button to the order status emails sent out from the store\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cp>Check out the full details of the \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-shipping-labels-delivery-notes\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Shipping_Label\" rel=\"nofollow ugc\">WooCommerce Print Shipping Labels, Dispatch Labels & Delivery Notes plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>WooCommerce Address Labels Plugin Premium Features\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli> Generate and print address labels for all orders\u003C\u002Fli>\n\u003Cli> Supports  ‘Shipping Address’, ‘Billing Address’, ‘From Address’, and ‘Return Address’ labels\n\u003C\u002Fli>\n\u003Cli> Customize label sizes \u003C\u002Fli>\n\u003Cli> Change address label layout \u003C\u002Fli>\n\u003Cli> Customize layout elements \u003C\u002Fli>\n\u003Cli> Enable code customizations for WooCommerce address labels\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cp>Refer to the \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-address-label\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Address_Label\" rel=\"nofollow ugc\">WooCommerce Address Labels plugin\u003C\u002Fa> page for full details.\u003C\u002Fp>\n\u003Ch3>WooCommerce Picklists Plugin Premium Features\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli> Create or customize picklist templates and attach them to order status emails\u003C\u002Fli>\n\u003Cli> Add product meta fields (SSN, VAT, etc.) and attributes to WooCommerce picklists\u003C\u002Fli>\n\u003Cli> Group products in picklist by order\u002Fcategory\u003C\u002Fli>\n\u003Cli> Enable code customizations for WooCommerce picklists\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cp>Take a look at the \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-picklist\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Picklist\" rel=\"nofollow ugc\">WooCommerce Picklists plugin\u003C\u002Fa> page to know more.\u003C\u002Fp>\n\u003Ch3>WooCommerce Proforma Invoices Plugin Premium Features\u003C\u002Fh3>\n\u003Cblockquote>\n\u003Cul>\n\u003Cli> Create proforma invoices automatically and attach them to order status emails\u003C\u002Fli>\n\u003Cli> Set custom proforma invoice number\u003C\u002Fli>\n\u003Cli> Use the WooCommerce order number as the proforma invoice number\u003C\u002Fli>\n\u003Cli> Group the products in WooCommerce proforma invoices by category\u003C\u002Fli>\n\u003Cli> Add additional details such as special notes, transport terms, and sales terms\u003C\u002Fli>\n\u003Cli> Enable code customizations for WooCommerce pro forma invoices\u003C\u002Fli>\n\u003Cli> Add due date to proforma invoices\u003C\u002Fli>\n\u003Cli> Add custom footer to proforma invoices\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fblockquote>\n\u003Cp>Know more about the plugin and its features from \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-proforma-invoice\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=Proforma_Invoice\" rel=\"nofollow ugc\">WooCommerce Proforma Invoices plugin\u003C\u002Fa> page.\u003C\u002Fp>\n\u003Ch3>Print PDF invoices, packing slips, shipping labels, and more\u003C\u002Fh3>\n\u003Cp>Every store needs to send out PDF invoices to their customers. This WooCommerce PDF invoice and packing slips plugin helps store owners to automatically create PDF invoices, packing slips, shipping labels and other necessary order fulfillment documents and print them easily.\u003C\u002Fp>\n\u003Cp>Our WooCommerce invoice generator has the feature to customize all the fields you need to display on the invoices and other documents. Apart from this, you can add your own style to these order fulfillment documents to make it look appealing to your brand.\u003C\u002Fp>\n\u003Ch3>About WebToffee\u003C\u002Fh3>\n\u003Cp>WebToffee creates quality WordPress\u002FWooCommerce plugins that are easy to use and customize. We are proud to have thousands of customers actively using our plugins across the globe.\u003C\u002Fp>\n\u003Ch3>Our Flagship Cookie Consent Plugin\u003C\u002Fh3>\n\u003Cp>WebToffee’s \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fgdpr-cookie-consent\u002F?utm_source=free_plugin_readme&utm_medium=pdf_invoice&utm_campaign=GDPR\" rel=\"nofollow ugc\">GDPR Cookie Consent Plugin by WebToffee\u003C\u002Fa> is a leading solution for implementing cookie compliance on WordPress and WooCommerce websites. As a certified Google CMP Partner, the plugin ensures adherence to GDPR, CCPA, and other privacy laws.\u003C\u002Fp>\n\u003Cp>Key features of the plugin include customizable cookie banners, automated cookie scanning, and advanced consent management tailored to different geolocations.\u003C\u002Fp>\n","Auto-generate and attach WooCommerce PDF invoices and packing slips to order emails with customizable templates & bulk print options.",60000,2422907,98,280,"2026-03-04T09:17:00.000Z","3.0.1","5.6",[149,190,191,192,193],"shipping-label","woocommerce-invoice","woocommerce-pdf-invoices","woocommerce-print-invoice","https:\u002F\u002Fwww.webtoffee.com\u002Fproduct\u002Fwoocommerce-pdf-invoices-packing-slips\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fprint-invoices-packing-slip-labels-for-woocommerce.4.9.3.zip",96,"2025-01-24 00:00:00",{"attackSurface":199,"codeSignals":580,"taintFlows":773,"riskAssessment":1075,"analyzedAt":1088},{"hooks":200,"ajaxHandlers":448,"restRoutes":543,"shortcodes":553,"cronEvents":554,"entryPointCount":562,"unprotectedCount":579},[201,207,212,216,220,224,227,229,232,236,241,245,249,253,256,259,263,269,273,275,280,282,286,289,292,294,296,298,300,302,304,306,309,312,315,318,321,324,326,329,332,335,338,341,344,346,349,352,355,359,362,364,367,369,371,374,377,380,382,384,387,389,392,397,400,404,408,412,416,418,422,426,427,429,434,437,440,444],{"type":202,"name":203,"callback":204,"file":205,"line":206},"action","admin_head","theme_xyz_header_metadata","admin\\class-primer-admin.php",1410,{"type":202,"name":208,"callback":209,"file":210,"line":211},"admin_menu","menu","admin\\includes\\primer-admin-options.php",46,{"type":202,"name":213,"callback":214,"file":210,"line":215},"wp_print_scripts","data_include_script",47,{"type":202,"name":217,"callback":218,"priority":123,"file":210,"line":219},"cmb2_render_email_wildcards","cmb2_render_email_wildcards_field_callback",62,{"type":202,"name":213,"callback":221,"file":222,"line":223},"_list_table_css","admin\\includes\\primer-admin-receipt-log-automation-table.php",23,{"type":202,"name":213,"callback":221,"file":225,"line":226},"admin\\includes\\primer-admin-receipt-log-table.php",21,{"type":202,"name":213,"callback":221,"file":228,"line":226},"admin\\includes\\primer-admin-receipt-table.php",{"type":202,"name":213,"callback":221,"file":230,"line":231},"admin\\includes\\primer-admin-table.php",27,{"type":202,"name":233,"callback":234,"file":230,"line":235},"admin_footer","fetch_primer_script",1066,{"type":202,"name":237,"callback":238,"file":239,"line":240},"primer_cron_save_settings","primer_save_automation_data","includes\\class-primer-cron.php",17,{"type":202,"name":242,"callback":243,"priority":89,"file":239,"line":244},"primer_cron_process","convert_order_to_invoice",18,{"type":202,"name":246,"callback":247,"priority":89,"file":239,"line":248},"primer_cron_process_failed","convert_order_to_invoice_failed",19,{"type":202,"name":250,"callback":251,"priority":89,"file":239,"line":252},"primer_cron_process_credit_failed","primer_cancel_invoice_cron",20,{"type":202,"name":237,"callback":254,"file":239,"line":255},"primer_save_export_data",22,{"type":202,"name":257,"callback":258,"file":239,"line":223},"primer_cron_export_process","export_invoice_to_report",{"type":202,"name":260,"callback":261,"priority":89,"file":239,"line":262},"primer_cron_primer_license_remaining","primer_cron_license_remaining",26,{"type":202,"name":264,"callback":265,"priority":266,"file":267,"line":268},"primer_loaded","primer_call_shared_class",2,"includes\\class-primer-settings.php",15,{"type":202,"name":270,"callback":270,"file":271,"line":272},"admin_notices","includes\\class-primer-smtp.php",16,{"type":202,"name":274,"callback":274,"file":271,"line":240},"wp_mail_failed",{"type":202,"name":276,"callback":277,"file":278,"line":279},"admin_enqueue_scripts","anonymous","includes\\class-primer.php",180,{"type":202,"name":276,"callback":277,"file":278,"line":281},181,{"type":283,"name":284,"callback":277,"file":278,"line":285},"filter","cmb2_script_dependencies",182,{"type":283,"name":287,"callback":277,"file":278,"line":288},"admin_body_class",183,{"type":202,"name":290,"callback":277,"file":278,"line":291},"init",185,{"type":202,"name":290,"callback":277,"file":278,"line":293},186,{"type":202,"name":290,"callback":277,"file":278,"line":295},187,{"type":202,"name":290,"callback":277,"file":278,"line":297},188,{"type":202,"name":290,"callback":277,"file":278,"line":299},189,{"type":202,"name":290,"callback":277,"file":278,"line":301},190,{"type":202,"name":290,"callback":277,"file":278,"line":303},191,{"type":202,"name":276,"callback":277,"file":278,"line":305},192,{"type":202,"name":307,"callback":277,"file":278,"line":308},"wp_enqueue_scripts",193,{"type":283,"name":310,"callback":277,"file":278,"line":311},"woocommerce_admin_billing_fields",195,{"type":202,"name":313,"callback":277,"file":278,"line":314},"woocommerce_admin_order_data_after_order_details",196,{"type":202,"name":316,"callback":277,"file":278,"line":317},"woocommerce_process_shop_order_meta",197,{"type":283,"name":319,"callback":277,"file":278,"line":320},"woocommerce_found_customer_details",198,{"type":283,"name":322,"callback":277,"file":278,"line":323},"woocommerce_customer_meta_fields",199,{"type":283,"name":325,"callback":277,"file":278,"line":103},"woocommerce_order_formatted_billing_address",{"type":283,"name":327,"callback":277,"file":278,"line":328},"woocommerce_formatted_address_replacements",201,{"type":283,"name":330,"callback":277,"file":278,"line":331},"default_checkout_shipping_country",202,{"type":283,"name":333,"callback":277,"file":278,"line":334},"woocommerce_my_account_my_orders_actions",203,{"type":202,"name":336,"callback":277,"file":278,"line":337},"manage_shop_order_posts_custom_column",204,{"type":202,"name":339,"callback":277,"file":278,"line":340},"manage_woocommerce_page_wc-orders_custom_column",205,{"type":202,"name":342,"callback":277,"file":278,"line":343},"admin_init",206,{"type":283,"name":270,"callback":277,"file":278,"line":345},207,{"type":283,"name":347,"callback":277,"file":278,"line":348},"wp_delete_post",208,{"type":283,"name":350,"callback":277,"file":278,"line":351},"cron_schedules",209,{"type":202,"name":353,"callback":277,"file":278,"line":354},"woocommerce_new_order",210,{"type":283,"name":356,"callback":357,"priority":123,"file":278,"line":358},"woocommerce_get_wp_query_args","closure",211,{"type":202,"name":360,"callback":277,"file":278,"line":361},"woocommerce_thankyou",221,{"type":202,"name":360,"callback":277,"file":278,"line":363},222,{"type":202,"name":365,"callback":277,"file":278,"line":366},"woocommerce_checkout_process",223,{"type":202,"name":353,"callback":277,"file":278,"line":368},224,{"type":202,"name":353,"callback":277,"file":278,"line":370},225,{"type":283,"name":372,"callback":277,"file":278,"line":373},"woocommerce_billing_fields",251,{"type":202,"name":375,"callback":357,"priority":123,"file":278,"line":376},"cmb2_save_field",256,{"type":202,"name":378,"callback":277,"file":278,"line":379},"primer_head",300,{"type":202,"name":307,"callback":277,"file":278,"line":381},301,{"type":202,"name":307,"callback":277,"file":278,"line":383},302,{"type":283,"name":385,"callback":277,"file":278,"line":386},"single_template",305,{"type":202,"name":290,"callback":357,"priority":268,"file":278,"line":388},349,{"type":202,"name":264,"callback":390,"file":391,"line":14},"primer_call_invoice_class","includes\\receipt\\class-primer-invoice.php",{"type":283,"name":393,"callback":394,"priority":123,"file":395,"line":396},"woocommerce_my_subscriptions_payment_method","maybe_render_subscription_payment_method","payments\\class-primer-payment-gateway.php",68,{"type":202,"name":307,"callback":398,"priority":123,"file":395,"line":399},"enqueue_custom_order_pay_script",69,{"type":202,"name":401,"callback":402,"file":395,"line":403},"wp","piraeusbank_message",71,{"type":283,"name":405,"callback":406,"priority":123,"file":395,"line":407},"woocommerce_thankyou_order_received_text","piraeusbank_success_message",121,{"type":202,"name":409,"callback":410,"file":411,"line":91},"rest_api_init","piraeus_create_route","payments\\includes\\class-primer-payments-gateway-actions.php",{"type":283,"name":413,"callback":414,"file":411,"line":415},"woocommerce_payment_gateways","add_primer_payment_gateway",8,{"type":202,"name":276,"callback":417,"file":411,"line":47},"transaction_log_scripts",{"type":202,"name":419,"callback":420,"file":421,"line":262},"woocommerce_api_wc_piraeusbank_gateway","check_piraeusbank_response","payments\\includes\\class-primer-payments-gateway-functions.php",{"type":283,"name":423,"callback":424,"priority":123,"file":425,"line":91},"woocommerce_subscription_payment_meta","add_subscription_payment_meta","payments\\includes\\class-primer-payments-gateway-helpers.php",{"type":202,"name":401,"callback":402,"file":425,"line":77},{"type":283,"name":405,"callback":406,"priority":123,"file":425,"line":428},309,{"type":202,"name":430,"callback":431,"file":432,"line":433},"plugins_loaded","run_primer","primer.php",91,{"type":202,"name":270,"callback":435,"file":432,"line":436},"primer_error_notice",93,{"type":202,"name":365,"callback":438,"file":432,"line":439},"billing_phone_field_process",348,{"type":202,"name":441,"callback":442,"file":432,"line":443},"woocommerce_product_options_general_product_data","product_types_select",358,{"type":202,"name":445,"callback":446,"file":432,"line":447},"woocommerce_process_product_meta","product_types_select_save",377,[449,455,458,461,464,467,470,473,476,479,482,485,488,491,494,497,499,501,504,507,509,512,516,517,520,522,523,525,526,528,529,532,534,536,538,541],{"action":450,"nopriv":451,"callback":452,"hasNonce":453,"hasCapCheck":453,"file":205,"line":454},"primer_make_full_refund",false,"primer_make_refund_from_page",true,1516,{"action":456,"nopriv":451,"callback":456,"hasNonce":451,"hasCapCheck":451,"file":210,"line":457},"create_primer_the_zip_file",48,{"action":459,"nopriv":451,"callback":459,"hasNonce":451,"hasCapCheck":451,"file":210,"line":460},"primer_export_receipt_to_html",49,{"action":462,"nopriv":451,"callback":462,"hasNonce":451,"hasCapCheck":451,"file":210,"line":463},"primer_resend_receipt_to_customer",50,{"action":465,"nopriv":451,"callback":465,"hasNonce":451,"hasCapCheck":451,"file":210,"line":466},"primer_cancel_invoice",51,{"action":468,"nopriv":451,"callback":468,"hasNonce":451,"hasCapCheck":451,"file":210,"line":469},"primer_smtp_settings",52,{"action":471,"nopriv":451,"callback":471,"hasNonce":451,"hasCapCheck":451,"file":210,"line":472},"primer_system_settings",53,{"action":474,"nopriv":451,"callback":474,"hasNonce":451,"hasCapCheck":451,"file":210,"line":475},"primer_insert_license",54,{"action":477,"nopriv":451,"callback":477,"hasNonce":451,"hasCapCheck":451,"file":210,"line":478},"first_time_act",55,{"action":480,"nopriv":451,"callback":480,"hasNonce":451,"hasCapCheck":451,"file":210,"line":481},"primer_get_series",56,{"action":483,"nopriv":451,"callback":483,"hasNonce":451,"hasCapCheck":451,"file":210,"line":484},"company_activation_call",57,{"action":486,"nopriv":451,"callback":486,"hasNonce":451,"hasCapCheck":451,"file":210,"line":487},"company_vat_call",58,{"action":489,"nopriv":451,"callback":489,"hasNonce":451,"hasCapCheck":451,"file":210,"line":490},"change_subsidiary",59,{"action":492,"nopriv":451,"callback":492,"hasNonce":453,"hasCapCheck":451,"file":210,"line":493},"primer_license_remaining",60,{"action":495,"nopriv":451,"callback":495,"hasNonce":453,"hasCapCheck":451,"file":210,"line":496},"primer_user_picture_upload",61,{"action":459,"nopriv":451,"callback":459,"hasNonce":451,"hasCapCheck":451,"file":210,"line":498},63,{"action":459,"nopriv":453,"callback":459,"hasNonce":451,"hasCapCheck":451,"file":210,"line":500},64,{"action":502,"nopriv":451,"callback":502,"hasNonce":453,"hasCapCheck":451,"file":230,"line":503},"convert_select_orders",506,{"action":505,"nopriv":451,"callback":506,"hasNonce":451,"hasCapCheck":451,"file":239,"line":226},"primer_fire_cron","ajax_fire_cron",{"action":258,"nopriv":451,"callback":258,"hasNonce":451,"hasCapCheck":451,"file":239,"line":508},24,{"action":510,"nopriv":451,"callback":510,"hasNonce":451,"hasCapCheck":451,"file":239,"line":511},"primer_get_woocommerce_tax_rates",25,{"action":513,"nopriv":451,"callback":514,"hasNonce":451,"hasCapCheck":451,"file":395,"line":515},"primer_validate_bin","ajax_validate_bin",73,{"action":513,"nopriv":453,"callback":514,"hasNonce":451,"hasCapCheck":451,"file":395,"line":125},{"action":518,"nopriv":451,"callback":519,"hasNonce":451,"hasCapCheck":451,"file":411,"line":77},"primer_piraeus_transactions","primer_piraeusbank_transactions",{"action":521,"nopriv":451,"callback":521,"hasNonce":451,"hasCapCheck":451,"file":421,"line":252},"continue_3ds_method",{"action":521,"nopriv":453,"callback":521,"hasNonce":451,"hasCapCheck":451,"file":421,"line":226},{"action":524,"nopriv":451,"callback":524,"hasNonce":451,"hasCapCheck":451,"file":421,"line":255},"finalize_3ds_method",{"action":524,"nopriv":453,"callback":524,"hasNonce":451,"hasCapCheck":451,"file":421,"line":223},{"action":527,"nopriv":451,"callback":527,"hasNonce":451,"hasCapCheck":451,"file":421,"line":508},"process_payment_with_token_3ds",{"action":527,"nopriv":453,"callback":527,"hasNonce":451,"hasCapCheck":451,"file":421,"line":511},{"action":530,"nopriv":451,"callback":530,"hasNonce":451,"hasCapCheck":451,"file":432,"line":531},"vat_number_validation",110,{"action":530,"nopriv":453,"callback":530,"hasNonce":451,"hasCapCheck":451,"file":432,"line":533},111,{"action":535,"nopriv":451,"callback":535,"hasNonce":451,"hasCapCheck":451,"file":432,"line":308},"reset_of_the_tax_from_vies",{"action":535,"nopriv":453,"callback":535,"hasNonce":451,"hasCapCheck":451,"file":432,"line":537},194,{"action":539,"nopriv":451,"callback":539,"hasNonce":451,"hasCapCheck":451,"file":432,"line":540},"primer_timologio_for_wc_aade_fill",227,{"action":539,"nopriv":453,"callback":539,"hasNonce":451,"hasCapCheck":451,"file":432,"line":542},228,[544,549],{"namespace":545,"route":546,"methods":547,"callback":277,"permissionCallback":37,"file":411,"line":255},"piraeus","send3dsMethodNotification",[548],"GET",{"namespace":545,"route":550,"methods":551,"callback":277,"permissionCallback":37,"file":411,"line":552},"sendTerms",[548],31,[],[555,557,559,561,563,565,567,568,569,570,571,573,575,577],{"hook":246,"callback":246,"file":210,"line":556},4732,{"hook":250,"callback":250,"file":210,"line":558},4735,{"hook":260,"callback":260,"file":210,"line":560},4738,{"hook":242,"callback":242,"file":239,"line":562},38,{"hook":242,"callback":242,"file":239,"line":564},40,{"hook":242,"callback":242,"file":239,"line":566},45,{"hook":257,"callback":257,"file":239,"line":496},{"hook":257,"callback":257,"file":239,"line":498},{"hook":257,"callback":257,"file":239,"line":396},{"hook":242,"callback":242,"file":278,"line":443},{"hook":246,"callback":246,"file":278,"line":572},365,{"hook":250,"callback":250,"file":278,"line":574},368,{"hook":260,"callback":260,"file":278,"line":576},371,{"hook":257,"callback":257,"file":278,"line":578},379,34,{"dangerousFunctions":581,"sqlUsage":582,"outputEscaping":615,"fileOperations":762,"externalRequests":511,"nonceChecks":91,"capabilityChecks":266,"bundledLibraries":763},[],{"prepared":583,"raw":14,"locations":584},14,[585,589,592,594,596,598,601,604,608,610,613],{"file":586,"line":587,"context":588},"admin\\includes\\primer-admin-payments-page.php",542,"$wpdb->get_var() with variable interpolation",{"file":239,"line":590,"context":591},1924,"$wpdb->get_results() with variable interpolation",{"file":239,"line":593,"context":591},2088,{"file":411,"line":595,"context":591},107,{"file":411,"line":597,"context":588},128,{"file":411,"line":599,"context":600},129,"$wpdb->get_row() with variable interpolation",{"file":411,"line":602,"context":603},131,"$wpdb->query() with variable interpolation",{"file":605,"line":606,"context":607},"views\\get_order_list.php",281,"$wpdb->get_col() with variable interpolation",{"file":605,"line":609,"context":607},287,{"file":611,"line":612,"context":607},"views\\get_receipt_list.php",217,{"file":611,"line":614,"context":607},241,{"escaped":616,"rawEcho":617,"locations":618},473,75,[619,622,624,626,628,630,632,634,636,638,640,642,644,646,648,650,652,654,656,658,660,662,664,666,667,668,669,670,671,673,675,677,679,681,683,685,687,689,691,693,695,697,699,701,703,705,707,709,711,713,715,717,719,721,723,725,727,729,731,733,736,738,740,741,743,745,747,749,750,752,754,756,757,759,760],{"file":205,"line":620,"context":621},648,"raw output",{"file":205,"line":623,"context":621},852,{"file":205,"line":625,"context":621},1032,{"file":205,"line":627,"context":621},1043,{"file":205,"line":629,"context":621},1048,{"file":205,"line":631,"context":621},1053,{"file":210,"line":633,"context":621},3825,{"file":210,"line":635,"context":621},4096,{"file":210,"line":637,"context":621},4306,{"file":210,"line":639,"context":621},4986,{"file":210,"line":641,"context":621},5182,{"file":210,"line":643,"context":621},5249,{"file":210,"line":645,"context":621},5258,{"file":210,"line":647,"context":621},5280,{"file":210,"line":649,"context":621},5464,{"file":210,"line":651,"context":621},5512,{"file":210,"line":653,"context":621},5590,{"file":210,"line":655,"context":621},5600,{"file":210,"line":657,"context":621},5608,{"file":210,"line":659,"context":621},5641,{"file":586,"line":661,"context":621},150,{"file":586,"line":663,"context":621},172,{"file":586,"line":665,"context":621},175,{"file":586,"line":281,"context":621},{"file":586,"line":314,"context":621},{"file":586,"line":345,"context":621},{"file":586,"line":348,"context":621},{"file":586,"line":351,"context":621},{"file":586,"line":672,"context":621},216,{"file":586,"line":674,"context":621},386,{"file":222,"line":676,"context":621},325,{"file":222,"line":678,"context":621},328,{"file":222,"line":680,"context":621},331,{"file":222,"line":682,"context":621},334,{"file":222,"line":684,"context":621},338,{"file":225,"line":686,"context":621},257,{"file":225,"line":688,"context":621},260,{"file":225,"line":690,"context":621},263,{"file":225,"line":692,"context":621},267,{"file":228,"line":694,"context":621},395,{"file":228,"line":696,"context":621},399,{"file":228,"line":698,"context":621},557,{"file":228,"line":700,"context":621},558,{"file":228,"line":702,"context":621},562,{"file":228,"line":704,"context":621},563,{"file":228,"line":706,"context":621},800,{"file":228,"line":708,"context":621},803,{"file":228,"line":710,"context":621},806,{"file":230,"line":712,"context":621},491,{"file":230,"line":714,"context":621},494,{"file":230,"line":716,"context":621},498,{"file":230,"line":718,"context":621},1059,{"file":230,"line":720,"context":621},1140,{"file":230,"line":722,"context":621},1141,{"file":230,"line":724,"context":621},1145,{"file":239,"line":726,"context":621},521,{"file":239,"line":728,"context":621},1108,{"file":239,"line":730,"context":621},1662,{"file":271,"line":732,"context":621},354,{"file":734,"line":735,"context":621},"includes\\template-tags\\primer-tags-display-modules.php",357,{"file":734,"line":737,"context":621},381,{"file":734,"line":739,"context":621},808,{"file":395,"line":542,"context":621},{"file":395,"line":742,"context":621},272,{"file":395,"line":744,"context":621},353,{"file":395,"line":746,"context":621},355,{"file":421,"line":748,"context":621},43,{"file":421,"line":487,"context":621},{"file":421,"line":751,"context":621},447,{"file":421,"line":753,"context":621},721,{"file":421,"line":755,"context":621},731,{"file":432,"line":184,"context":621},{"file":758,"line":469,"context":621},"views\\admin_order_list.php",{"file":758,"line":475,"context":621},{"file":761,"line":172,"context":621},"views\\admin_receipt_list.php",39,[764,767,770],{"name":765,"version":37,"knownCves":766},"dompdf",[],{"name":768,"version":37,"knownCves":769},"TCPDF",[],{"name":771,"version":37,"knownCves":772},"Select2",[],[774,790,805,826,840,851,860,876,888,896,904,914,922,932,947,957,976,986,997,1006,1014,1027,1039,1059],{"entryPoint":775,"graph":776,"unsanitizedCount":89,"severity":40},"create_primer_the_zip_file (admin\\includes\\primer-admin-options.php:5235)",{"nodes":777,"edges":788},[778,783],{"id":779,"type":780,"label":781,"file":210,"line":782},"n0","source","$_POST",5236,{"id":784,"type":785,"label":786,"file":210,"line":643,"wp_function":787},"n1","sink","echo() [XSS]","echo",[789],{"from":779,"to":784,"sanitized":451},{"entryPoint":791,"graph":792,"unsanitizedCount":266,"severity":40},"extra_tablenav (admin\\includes\\primer-admin-receipt-table.php:230)",{"nodes":793,"edges":802},[794,796,797,800],{"id":779,"type":780,"label":795,"file":228,"line":694},"$_GET['receipt_date_from']",{"id":784,"type":785,"label":786,"file":228,"line":694,"wp_function":787},{"id":798,"type":780,"label":799,"file":228,"line":696},"n2","$_GET['receipt_date_to']",{"id":801,"type":785,"label":786,"file":228,"line":696,"wp_function":787},"n3",[803,804],{"from":779,"to":784,"sanitized":451},{"from":798,"to":801,"sanitized":451},{"entryPoint":806,"graph":807,"unsanitizedCount":266,"severity":40},"\u003Cclass-primer-payment-gateway> (payments\\class-primer-payment-gateway.php:0)",{"nodes":808,"edges":822},[809,812,813,814,817],{"id":779,"type":780,"label":810,"file":395,"line":811},"$_GET",106,{"id":784,"type":785,"label":786,"file":395,"line":746,"wp_function":787},{"id":798,"type":780,"label":810,"file":395,"line":746},{"id":801,"type":815,"label":816,"file":395,"line":746},"transform","→ generate_piraeusbank_form()",{"id":818,"type":785,"label":819,"file":421,"line":820,"wp_function":821},"n4","wp_redirect() [Open Redirect]",359,"wp_redirect",[823,824,825],{"from":779,"to":784,"sanitized":451},{"from":798,"to":801,"sanitized":451},{"from":801,"to":818,"sanitized":451},{"entryPoint":827,"graph":828,"unsanitizedCount":28,"severity":839},"primer_user_picture_upload (admin\\includes\\primer-admin-options.php:5491)",{"nodes":829,"edges":837},[830,833],{"id":779,"type":780,"label":831,"file":210,"line":832},"$_FILES",5519,{"id":784,"type":785,"label":834,"file":210,"line":835,"wp_function":836},"file_get_contents() [SSRF\u002FLFI]",5536,"file_get_contents",[838],{"from":779,"to":784,"sanitized":453},"low",{"entryPoint":841,"graph":842,"unsanitizedCount":28,"severity":839},"\u003Cprimer-admin-options> (admin\\includes\\primer-admin-options.php:0)",{"nodes":843,"edges":848},[844,845,846,847],{"id":779,"type":780,"label":781,"file":210,"line":782},{"id":784,"type":785,"label":786,"file":210,"line":643,"wp_function":787},{"id":798,"type":780,"label":831,"file":210,"line":832},{"id":801,"type":785,"label":834,"file":210,"line":835,"wp_function":836},[849,850],{"from":779,"to":784,"sanitized":453},{"from":798,"to":801,"sanitized":453},{"entryPoint":852,"graph":853,"unsanitizedCount":28,"severity":839},"handle_main_primer_payments_admin_menu (admin\\includes\\primer-admin-payments-page.php:17)",{"nodes":854,"edges":858},[855,856],{"id":779,"type":780,"label":810,"file":586,"line":508},{"id":784,"type":785,"label":786,"file":586,"line":857,"wp_function":787},140,[859],{"from":779,"to":784,"sanitized":453},{"entryPoint":861,"graph":862,"unsanitizedCount":28,"severity":839},"render_filters (admin\\includes\\primer-admin-payments-page.php:389)",{"nodes":863,"edges":873},[864,867,868,871],{"id":779,"type":780,"label":865,"file":586,"line":866},"$_REQUEST['page']",400,{"id":784,"type":785,"label":786,"file":586,"line":866,"wp_function":787},{"id":798,"type":780,"label":869,"file":586,"line":870},"$_GET (x2)",390,{"id":801,"type":785,"label":786,"file":586,"line":872,"wp_function":787},403,[874,875],{"from":779,"to":784,"sanitized":453},{"from":798,"to":801,"sanitized":453},{"entryPoint":877,"graph":878,"unsanitizedCount":28,"severity":839},"\u003Cprimer-admin-payments-page> (admin\\includes\\primer-admin-payments-page.php:0)",{"nodes":879,"edges":885},[880,882,883,884],{"id":779,"type":780,"label":881,"file":586,"line":508},"$_GET (x3)",{"id":784,"type":785,"label":786,"file":586,"line":857,"wp_function":787},{"id":798,"type":780,"label":865,"file":586,"line":866},{"id":801,"type":785,"label":786,"file":586,"line":866,"wp_function":787},[886,887],{"from":779,"to":784,"sanitized":453},{"from":798,"to":801,"sanitized":453},{"entryPoint":889,"graph":890,"unsanitizedCount":28,"severity":839},"handle_main_primer_receipt_admin_menu (admin\\includes\\primer-admin-receipt-log-automation-table.php:274)",{"nodes":891,"edges":894},[892,893],{"id":779,"type":780,"label":869,"file":222,"line":185},{"id":784,"type":785,"label":786,"file":222,"line":383,"wp_function":787},[895],{"from":779,"to":784,"sanitized":453},{"entryPoint":897,"graph":898,"unsanitizedCount":28,"severity":839},"\u003Cprimer-admin-receipt-log-automation-table> (admin\\includes\\primer-admin-receipt-log-automation-table.php:0)",{"nodes":899,"edges":902},[900,901],{"id":779,"type":780,"label":869,"file":222,"line":185},{"id":784,"type":785,"label":786,"file":222,"line":383,"wp_function":787},[903],{"from":779,"to":784,"sanitized":453},{"entryPoint":905,"graph":906,"unsanitizedCount":28,"severity":839},"handle_main_primer_receipt_admin_menu (admin\\includes\\primer-admin-receipt-log-table.php:214)",{"nodes":907,"edges":912},[908,910],{"id":779,"type":780,"label":869,"file":225,"line":909},220,{"id":784,"type":785,"label":786,"file":225,"line":911,"wp_function":787},234,[913],{"from":779,"to":784,"sanitized":453},{"entryPoint":915,"graph":916,"unsanitizedCount":28,"severity":839},"\u003Cprimer-admin-receipt-log-table> (admin\\includes\\primer-admin-receipt-log-table.php:0)",{"nodes":917,"edges":920},[918,919],{"id":779,"type":780,"label":869,"file":225,"line":909},{"id":784,"type":785,"label":786,"file":225,"line":911,"wp_function":787},[921],{"from":779,"to":784,"sanitized":453},{"entryPoint":923,"graph":924,"unsanitizedCount":28,"severity":839},"handle_main_primer_receipt_admin_menu (admin\\includes\\primer-admin-receipt-table.php:759)",{"nodes":925,"edges":930},[926,928],{"id":779,"type":780,"label":869,"file":228,"line":927},764,{"id":784,"type":785,"label":786,"file":228,"line":929,"wp_function":787},781,[931],{"from":779,"to":784,"sanitized":453},{"entryPoint":933,"graph":934,"unsanitizedCount":266,"severity":839},"\u003Cprimer-admin-receipt-table> (admin\\includes\\primer-admin-receipt-table.php:0)",{"nodes":935,"edges":943},[936,937,938,939,940,941],{"id":779,"type":780,"label":795,"file":228,"line":694},{"id":784,"type":785,"label":786,"file":228,"line":694,"wp_function":787},{"id":798,"type":780,"label":799,"file":228,"line":696},{"id":801,"type":785,"label":786,"file":228,"line":696,"wp_function":787},{"id":818,"type":780,"label":869,"file":228,"line":927},{"id":942,"type":785,"label":786,"file":228,"line":929,"wp_function":787},"n5",[944,945,946],{"from":779,"to":784,"sanitized":451},{"from":798,"to":801,"sanitized":451},{"from":818,"to":942,"sanitized":453},{"entryPoint":948,"graph":949,"unsanitizedCount":28,"severity":839},"handle_main_primer_admin_menu (admin\\includes\\primer-admin-table.php:453)",{"nodes":950,"edges":955},[951,953],{"id":779,"type":780,"label":810,"file":230,"line":952},460,{"id":784,"type":785,"label":786,"file":230,"line":954,"wp_function":787},479,[956],{"from":779,"to":784,"sanitized":453},{"entryPoint":958,"graph":959,"unsanitizedCount":28,"severity":839},"\u003Cprimer-admin-table> (admin\\includes\\primer-admin-table.php:0)",{"nodes":960,"edges":972},[961,962,963,964,968,971],{"id":779,"type":780,"label":810,"file":230,"line":952},{"id":784,"type":785,"label":786,"file":230,"line":954,"wp_function":787},{"id":798,"type":780,"label":810,"file":230,"line":952},{"id":801,"type":785,"label":965,"file":230,"line":966,"wp_function":967},"file_put_contents() [File Write]",924,"file_put_contents",{"id":818,"type":780,"label":969,"file":230,"line":970},"$_REQUEST",402,{"id":942,"type":785,"label":786,"file":230,"line":720,"wp_function":787},[973,974,975],{"from":779,"to":784,"sanitized":453},{"from":798,"to":801,"sanitized":453},{"from":818,"to":942,"sanitized":453},{"entryPoint":977,"graph":978,"unsanitizedCount":28,"severity":839},"\u003Cgr_invoicetemplate_defaultA4> (public\\partials\\gr_invoicetemplate_defaultA4.php:0)",{"nodes":979,"edges":984},[980,982],{"id":779,"type":780,"label":810,"file":981,"line":716},"public\\partials\\gr_invoicetemplate_defaultA4.php",{"id":784,"type":785,"label":786,"file":981,"line":983,"wp_function":787},504,[985],{"from":779,"to":784,"sanitized":453},{"entryPoint":987,"graph":988,"unsanitizedCount":28,"severity":839},"\u003Cinvoicetemplate_defaultA4> (public\\partials\\invoicetemplate_defaultA4.php:0)",{"nodes":989,"edges":995},[990,993],{"id":779,"type":780,"label":810,"file":991,"line":992},"public\\partials\\invoicetemplate_defaultA4.php",499,{"id":784,"type":785,"label":786,"file":991,"line":994,"wp_function":787},505,[996],{"from":779,"to":784,"sanitized":453},{"entryPoint":998,"graph":999,"unsanitizedCount":28,"severity":839},"\u003Cadmin_order_list> (views\\admin_order_list.php:0)",{"nodes":1000,"edges":1004},[1001,1003],{"id":779,"type":780,"label":865,"file":758,"line":1002},44,{"id":784,"type":785,"label":786,"file":758,"line":1002,"wp_function":787},[1005],{"from":779,"to":784,"sanitized":453},{"entryPoint":1007,"graph":1008,"unsanitizedCount":28,"severity":839},"\u003Cadmin_receipt_list> (views\\admin_receipt_list.php:0)",{"nodes":1009,"edges":1012},[1010,1011],{"id":779,"type":780,"label":865,"file":761,"line":126},{"id":784,"type":785,"label":786,"file":761,"line":126,"wp_function":787},[1013],{"from":779,"to":784,"sanitized":453},{"entryPoint":1015,"graph":1016,"unsanitizedCount":28,"severity":839},"\u003Cadmin_receipt_log_automation_list> (views\\admin_receipt_log_automation_list.php:0)",{"nodes":1017,"edges":1024},[1018,1020,1021,1023],{"id":779,"type":780,"label":865,"file":1019,"line":126},"views\\admin_receipt_log_automation_list.php",{"id":784,"type":785,"label":786,"file":1019,"line":126,"wp_function":787},{"id":798,"type":780,"label":1022,"file":1019,"line":172},"$_GET (x4)",{"id":801,"type":785,"label":786,"file":1019,"line":748,"wp_function":787},[1025,1026],{"from":779,"to":784,"sanitized":453},{"from":798,"to":801,"sanitized":453},{"entryPoint":1028,"graph":1029,"unsanitizedCount":28,"severity":839},"\u003Cadmin_receipt_log_list> (views\\admin_receipt_log_list.php:0)",{"nodes":1030,"edges":1036},[1031,1033,1034,1035],{"id":779,"type":780,"label":865,"file":1032,"line":126},"views\\admin_receipt_log_list.php",{"id":784,"type":785,"label":786,"file":1032,"line":126,"wp_function":787},{"id":798,"type":780,"label":1022,"file":1032,"line":268},{"id":801,"type":785,"label":786,"file":1032,"line":211,"wp_function":787},[1037,1038],{"from":779,"to":784,"sanitized":453},{"from":798,"to":801,"sanitized":453},{"entryPoint":1040,"graph":1041,"unsanitizedCount":77,"severity":1058},"check_piraeusbank_response (payments\\includes\\class-primer-payments-gateway-functions.php:369)",{"nodes":1042,"edges":1054},[1043,1044,1048,1049,1050,1052],{"id":779,"type":780,"label":969,"file":421,"line":674},{"id":784,"type":785,"label":1045,"file":421,"line":1046,"wp_function":1047},"get_results() [SQLi]",433,"get_results",{"id":798,"type":780,"label":969,"file":421,"line":674},{"id":801,"type":785,"label":786,"file":421,"line":751,"wp_function":787},{"id":818,"type":780,"label":1051,"file":421,"line":674},"$_REQUEST (x5)",{"id":942,"type":785,"label":819,"file":421,"line":1053,"wp_function":821},510,[1055,1056,1057],{"from":779,"to":784,"sanitized":451},{"from":798,"to":801,"sanitized":451},{"from":818,"to":942,"sanitized":451},"high",{"entryPoint":1060,"graph":1061,"unsanitizedCount":123,"severity":1058},"\u003Cclass-primer-payments-gateway-functions> (payments\\includes\\class-primer-payments-gateway-functions.php:0)",{"nodes":1062,"edges":1071},[1063,1064,1065,1067,1068,1070],{"id":779,"type":780,"label":969,"file":421,"line":674},{"id":784,"type":785,"label":1045,"file":421,"line":1046,"wp_function":1047},{"id":798,"type":780,"label":1066,"file":421,"line":674},"$_REQUEST (x3)",{"id":801,"type":785,"label":786,"file":421,"line":751,"wp_function":787},{"id":818,"type":780,"label":1069,"file":421,"line":674},"$_REQUEST (x6)",{"id":942,"type":785,"label":819,"file":421,"line":1053,"wp_function":821},[1072,1073,1074],{"from":779,"to":784,"sanitized":451},{"from":798,"to":801,"sanitized":451},{"from":818,"to":942,"sanitized":451},{"summary":1076,"deductions":1077},"The 'primer-mydata' plugin v4.3.0 exhibits a concerning security posture due to a large number of unprotected entry points. With 34 out of 38 total entry points lacking authentication checks, the plugin presents a significant attack surface.  While the plugin demonstrates good practices in using prepared statements for SQL queries (56%) and proper output escaping (86%), the high number of unauthenticated AJAX handlers is a critical weakness.  The taint analysis revealing two high-severity flows with unsanitized paths is particularly worrying, suggesting potential for path traversal vulnerabilities.\n\nThe vulnerability history of this plugin is also a point of concern. Although there are currently no unpatched CVEs, the presence of four historical medium-severity vulnerabilities, including path traversal, CSRF, and XSS, indicates a recurring pattern of insecure coding practices. The last reported vulnerability in 2026 also raises questions about the plugin's maintenance and update cadence.  The combination of a large, exposed attack surface and past vulnerabilities suggests a high likelihood of future security issues if not addressed.\n\nIn conclusion, while the plugin shows some positive aspects like well-escaped output and prepared SQL statements, these strengths are overshadowed by the significant risks posed by its numerous unprotected entry points and the history of exploitable vulnerabilities. The high-severity taint flows are a red flag that requires immediate attention. The plugin's overall security is compromised by these factors, and users should exercise extreme caution.",[1078,1080,1082,1084,1086],{"reason":1079,"points":415},"Large attack surface without auth checks",{"reason":1081,"points":172},"High severity taint flows",{"reason":1083,"points":272},"History of medium severity CVEs",{"reason":1085,"points":123},"Unprotected AJAX handlers",{"reason":1087,"points":62},"Unprotected REST API routes","2026-03-16T20:51:10.059Z",{"wat":1090,"direct":1119},{"assetPaths":1091,"generatorPatterns":1104,"scriptPaths":1105,"versionParams":1106},[1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103],"\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fcss\u002Fprimer-mydata-public.css","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fjs\u002Fprimer-mydata-public.js","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fcss\u002Fbootstrap.min.css","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fjs\u002Fbootstrap.min.js","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fjs\u002Fbootstrap.bundle.min.js","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fjs\u002Fmoment.min.js","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fjs\u002Fmoment-with-locales.min.js","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fjs\u002Fprimer-mydata-admin.js","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fcss\u002Fprimer-mydata-admin.css","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fcss\u002Fbootstrap-grid.min.css","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fcss\u002Fprimer-mydata-frontend.css","\u002Fwp-content\u002Fplugins\u002Fprimer-mydata\u002Fassets\u002Fjs\u002Fprimer-mydata-frontend.js",[],[1093,1096,1097,1098,1099,1103],[1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118],"primer-mydata\u002Fassets\u002Fcss\u002Fprimer-mydata-public.css?ver=","primer-mydata\u002Fassets\u002Fjs\u002Fprimer-mydata-public.js?ver=","primer-mydata\u002Fassets\u002Fcss\u002Fbootstrap.min.css?ver=","primer-mydata\u002Fassets\u002Fjs\u002Fbootstrap.min.js?ver=","primer-mydata\u002Fassets\u002Fjs\u002Fbootstrap.bundle.min.js?ver=","primer-mydata\u002Fassets\u002Fjs\u002Fmoment.min.js?ver=","primer-mydata\u002Fassets\u002Fjs\u002Fmoment-with-locales.min.js?ver=","primer-mydata\u002Fassets\u002Fjs\u002Fprimer-mydata-admin.js?ver=","primer-mydata\u002Fassets\u002Fcss\u002Fprimer-mydata-admin.css?ver=","primer-mydata\u002Fassets\u002Fcss\u002Fbootstrap-grid.min.css?ver=","primer-mydata\u002Fassets\u002Fcss\u002Fprimer-mydata-frontend.css?ver=","primer-mydata\u002Fassets\u002Fjs\u002Fprimer-mydata-frontend.js?ver=",{"cssClasses":1120,"htmlComments":1122,"htmlAttributes":1123,"restEndpoints":1126,"jsGlobals":1138,"shortcodeOutput":1142},[1121],"primer-mydata-custom-input",[],[1124,1125],"data-vat-number","data-vat-country",[1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137],"\u002Fwp-json\u002Fprimer\u002Fv1\u002Fsettings","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fget_customer_data","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fget_order_details","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fget_product_details","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fsend_invoice","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fsync_data","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fupdate_settings","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fget_invoices","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fget_receipts","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fsearch_customers","\u002Fwp-json\u002Fprimer\u002Fv1\u002Fget_customer_data_by_id",[1139,1140,1141],"primer_mydata_ajax_object","primer_mydata_admin_ajax_object","primer_mydata_frontend_ajax_object",[]]