This plugin automatically sends invoices via the PEPPOL network through B2BRouter when HikaShop orders reach configured statuses. B2BRouter is a certified PEPPOL access point covering 40+ countries. The plugin builds invoice data directly from the HikaShop order and sends it via the B2BRouter REST API. No dependency on the PDF Invoice plugin.
Features
- Automatically sends invoices to B2BRouter when orders reach configured statuses (e.g. "confirmed", "shipped").
- Builds invoice JSON directly from the HikaShop order data (products, taxes, shipping, discounts).
- Automatic PEPPOL recipient lookup via the B2BRouter directory to determine the correct routing scheme and document type.
- Automatic VAT-to-PEPPOL identifier mapping for 15+ EU countries (Belgium, France, Germany, Netherlands, Italy, Spain, etc.).
- Shipping and payment fees included as separate invoice lines with their tax rates.
- Coupon/discount amounts applied as invoice allowances.
- Optional PEPPOL Invoice payment method at checkout for B2B customers, sending the invoice immediately when the order is placed.
- Recipient validation at order creation: blocks the order if the buyer's company is not registered on the PEPPOL network.
- Duplicate prevention: orders already submitted to B2BRouter are skipped.
- B2BRouter invoice ID, delivery status, and link displayed in the backend order details page.
- Configurable environment (staging for testing, production for live).
- Send immediately on order status change, or create as draft for manual review in B2BRouter.
- Configurable payment due days.
- Full error logging with request and response details for troubleshooting.
- Debug mode for logging all API requests and responses.
How it works
- 1. An order reaches a configured status (e.g. "confirmed").
- 2. The plugin builds an invoice from the order data (products, taxes, addresses, totals).
- 3. The plugin looks up the recipient in the B2BRouter PEPPOL directory to verify their registration and get routing details.
- 4. The invoice is submitted to B2BRouter via their REST API.
- 5. B2BRouter validates the invoice and routes it to the buyer via the PEPPOL network.
- 6. The B2BRouter invoice ID and status are stored in the order for tracking.
Installation
- 1) Create a B2BRouter account and set up your company details (name, address, VAT number).
- 2) Generate an API key in the B2BRouter dashboard.
- 3) Activate the PEPPOL transport on your B2BRouter account and add a bank account.
- 4) Download the B2BRouter plugin from our website.
- 5) Install it on your Joomla or WordPress website.
- 6) Enable the plugin and configure your API key, account ID, and bank account ID.
- 7) In HikaShop, go to System > Order statuses and configure which statuses should trigger invoice submission in the "B2BRouter" column.
Configuration
- API Key: Your B2BRouter API key from the dashboard.
- Account ID: Your B2BRouter account ID (numeric).
- Bank Account ID: The ID of the bank account to use on invoices (from B2BRouter's Bank Accounts section).
- Environment: Staging (for testing) or Production (for live invoices).
- Transport: PEPPOL (send via the PEPPOL network) or Email (send as PDF by email).
- Send immediately: When enabled, invoices are sent right away. When disabled, they are created as drafts for review.
- Payment due days: Number of days after the invoice date for the payment due date.
- Debug mode: Logs all API requests and responses to the HikaShop log file.
PEPPOL Invoice payment method
The plugin can optionally display a "PEPPOL Invoice" payment method during checkout for B2B customers (those with a VAT number). When a customer selects this payment method:
- The order is created with status "created" (unpaid).
- The invoice is sent immediately via PEPPOL to the buyer's accounting system.
- The invoice includes configurable payment instructions (bank transfer details, etc.).
- The buyer pays based on the instructions on the invoice.
- The merchant confirms payment manually in HikaShop when received.
The PEPPOL Invoice payment method is only shown to customers who have a VAT number in their billing address, and only when the recipient is found on the PEPPOL network. Enable it in the plugin settings with the "PEPPOL Invoice payment" option. Requires HikaShop 6.4.1 or newer.
Troubleshooting
- If an invoice submission fails (API error, network issue, etc.), the error is logged in the HikaShop log file with the full request and response details. Enable debug mode for even more detailed logging.
- To retry a failed submission, change the order status to a non-exportable status (e.g. "created") and then back to an exportable status (e.g. "confirmed"). This will retrigger the invoice creation.
- If an invoice was already successfully submitted, changing the status back and forth will not create a duplicate. The plugin stores the B2BRouter invoice ID in the order and skips orders that have already been exported.
- If the recipient is not found on the PEPPOL network, the invoice will still be created but B2BRouter will report a "No suitable document type" error. Make sure the recipient's company is registered on the PEPPOL network.
Use
- This plugin is compatible with all the editions of HikaShop
- No dependency on the PDF Invoice plugin
- Requires the PHP cURL extension
- Compatible with PHP 7.4 minimum
- Compatible with Joomla and WordPress
- A B2BRouter account with API access is required
- No limit of time
- No limit of use
Changelog
1.0.0 on the 24th of March 2026
- Initial release of the plugin.