[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fta6typuu7pNBIaeCF4zRMtD028w4UOtcOFoj10ya8CM":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":13,"last_updated":14,"tested_up_to":15,"requires_at_least":16,"requires_php":17,"tags":18,"homepage":24,"download_link":25,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":127,"fingerprints":644},"wc-invoice-pdf","WC Recurring Invoice","1.7.3","ole1986","https:\u002F\u002Fprofiles.wordpress.org\u002Fole1986\u002F","\u003Cp>The WC Recurring Invoice (aka WC Invoice PDF) extends WooCommerce to generate PDF invoices while supporting recurring and automated Email submission.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>FEATURES\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Invoice overview\u003C\u002Fli>\n\u003Cli>Manage invoice status and due date\u003C\u002Fli>\n\u003Cli>Email submission schedule for invoices\u003C\u002Fli>\n\u003Cli>Individual payment reminder (internal and customer)\u003C\u002Fli>\n\u003Cli>Customizable PDF template and Email content through placeholders\u003C\u002Fli>\n\u003Cli>[NEW] Support for XRechnung according to EN16931\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>WooCommerce Extended\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>[PRODUCT] Subscription product (Webspace) to trigger recurring Orders\u003C\u002Fli>\n\u003Cli>[PRODUCT] Individual “Service” product allowing to customize units (E.g PCS, hours, mins, any other)\u003C\u002Fli>\n\u003Cli>[ORDER] Generate and preview PDF invoice for any WooCommerce order\u003C\u002Fli>\n\u003Cli>[ORDER] Configurable subscription type (yearly, monthly) per WooCommerce order\u003C\u002Fli>\n\u003Cli>[ORDER] Additional Email recipient (CC) in WooCommerce billing info\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fole1986\u002Fwc-invoice-pdf\u002Freleases\" rel=\"nofollow ugc\">RELEASE NOTES\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fole1986\u002Fwc-invoice-pdf\" rel=\"nofollow ugc\">MIT LICENSED\u003C\u002Fa>\u003C\u002Fp>\n","WooCommerce invoice PDF generator for recurring \u002F non-recurring orders and Email submission.",40,7992,0,"2026-03-13T07:40:00.000Z","6.9.4","3.1","",[19,20,21,22,23],"billing","custom-products","invoicing","pdf","woocommerce","https:\u002F\u002Fgithub.com\u002Fole1986\u002Fwc-invoice-pdf\u002Freleases","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwc-invoice-pdf.1.7.3.zip",100,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},3,50,92,30,88,"2026-04-04T13:51:42.740Z",[38,56,74,88,107],{"slug":39,"name":40,"version":41,"author":42,"author_profile":43,"description":44,"short_description":45,"active_installs":46,"downloaded":47,"rating":13,"num_ratings":13,"last_updated":48,"tested_up_to":49,"requires_at_least":50,"requires_php":51,"tags":52,"homepage":54,"download_link":55,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"declarando-gestion-facturas","Declarando – Invoice Management","1.0.0","declarando","https:\u002F\u002Fprofiles.wordpress.org\u002Fdeclarando\u002F","\u003Cp>\u003Cstrong>Declarando – Invoice Management\u003C\u002Fstrong> is the official plugin that connects your online store with the Declarando platform, fully automating invoice management and ecommerce accounting.\u003C\u002Fp>\n\u003Ch4>Why choose this plugin?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic synchronization\u003C\u002Fstrong>: All your store orders are automatically sent to Declarando\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Simple setup\u003C\u002Fstrong>: You only need your API Key to get started\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Refund management\u003C\u002Fstrong>: Refunds are automatically synchronized\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Testing environment\u003C\u002Fstrong>: Sandbox mode for testing without affecting real data\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multiple status support\u003C\u002Fstrong>: Configure which order statuses to sync\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Native interface\u003C\u002Fstrong>: Integrates perfectly into your store’s admin area\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Main features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic order synchronization\u003C\u002Fstrong> with the Declarando platform\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Centralized admin panel\u003C\u002Fstrong> to manage all your invoices\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Native integration\u003C\u002Fstrong> without complex configurations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Integrated and automated refund management\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom columns\u003C\u002Fstrong> in the orders list\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> for external queries and updates\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Complete logging system\u003C\u002Fstrong> for debugging and tracking\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatible with test and production environments\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multilingual\u003C\u002Fstrong> ready for translations\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Use cases\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Online stores\u003C\u002Fstrong> that need to automate their invoicing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>B2B ecommerce\u003C\u002Fstrong> with business client management\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Marketplaces\u003C\u002Fstrong> requiring detailed fiscal control\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Multi-currency stores\u003C\u002Fstrong> with international management\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Businesses requiring automated fiscal compliance\u003C\u002Fstrong>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 5.0 or higher\u003C\u002Fli>\n\u003Cli>PHP 7.4 or higher\u003C\u002Fli>\n\u003Cli>Active account at \u003Ca href=\"https:\u002F\u002Fdeclarando.es\" rel=\"nofollow ugc\">Declarando\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>Valid Declarando API Key\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the Declarando API (an external third-party service) to synchronize orders and manage invoices automatically. This connection is essential for the plugin’s core functionality.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What data is sent:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Order information (order ID, items, quantities, prices, dates)\u003Cbr \u002F>\n* Customer data (name, email, billing address if provided)\u003Cbr \u002F>\n* Store configuration (currency, tax settings)\u003Cbr \u002F>\n* Refund information when refunds are processed\u003C\u002Fp>\n\u003Cp>\u003Cstrong>When data is sent:\u003C\u002Fstrong>\u003Cbr \u002F>\n* When an order reaches a configured status (e.g., Processing, Completed)\u003Cbr \u002F>\n* When a refund is created or processed\u003Cbr \u002F>\n* When manually synchronizing from the admin panel\u003Cbr \u002F>\n* During initial plugin setup and connection\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Service provider:\u003C\u002Fstrong> Declarando (https:\u002F\u002Fdeclarando.es)\u003C\u002Fp>\n\u003Cp>\u003Cstrong>API endpoints used:\u003C\u002Fstrong>\u003Cbr \u002F>\n* Production: https:\u002F\u002Fdeclarando-api-ecommerce-828031991052.europe-west4.run.app\u003Cbr \u002F>\n* Sandbox (testing): Configurable test environment\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Legal information:\u003C\u002Fstrong>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fdeclarando.es\u002Fcondiciones-uso\" rel=\"nofollow ugc\">Declarando Terms of Service\u003C\u002Fa>\u003Cbr \u002F>\n* \u003Ca href=\"https:\u002F\u002Fdeclarando.es\u002Fproteccion-datos\" rel=\"nofollow ugc\">Declarando Privacy Policy\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>By using this plugin, you agree to send the above data to Declarando’s servers for invoice management and accounting purposes. No data is sent without your explicit configuration and connection to a Declarando account.\u003C\u002Fp>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Cp>Once installed and configured, the plugin:\u003C\u002Fp>\n\u003Col>\n\u003Cli>\u003Cstrong>Automatically detects\u003C\u002Fstrong> new WooCommerce orders\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Validates information\u003C\u002Fstrong> from order and customer\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sends data\u003C\u002Fstrong> to Declarando via secure API\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Synchronizes changes\u003C\u002Fstrong> like refunds or cancellations\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Provides visual feedback\u003C\u002Fstrong> in WooCommerce administration\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Useful links\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeclarando.es\" rel=\"nofollow ugc\">Official Declarando website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeclarando.es\u002Ffaqs\" rel=\"nofollow ugc\">Help center\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fdeclarando.es\u002Ffaqs\" rel=\"nofollow ugc\">Support channel\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Additional Information\u003C\u002Fh3>\n\u003Ch4>Documentation\u003C\u002Fh4>\n\u003Cp>For more information and detailed documentation, visit \u003Ca href=\"https:\u002F\u002Fdeclarando.es\u002F\" rel=\"nofollow ugc\">the official Declarando documentation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch4>Privacy\u003C\u002Fh4>\n\u003Cp>This plugin connects with external Declarando services to synchronize orders and generate invoices. The data sent includes:\u003Cbr \u002F>\n* Order information (products, amounts, dates)\u003Cbr \u002F>\n* Customer data (name, email, address if necessary)\u003Cbr \u002F>\n* Your company’s tax information\u003C\u002Fp>\n\u003Cp>Check the \u003Ca href=\"https:\u002F\u002Fdeclarando.es\u002Fproteccion-datos\" rel=\"nofollow ugc\">Declarando privacy policy\u003C\u002Fa> for more information.\u003C\u002Fp>\n\u003Ch4>Contributing\u003C\u002Fh4>\n\u003Cp>If you wish to contribute to the development of this plugin, visit our GitHub repository.\u003C\u002Fp>\n","Automatically integrate your online store with Declarando to manage invoices, sync orders, and keep your accounting up to date.",300,1484,"2025-12-03T14:03:00.000Z","6.7.5","5.0","7.4",[53,19,42,21,23],"automation","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fdeclarando-gestion-facturas\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fdeclarando-gestion-facturas.1.0.0.zip",{"slug":57,"name":58,"version":59,"author":60,"author_profile":61,"description":62,"short_description":63,"active_installs":26,"downloaded":64,"rating":13,"num_ratings":13,"last_updated":65,"tested_up_to":66,"requires_at_least":67,"requires_php":68,"tags":69,"homepage":72,"download_link":73,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"toconline-for-woocommerce","TOConline for WooCommerce","1.0.17","TOConline","https:\u002F\u002Fprofiles.wordpress.org\u002Ftoconline\u002F","\u003Cp>The \u003Cstrong>TOConline for WooCommerce\u003C\u002Fstrong> plugin is designed to seamlessly integrate your WooCommerce store with the \u003Ca href=\"https:\u002F\u002Ftoconline.pt\u002F\" rel=\"nofollow ugc\">TOConline\u003C\u002Fa> system, simplifying invoicing, tax management, and data synchronization. This plugin automates critical administrative and fiscal processes, ensuring your store operates efficiently while maintaining compliance with local tax regulations.\u003C\u002Fp>\n\u003Ch4>Key Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automated Invoicing:\u003C\u002Fstrong> Generate invoices, credit notes, and receipts directly within TOConline for WooCommerce orders.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customer Data Sync:\u003C\u002Fstrong> Keep customer details, such as addresses and tax numbers, synchronized between WooCommerce and TOConline.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Product Synchronization:\u003C\u002Fstrong> Automatically export product details from WooCommerce to TOConline, including prices, SKUs, and tax information.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Refund Management:\u003C\u002Fstrong> Create credit notes for refunds processed in WooCommerce, with seamless synchronization.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tax Calculation:\u003C\u002Fstrong> Automatically apply the correct tax rates.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Notifications:\u003C\u002Fstrong> Automatically send invoices and credit notes to customers, with customizable templates to align with your brand.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Error Logs and Notifications:\u003C\u002Fstrong> Identify and resolve integration issues quickly with detailed logs and admin alerts.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Benefits\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Full Automation:\u003C\u002Fstrong> Eliminate manual invoicing and tax calculations, reducing errors and saving time.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tax Compliance:\u003C\u002Fstrong> Ensure all fiscal documents meet the portuguese legal.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Enhanced Customer Experience:\u003C\u002Fstrong> Send professional, automated invoices and receipts, boosting trust and confidence.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Operational Efficiency:\u003C\u002Fstrong> Focus on growing your business while the plugin handles repetitive tasks.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why Choose TOConline for WooCommerce?\u003C\u002Fh4>\n\u003Cp>With tax rule support, an intuitive interface and robust automation features, the TOConline plugin empowers your WooCommerce store to stay ahead. Whether you run a small business or manage a high-volume store, this plugin is scalable and reliable, making compliance and efficiency effortless.\u003C\u002Fp>\n\u003Ch4>Help & Support\u003C\u002Fh4>\n\u003Cp>Need support? Visit the \u003Ca href=\"https:\u002F\u002Fmanual.toconline.pt\u002Fpt-PT\u002Fsupport\u002Fsolutions\u002Ffolders\u002F3000023117\" rel=\"nofollow ugc\">plugin help pages\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the TOConline API to send and obtain commercial sales information, as well as data pertaining to WooCommerce products and user accounts. This is required to create and link to the commercial sales documents generated by the plugin, including (but not limited to) invoices and credit notes. All communication is sent to and received from the API as defined by the plugin options related to your company. These requests are made to a sub-domain at toconline.pt, which will vary depending on your company and must be manually added by you.\u003C\u002Fp>\n\u003Cp>Every time a WooCommerce order is completed successfully (i.e., an order is successfully paid), a request is made to the TOConline API. This request can additionally be sent manually through the order page in the WooCommerce administration. The TOConline API will receive most of the information related to the order, as well as the products it contains and the customer data required to generate the invoice, as provided through WooCommerce (name, shipping and billing addresses, contact information, and tax registration number). In case of refund, all of the aforementioned order, product, and customer data will be sent to the same API, to generate a credit note and a notice of settlement.\u003C\u002Fp>\n\u003Cp>Upon generating a commercial sales document, its data and a link to it will be saved in your WordPress website for future reference and emailed to the customer associated with the respective order.\u003C\u002Fp>\n\u003Cp>This service is provided by Ordem dos Contabilistas Certificados: \u003Ca href=\"https:\u002F\u002Ftoconline.pt\u002Ftermos-condicoes\u002F\" rel=\"nofollow ugc\">terms of use\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Ftoconline.pt\u002Fpolitica-privacidade\u002F\" rel=\"nofollow ugc\">privacy policy\u003C\u002Fa>.\u003C\u002Fp>\n","TOConline for WooCommerce is a WordPress plugin that automates invoicing with TOConline.",2506,"2025-10-28T16:23:00.000Z","6.8.5","6.1","8.1",[19,70,21,71,23],"invoice","toconline","https:\u002F\u002Ftoconline.pt\u002Fplugin-wordpress-toconline-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Ftoconline-for-woocommerce.zip",{"slug":75,"name":76,"version":41,"author":77,"author_profile":78,"description":79,"short_description":80,"active_installs":81,"downloaded":82,"rating":13,"num_ratings":13,"last_updated":83,"tested_up_to":66,"requires_at_least":84,"requires_php":51,"tags":85,"homepage":17,"download_link":87,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"pdf-invoicex","PDF InvoiceX – PDF Invoice for WooCommerce","Vishwas R","https:\u002F\u002Fprofiles.wordpress.org\u002Fvishwasr\u002F","\u003Cp>PDF InvoiceX is a lightweight plugin that enables store owners to generate professional PDF invoices for paid WooCommerce orders. With an intuitive settings interface, customizable templates, and seamless integration with WooCommerce, this plugin enhances your store’s billing process.\u003C\u002Fp>\n\u003Ch3>Key Features\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Automatic PDF Generation\u003C\u002Fstrong>: Create PDF invoices for paid orders with a single click.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin & Frontend Downloads\u003C\u002Fstrong>: Download invoices from the admin orders page or customer’s My Account area.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Email Attachments\u003C\u002Fstrong>: Attach PDF invoices to selected WooCommerce emails (e.g., Completed Order).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk PDF Generation\u003C\u002Fstrong>: Generate ZIP files containing multiple invoices from the admin orders list.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customizable Settings\u003C\u002Fstrong>:\n\u003Cul>\n\u003Cli>Upload a store logo (recommended: 200x100px).\u003C\u002Fli>\n\u003Cli>Set store address, invoice number prefix\u002Fsuffix, and footer text.\u003C\u002Fli>\n\u003Cli>Choose invoice templates.\u003C\u002Fli>\n\u003Cli>Select which emails include PDF attachments.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Sequential Invoice Numbers\u003C\u002Fstrong>: Automatically assign unique invoice numbers with customizable prefixes (e.g., INV-) and suffixes.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Secure & Extensible\u003C\u002Fstrong>: Built with WordPress security standards, including nonces, sanitization, and capability checks.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce Integration\u003C\u002Fstrong>: Matches WooCommerce’s design and workflow, ensuring a seamless user experience.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Perfect for store owners who need professional invoicing without complexity. The plugin uses mPDF for reliable PDF generation and is optimized for performance and compatibility.\u003C\u002Fp>\n\u003Ch3>License\u003C\u002Fh3>\n\u003Cp>This plugin is licensed under the GPLv2 or later. See the \u003Ccode>LICENSE\u003C\u002Fcode> file for details.\u003C\u002Fp>\n","Generate and download PDF invoices for WooCommerce orders, with customizable settings, email attachments, and bulk generation.",70,513,"2025-06-26T08:26:00.000Z","6.0",[19,86,70,22,23],"e-commerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpdf-invoicex.1.0.0.zip",{"slug":89,"name":90,"version":91,"author":92,"author_profile":93,"description":94,"short_description":95,"active_installs":34,"downloaded":96,"rating":26,"num_ratings":97,"last_updated":98,"tested_up_to":99,"requires_at_least":100,"requires_php":17,"tags":101,"homepage":104,"download_link":105,"security_score":106,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"qinvoice-connect-for-woocommerce","Qinvoice Connect for Woocommerce","2.2.6","q-invoice.nl","https:\u002F\u002Fprofiles.wordpress.org\u002Fq-invoice\u002F","\u003Cp>Easily generate and send professional looking invoices for every Woocommerce order through q-invoice.\u003Cbr \u002F>\nInvoices can be saved as draft for later editing or sent directly to your customers’ emailaddress.\u003Cbr \u002F>\nPackingslips can be generated for each invoice individually or for multiple at once. Different layouts can be used for invoices, estimates and packing slips.\u003C\u002Fp>\n\u003Cp>A subscription for q-invoice.com is required.\u003C\u002Fp>\n\u003Ch3>Arbitrary section\u003C\u002Fh3>\n","Connects your Woocommerce installation to q-invoice for automatic invoicing.",6856,2,"2021-09-24T06:20:00.000Z","5.5.18","3.0.1",[19,21,102,103,23],"packing","packingslip","http:\u002F\u002Fwww.q-invoice.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fqinvoice-connect-for-woocommerce.2.2.6.zip",85,{"slug":108,"name":109,"version":110,"author":111,"author_profile":112,"description":113,"short_description":114,"active_installs":115,"downloaded":116,"rating":26,"num_ratings":117,"last_updated":118,"tested_up_to":49,"requires_at_least":119,"requires_php":17,"tags":120,"homepage":125,"download_link":126,"security_score":26,"vuln_count":13,"unpatched_count":13,"last_vuln_date":27,"fetched_at":28},"all-in-one-wc","All In One For Woocommerce","1.2","Dipika Parmar","https:\u002F\u002Fprofiles.wordpress.org\u002Fdipikaparmar2018\u002F","\u003Cp>All In One For WooCommerce plugin provides a wide range of functionalities to enhance your WooCommerce store. It allows you to customize button labels, generate PDF invoices, manage shipping options, and much more—all in one plugin!\u003C\u002Fp>\n\u003Cp>Features:\u003Cbr \u002F>\n– \u003Cstrong>Button & Price Labels\u003C\u002Fstrong>:\u003Cbr \u002F>\n  – Customize the “Add to Cart” button text by product type, category, or individual product.\u003Cbr \u002F>\n  – Set custom price labels, including “Call for Price” and “Free Price” labels.\u003Cbr \u002F>\n  – Customize the “Place Order” button label.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\n\u003Cp>\u003Cstrong>PDF Invoicing & Packing Slips\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Generate invoices, proforma invoices (FREE), credit notes (FREE), and packing slips (FREE).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Shipping & Orders\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customize shipping address formats for different countries.\u003C\u002Fli>\n\u003Cli>Add custom shipping methods.\u003C\u002Fli>\n\u003Cli>Set up a “left to free shipping” feature.\u003C\u002Fli>\n\u003Cli>Limit the maximum number of products per user.\u003C\u002Fli>\n\u003Cli>Manage custom order statuses.\u003C\u002Fli>\n\u003Cli>Enable sequential order numbering with custom prefixes, suffixes, and width.\u003C\u002Fli>\n\u003Cli>Customize shipping methods based on country, user role, order amount, and more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Order Management\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Auto-complete orders.\u003C\u002Fli>\n\u003Cli>Bulk regenerate download permissions.\u003C\u002Fli>\n\u003Cli>Customize shipping calculator visibility on the cart page.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Advanced Shipping Options\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Display shipping methods based on cities, postcodes, user roles, and more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Coming Soon Features\u003C\u002Fstrong>:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Add to Cart button visibility.\u003C\u002Fli>\n\u003Cli>Admin products list.\u003C\u002Fli>\n\u003Cli>Bookings and much more.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Translations\u003C\u002Fh3>\n\u003Cp>We are looking for translators! If you’d like to contribute to translating All In One For WooCommerce into other languages, please visit the \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fall-in-one-wc\u002F\" rel=\"nofollow ugc\">WordPress Translate Project\u003C\u002Fa> and help us make the plugin available in more languages.\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>If you need any help or have questions, feel free to drop us an email at: \u003Cstrong>nareshparmar827@gmail.com\u003C\u002Fstrong> or visit the support forum on the plugin page.\u003C\u002Fp>\n","Enhance your WooCommerce store with custom button labels, PDF invoicing, advanced shipping options, and much more.",10,2084,4,"2025-08-31T16:27:00.000Z","4.5",[121,122,123,124,23],"custom-button-labels","custom-shipping","order-management","pdf-invoicing","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fall-in-one-wc\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fall-in-one-wc.1.2.zip",{"attackSurface":128,"codeSignals":302,"taintFlows":507,"riskAssessment":629,"analyzedAt":643},{"hooks":129,"ajaxHandlers":286,"restRoutes":297,"shortcodes":298,"cronEvents":299,"entryPointCount":31,"unprotectedCount":31},[130,136,142,146,150,153,158,163,165,167,172,176,179,183,187,190,194,198,202,205,208,212,216,219,224,228,231,234,237,241,244,247,250,254,257,260,261,262,266,270,274,278,282],{"type":131,"name":132,"callback":133,"priority":134,"file":135,"line":134},"action","wc_recurring_invoice_creating","apply",20,"src\\Extend\\Xrechnung.php",{"type":137,"name":138,"callback":139,"file":140,"line":141},"filter","woocommerce_account_menu_items","wc_invoice_menu","src\\Menu\\AccountInvoice.php",17,{"type":131,"name":143,"callback":144,"file":140,"line":145},"woocommerce_account_invoices_endpoint","wc_invoice_content",18,{"type":137,"name":147,"callback":148,"file":140,"line":149},"woocommerce_my_account_my_orders_query","wc_orders_query",21,{"type":131,"name":151,"callback":151,"file":152,"line":134},"admin_menu","src\\Menu\\InvoiceMenu.php",{"type":131,"name":154,"callback":155,"file":156,"line":157},"admin_head","admin_header","src\\Model\\InvoiceList.php",12,{"type":131,"name":159,"callback":160,"file":161,"line":162},"phpmailer_init","closure","src\\Schedule\\InvoiceTask.php",86,{"type":131,"name":159,"callback":160,"file":161,"line":164},187,{"type":131,"name":159,"callback":160,"file":161,"line":166},289,{"type":131,"name":168,"callback":169,"file":170,"line":171},"woocommerce_edit_account_form","show_customer_reference","src\\WcExtend\\CustomerProperties.php",14,{"type":131,"name":173,"callback":174,"file":170,"line":175},"woocommerce_save_account_details","save_customer_reference",15,{"type":131,"name":177,"callback":178,"file":170,"line":145},"woocommerce_login_form","show_gdpr",{"type":131,"name":180,"callback":181,"priority":115,"file":170,"line":182},"wp_login","customer_login",19,{"type":131,"name":184,"callback":185,"priority":134,"file":170,"line":186},"show_user_profile","edit_user_customer_reference",22,{"type":131,"name":188,"callback":185,"priority":134,"file":170,"line":189},"edit_user_profile",23,{"type":131,"name":191,"callback":192,"file":170,"line":193},"profile_update","update_profile",24,{"type":137,"name":195,"callback":196,"file":170,"line":197},"woocommerce_admin_billing_fields","admin_billing_fields",25,{"type":131,"name":199,"callback":200,"file":201,"line":182},"add_meta_boxes","invoice_box","src\\WcExtend\\InvoiceMetabox.php",{"type":131,"name":203,"callback":204,"file":201,"line":134},"post_updated","invoice_submit",{"type":131,"name":206,"callback":207,"priority":134,"file":201,"line":189},"manage_shop_order_posts_custom_column","fill_orders_recurring_column",{"type":131,"name":209,"callback":210,"file":211,"line":157},"woocommerce_before_cart","BeforeCart","src\\WcExtend\\RecurringExtension.php",{"type":131,"name":213,"callback":214,"priority":134,"file":211,"line":215},"woocommerce_cart_contents","SubscribeContent",13,{"type":131,"name":217,"callback":218,"file":211,"line":171},"woocommerce_update_cart_action_cart_updated","SubscribePost",{"type":137,"name":220,"callback":221,"file":222,"line":223},"woocommerce_product_data_tabs","hour_product_data_tab","src\\WcProduct\\wc_product_service.php",7,{"type":131,"name":225,"callback":226,"file":222,"line":227},"woocommerce_product_data_panels","product_data_fields",9,{"type":131,"name":229,"callback":230,"file":222,"line":115},"woocommerce_process_product_meta_service","metadata_save",{"type":131,"name":232,"callback":233,"file":222,"line":157},"admin_footer","jsRegister",{"type":137,"name":235,"callback":236,"file":222,"line":215},"product_type_selector","register",{"type":131,"name":238,"callback":239,"priority":34,"file":240,"line":115},"woocommerce_webspace_add_to_cart","add_to_cart","src\\WcProduct\\wc_product_webspace.php",{"type":137,"name":220,"callback":242,"file":240,"line":243},"product_data_tab",11,{"type":131,"name":245,"callback":246,"file":240,"line":215},"woocommerce_checkout_before_customer_details","OnCheckoutFields",{"type":131,"name":248,"callback":249,"priority":134,"file":240,"line":171},"woocommerce_checkout_order_processed","OnCheckoutSubmit",{"type":131,"name":251,"callback":252,"priority":134,"file":240,"line":253},"woocommerce_checkout_create_order_line_item_object","OnCreateOrderItem",16,{"type":137,"name":255,"callback":256,"priority":134,"file":240,"line":145},"woocommerce_cart_item_subtotal","ItemSubtotal",{"type":137,"name":258,"callback":259,"priority":115,"file":240,"line":134},"woocommerce_cart_item_quantity","ItemQuantity",{"type":131,"name":232,"callback":233,"file":240,"line":189},{"type":137,"name":235,"callback":236,"file":240,"line":193},{"type":131,"name":263,"callback":263,"file":264,"line":265},"init","wc-recurring.php",28,{"type":131,"name":267,"callback":268,"priority":115,"file":264,"line":269},"admin_notices","migrate_notice",29,{"type":137,"name":271,"callback":272,"priority":115,"file":264,"line":273},"plugin_row_meta","plugin_meta",31,{"type":131,"name":275,"callback":276,"file":264,"line":277},"invoice_reminder","Run",97,{"type":131,"name":279,"callback":280,"priority":115,"file":264,"line":281},"wc_recurring_order_period","order_period",99,{"type":131,"name":283,"callback":284,"file":264,"line":285},"admin_enqueue_scripts","loadJS",109,[287,291,294],{"action":288,"nopriv":289,"callback":290,"hasNonce":289,"hasCapCheck":289,"file":201,"line":243},"InvoiceMetabox",false,"DoAjax",{"action":292,"nopriv":289,"callback":290,"hasNonce":289,"hasCapCheck":289,"file":264,"line":293},"Invoice",93,{"action":295,"nopriv":289,"callback":290,"hasNonce":289,"hasCapCheck":289,"file":264,"line":296},"InvoiceTask",95,[],[],[300],{"hook":275,"callback":275,"file":264,"line":301},243,{"dangerousFunctions":303,"sqlUsage":364,"outputEscaping":374,"fileOperations":285,"externalRequests":117,"nonceChecks":501,"capabilityChecks":501,"bundledLibraries":502},[304,309,312,315,319,324,327,331,334,338,342,346,351,354,357,360],{"fn":305,"file":306,"line":307,"context":308},"unserialize","vendor_build\\doctrine\\instantiator\\src\\Doctrine\\Instantiator\\Instantiator.php",130,"return static fn () => unserialize($serializedString);",{"fn":305,"file":306,"line":310,"context":311},204,"unserialize($serializedString);",{"fn":305,"file":313,"line":265,"context":314},"vendor_build\\jms\\metadata\\src\\SerializationHelper.php","$this->unserializeFromArray(unserialize($str));",{"fn":305,"file":316,"line":317,"context":318},"vendor_build\\jms\\serializer\\src\\Expression\\Expression.php",64,"$this->expression = new SerializedParsedExpression(...unserialize($str));",{"fn":320,"file":321,"line":322,"context":323},"assert","vendor_build\\jms\\serializer\\src\\GraphNavigator\\SerializationGraphNavigator.php",107,"assert($context instanceof SerializationContext);",{"fn":320,"file":325,"line":186,"context":326},"vendor_build\\jms\\serializer\\src\\Metadata\\Driver\\DoctrineTypeDriver.php","assert($doctrineMetadata instanceof ORMClassMetadata || $doctrineMetadata instanceof ODMClassMetadat",{"fn":320,"file":328,"line":329,"context":330},"vendor_build\\phpstan\\phpdoc-parser\\src\\Ast\\ConstExpr\\ConstExprStringNode.php",73,"assert(strlen($matches[0]) === 1);",{"fn":320,"file":332,"line":296,"context":333},"vendor_build\\phpstan\\phpdoc-parser\\src\\Parser\\ParserException.php","assert($json !== false);",{"fn":320,"file":335,"line":336,"context":337},"vendor_build\\phpstan\\phpdoc-parser\\src\\Parser\\TokenIterator.php",343,"assert($savepoint !== null);",{"fn":320,"file":339,"line":340,"context":341},"vendor_build\\phpstan\\phpdoc-parser\\src\\Printer\\Printer.php",580,"assert($commentStartPos >= 0);",{"fn":343,"file":344,"line":277,"context":345},"exec","vendor_build\\symfony\\process\\ExecutableFinder.php","$execResult = exec('command -v -- '.escapeshellarg($name));",{"fn":347,"file":348,"line":349,"context":350},"proc_open","vendor_build\\symfony\\process\\Process.php",348,"$process = @proc_open($commandline, $descriptors, $this->processPipes->pipes, $this->cwd, $envPairs,",{"fn":347,"file":348,"line":352,"context":353},1233,"return $result = (bool) @proc_open('echo 1 >\u002Fdev\u002Fnull', [['pty'], ['pty'], ['pty']], $pipes);",{"fn":343,"file":348,"line":355,"context":356},1458,"exec(\\sprintf('taskkill \u002FF \u002FT \u002FPID %d 2>&1', $pid), $output, $exitCode);",{"fn":347,"file":348,"line":358,"context":359},1471,"} elseif ($ok = proc_open(\\sprintf('kill -%d %d', $signal, $pid), [2 => ['pipe', 'w']], $pipes)) {",{"fn":305,"file":361,"line":362,"context":363},"vendor_build\\symfony\\yaml\\Inline.php",621,"return unserialize(self::parseScalar(substr($scalar, 12)));",{"prepared":197,"raw":31,"locations":365},[366,369,372],{"file":156,"line":367,"context":368},274,"$wpdb->get_var() with variable interpolation",{"file":161,"line":370,"context":371},66,"$wpdb->get_results() with variable interpolation",{"file":161,"line":373,"context":371},118,{"escaped":375,"rawEcho":376,"locations":377},105,68,[378,381,382,384,385,386,387,389,390,392,393,395,397,399,401,403,405,407,409,411,413,415,417,419,421,423,425,427,429,431,433,436,439,441,443,445,447,449,451,453,454,456,457,459,460,461,463,465,467,468,469,471,472,474,476,478,479,480,481,483,485,488,490,493,495,496,498,499],{"file":140,"line":379,"context":380},80,"raw output",{"file":140,"line":379,"context":380},{"file":140,"line":383,"context":380},82,{"file":140,"line":106,"context":380},{"file":140,"line":106,"context":380},{"file":140,"line":162,"context":380},{"file":140,"line":388,"context":380},87,{"file":140,"line":33,"context":380},{"file":140,"line":391,"context":380},94,{"file":152,"line":379,"context":380},{"file":152,"line":394,"context":380},96,{"file":152,"line":396,"context":380},101,{"file":152,"line":398,"context":380},154,{"file":152,"line":400,"context":380},170,{"file":152,"line":402,"context":380},277,{"file":152,"line":404,"context":380},305,{"file":152,"line":406,"context":380},492,{"file":152,"line":408,"context":380},494,{"file":152,"line":410,"context":380},499,{"file":152,"line":412,"context":380},502,{"file":152,"line":414,"context":380},520,{"file":152,"line":416,"context":380},522,{"file":152,"line":418,"context":380},524,{"file":152,"line":420,"context":380},526,{"file":152,"line":422,"context":380},528,{"file":152,"line":424,"context":380},538,{"file":152,"line":426,"context":380},539,{"file":152,"line":428,"context":380},540,{"file":152,"line":430,"context":380},541,{"file":152,"line":432,"context":380},544,{"file":434,"line":435,"context":380},"src\\Model\\Invoice.php",306,{"file":437,"line":438,"context":380},"src\\Model\\InvoicePdf.php",181,{"file":437,"line":440,"context":380},182,{"file":437,"line":442,"context":380},183,{"file":437,"line":444,"context":380},184,{"file":437,"line":446,"context":380},185,{"file":437,"line":448,"context":380},186,{"file":437,"line":450,"context":380},229,{"file":437,"line":452,"context":380},237,{"file":437,"line":301,"context":380},{"file":161,"line":455,"context":380},45,{"file":170,"line":281,"context":380},{"file":201,"line":458,"context":380},49,{"file":201,"line":329,"context":380},{"file":201,"line":379,"context":380},{"file":201,"line":462,"context":380},83,{"file":201,"line":464,"context":380},103,{"file":201,"line":466,"context":380},106,{"file":201,"line":285,"context":380},{"file":201,"line":285,"context":380},{"file":201,"line":470,"context":380},110,{"file":201,"line":470,"context":380},{"file":201,"line":473,"context":380},158,{"file":211,"line":475,"context":380},69,{"file":240,"line":477,"context":380},78,{"file":240,"line":106,"context":380},{"file":240,"line":162,"context":380},{"file":240,"line":33,"context":380},{"file":240,"line":482,"context":380},131,{"file":240,"line":484,"context":380},132,{"file":486,"line":487,"context":380},"vendor_build\\setasign\\fpdf\\fpdf.php",1013,{"file":486,"line":489,"context":380},1022,{"file":491,"line":492,"context":380},"vendor_build\\tecnickcom\\tcpdf\\include\\tcpdf_static.php",345,{"file":494,"line":464,"context":380},"vendor_build\\tecnickcom\\tcpdf\\tcpdf_barcodes_1d.php",{"file":494,"line":438,"context":380},{"file":497,"line":277,"context":380},"vendor_build\\tecnickcom\\tcpdf\\tcpdf_barcodes_2d.php",{"file":497,"line":438,"context":380},{"file":264,"line":500,"context":380},201,1,[503],{"name":504,"version":505,"knownCves":506},"TCPDF","1.0.004",[],[508,531,553,562,571,592,600,608,621],{"entryPoint":509,"graph":510,"unsanitizedCount":117,"severity":530},"OpenInvoice (src\\Menu\\InvoiceMenu.php:57)",{"nodes":511,"edges":527},[512,516,521,523],{"id":513,"type":514,"label":515,"file":152,"line":383},"n0","source","$_GET (x2)",{"id":517,"type":518,"label":519,"file":152,"line":391,"wp_function":520},"n1","sink","header() [Header Injection]","header",{"id":522,"type":514,"label":515,"file":152,"line":383},"n2",{"id":524,"type":518,"label":525,"file":152,"line":394,"wp_function":526},"n3","echo() [XSS]","echo",[528,529],{"from":513,"to":517,"sanitized":289},{"from":522,"to":524,"sanitized":289},"medium",{"entryPoint":532,"graph":533,"unsanitizedCount":97,"severity":530},"DisplayInvoices (src\\Menu\\InvoiceMenu.php:111)",{"nodes":534,"edges":548},[535,538,539,542,543,546],{"id":513,"type":514,"label":536,"file":152,"line":537},"$_REQUEST['page']",144,{"id":517,"type":518,"label":525,"file":152,"line":537,"wp_function":526},{"id":522,"type":514,"label":540,"file":152,"line":541},"$_GET",153,{"id":524,"type":518,"label":525,"file":152,"line":398,"wp_function":526},{"id":544,"type":514,"label":545,"file":152,"line":400},"n4","$_SERVER['QUERY_STRING']",{"id":547,"type":518,"label":525,"file":152,"line":400,"wp_function":526},"n5",[549,551,552],{"from":513,"to":517,"sanitized":550},true,{"from":522,"to":524,"sanitized":289},{"from":544,"to":547,"sanitized":289},{"entryPoint":554,"graph":555,"unsanitizedCount":501,"severity":530},"DoAjax (src\\Model\\Invoice.php:291)",{"nodes":556,"edges":560},[557,559],{"id":513,"type":514,"label":558,"file":434,"line":46},"$_POST",{"id":517,"type":518,"label":525,"file":434,"line":435,"wp_function":526},[561],{"from":513,"to":517,"sanitized":289},{"entryPoint":563,"graph":564,"unsanitizedCount":501,"severity":530},"DoAjax (src\\WcExtend\\InvoiceMetabox.php:26)",{"nodes":565,"edges":569},[566,568],{"id":513,"type":514,"label":558,"file":201,"line":567},35,{"id":517,"type":518,"label":525,"file":201,"line":458,"wp_function":526},[570],{"from":513,"to":517,"sanitized":289},{"entryPoint":572,"graph":573,"unsanitizedCount":13,"severity":591},"\u003CInvoiceMenu> (src\\Menu\\InvoiceMenu.php:0)",{"nodes":574,"edges":586},[575,576,577,579,580,581,582,584],{"id":513,"type":514,"label":515,"file":152,"line":383},{"id":517,"type":518,"label":519,"file":152,"line":391,"wp_function":520},{"id":522,"type":514,"label":578,"file":152,"line":383},"$_GET (x4)",{"id":524,"type":518,"label":525,"file":152,"line":394,"wp_function":526},{"id":544,"type":514,"label":536,"file":152,"line":537},{"id":547,"type":518,"label":525,"file":152,"line":537,"wp_function":526},{"id":583,"type":514,"label":545,"file":152,"line":400},"n6",{"id":585,"type":518,"label":525,"file":152,"line":400,"wp_function":526},"n7",[587,588,589,590],{"from":513,"to":517,"sanitized":550},{"from":522,"to":524,"sanitized":550},{"from":544,"to":547,"sanitized":550},{"from":583,"to":585,"sanitized":550},"low",{"entryPoint":593,"graph":594,"unsanitizedCount":501,"severity":591},"\u003CInvoice> (src\\Model\\Invoice.php:0)",{"nodes":595,"edges":598},[596,597],{"id":513,"type":514,"label":558,"file":434,"line":46},{"id":517,"type":518,"label":525,"file":434,"line":435,"wp_function":526},[599],{"from":513,"to":517,"sanitized":289},{"entryPoint":601,"graph":602,"unsanitizedCount":501,"severity":591},"\u003CInvoiceMetabox> (src\\WcExtend\\InvoiceMetabox.php:0)",{"nodes":603,"edges":606},[604,605],{"id":513,"type":514,"label":558,"file":201,"line":567},{"id":517,"type":518,"label":525,"file":201,"line":458,"wp_function":526},[607],{"from":513,"to":517,"sanitized":289},{"entryPoint":609,"graph":610,"unsanitizedCount":501,"severity":620},"prepare_items (src\\Model\\InvoiceList.php:208)",{"nodes":611,"edges":618},[612,614],{"id":513,"type":514,"label":540,"file":156,"line":613},265,{"id":517,"type":518,"label":615,"file":156,"line":616,"wp_function":617},"get_results() [SQLi]",278,"get_results",[619],{"from":513,"to":517,"sanitized":289},"high",{"entryPoint":622,"graph":623,"unsanitizedCount":501,"severity":620},"\u003CInvoiceList> (src\\Model\\InvoiceList.php:0)",{"nodes":624,"edges":627},[625,626],{"id":513,"type":514,"label":540,"file":156,"line":613},{"id":517,"type":518,"label":615,"file":156,"line":616,"wp_function":617},[628],{"from":513,"to":517,"sanitized":289},{"summary":630,"deductions":631},"The \"wc-invoice-pdf\" v1.7.3 plugin exhibits a concerning security posture due to several critical findings in its static analysis. The presence of 3 AJAX handlers without authentication checks represents a significant attack surface, allowing potentially unauthorized actions. Furthermore, the taint analysis reveals 2 high-severity flows with unsanitized paths, indicating potential vulnerabilities that could be exploited. The plugin also utilizes dangerous functions such as \"unserialize\" and \"exec,\" which, when combined with unsanitized input, can lead to severe security risks like remote code execution.  Despite having no recorded CVEs, the internal code quality issues, particularly the high number of unsanitized taint flows and unprotected AJAX endpoints, overshadow this positive history.  The plugin demonstrates some good practices like a high percentage of prepared SQL statements and a reasonable number of output escapes. However, the identified risks in the attack surface and taint analysis, coupled with the use of dangerous functions, necessitate immediate attention and remediation to secure its deployed instances.",[632,634,636,638,641],{"reason":633,"points":115},"AJAX handlers without auth checks",{"reason":635,"points":175},"High severity unsanitized taint flows",{"reason":637,"points":115},"Dangerous functions (unserialize, exec)",{"reason":639,"points":640},"Low percentage of properly escaped output",8,{"reason":642,"points":31},"Bundled outdated library (TCPDF v1.0.004)","2026-03-16T22:11:22.488Z",{"wat":645,"direct":655},{"assetPaths":646,"generatorPatterns":649,"scriptPaths":650,"versionParams":652},[647,648],"\u002Fwp-content\u002Fplugins\u002Fwc-invoice-pdf\u002Fbrowser\u002Fjs\u002Fwc-recurring-admin.js","\u002Fwp-content\u002Fplugins\u002Fwc-invoice-pdf\u002Fbrowser\u002Fstyle\u002Fwc-recurring.css",[],[651],"browser\u002Fjs\u002Fwc-recurring-admin.js",[653,654],"wc-invoice-pdf\u002Fbrowser\u002Fjs\u002Fwc-recurring-admin.js?ver=","wc-invoice-pdf\u002Fbrowser\u002Fstyle\u002Fwc-recurring.css?ver=",{"cssClasses":656,"htmlComments":657,"htmlAttributes":658,"restEndpoints":659,"jsGlobals":660,"shortcodeOutput":661},[],[],[],[],[],[]]