Flexible invoicing and shipment flows for accurate accounting — create invoices with or without payment, shipments with or without invoice, and correct due/total calculations.
Create Invoice without Payment: Businesses often need to create an invoice without recording an immediate payment. In core Magento, creating an invoice automatically marks the amount as paid. With
Advanced Invoice & Shipment Module
, creating an invoice without payment will not affect the sales order’s paid amount.
Enforce Invoice with Due from Shipment: Optionally require creating an invoice (with due) when creating a shipment from the shipment form.
Include Shipping Charge Checkbox: Add a checkbox on invoice creation to include the shipping fee with that invoice. If unchecked, the first invoice is created without the shipping charge.
Fix Invoice Totals & Grand Total: Correct calculation of invoice totals (with or without shipping) so Paid / Due / Grand Total reflect standard accounting practice.
Prevent Duplicate Shipping Fee: Fix the issue where shipping fee is being added twice when invoices are created from the shipment form.
Automatic Payment Prevention: Avoid creation of unwanted automatic payments when invoice created from shipment misses tax in due amount — ensure Tax is included in Due when invoice is full due.
Shipment Numbering: Shipment (delivery note / packing slip) should use the same invoice-based numbering (for example T1001-1, T1001A) while allowing the template to show no prices when needed.
Invoice Number Format: Tax Invoice prefix should be T (e.g. T1001) to avoid confusion with the digit 1 in I1001. Confirm compatibility with QuickBooks or accounting software for numbers like T1001-1.
Shipment Form without Prices: Allow generating a delivery note / packing slip that does not show prices.
Print Invoices & Shipment Slips: Add print capability for invoices and shipment/delivery notes directly from admin screens.
Multiple Invoices per Order: Support splitting order into multiple invoices while maintaining correct totals, payments, and numbering.
HOW TO INSTALL VIA SSH.
Step 1.
Before starting the installation:
Ensure your Magento version is compatible - Please check the current compatible versions on its product page.
Install the extension on a testing/development/staging environment first, then, after thoroughly testing it out, install it on a production (live) environment.
Make sure the Magento instance is in developer mode. You can use the php bin/magento deploy:mode:set developer command to change the mode to developer and then check to make sure the generated folder in the root of the Magento project is empty.
Step 2. Copy the extension files into the following paths of your Magento 2 instance. If the app/code/Acx directory does not exist, create it manually:
app/code/Acx/Backend
app/code/Acx/Quote
(example path; this may differ for other modules)
Step 3. Access the root of your magento 2 project from command line and run the following commands:
/* (example extension; this may differ for other modules) */
php bin/magento setup:upgrade
rm -rf var/di generated/*
php bin/magento setup:di:compile
rm -rf pub/static/*/*; rm -rf var/*/*
php bin/magento setup:static-content:deploy -f
php bin/magento cache:flush
Step 4. Flush any cache that you might still have enabled on your server or in Magento.
Step 5:
If your store was in production mode before starting the installation, make sure to switch it back to production mode by running the following command in the root of your Magento installation: php bin/magento deploy:mode:set production.
Step 6:
The extension is now installed on your Magento store! Congratulations!
Invoice Creation from Shipment
When creating shipments from the shipment form administrators can choose whether to create an invoice alongside the shipment. Our extension adds:
Shipment → Invoice Behavior
Checkbox to Include Shipping Fee when creating invoice from shipment (if unchecked, shipping is left for later invoice).
Option to create shipment without generating any invoice or payment entry.
If an invoice is created automatically, ensure the Due amount includes applicable taxes so automatic payments are not incorrectly created.
Why this matters
Prevents incorrect payment entries and accounting mismatches.
Supports partial invoicing workflows and multiple shipments per order.
Invoice Creation & Payment Records
Invoice creation must correctly update payment records so Paid / Due / Outstanding values remain accurate across multiple invoices and shipments.
Invoice → Payment Rules
Paid invoice should increase the payment record; payment rows must include Invoice # and Order # for traceability.
Fix duplicate shipping fee additions when invoices are created from shipment.
Ensure tax is included in Due when invoice is created as full due so automatic payment creation (if present) uses the correct amount.
Example:
Invoice Status Amount Due Paid
I-00000089-1 $112.50 $112.50
I-00000089-2 $37.10 $92.00