Which transmission channel to choose: SdI via POP, Fatture in Cloud, Aruba, SdI via PEC, PEPPOL, KSeF, Zoho
Goal
Understand which transmission channel to activate for your store, among those available in POP. The channels are mutually exclusive: you can have only one active at a time (activating one automatically deactivates the others).
Available channels
| Channel | Who it’s for | External dependencies | Notes |
|---|---|---|---|
| SdI via POP | Those who want the simplest flow for Italy: no external service to configure | None | Direct transmission to SdI, notifications handled inside POP, automatic verification of the recipient’s tax code/VAT number. |
| SdI via PEC | Low volumes, those who already have a PEC (certified email) mailbox and don’t want additional external accounts | PEC mailbox | The XML is sent via PEC email; outcome notifications must be checked manually in the PEC mailbox — they are not handled automatically by POP. |
| Fatture in Cloud | Those who already use Fatture in Cloud for accounting/invoicing | Active Fatture in Cloud subscription | Goes through the official Fatture in Cloud API; requires mapping payment methods and a balance account before the first submission. |
| Aruba Business | Those who already use Aruba as their e-invoicing provider | API activation on Aruba | Less configuration flexibility than the other options. |
| PEPPOL | B2B sales abroad (PEPPOL network) | None | Not an alternative to SdI for Italy: it’s the corridor for intra-EU e-invoicing. Covers 28 countries (full list in api/peppol) — Spain is excluded (Facturae corridor, not yet supported), and so are Northern Ireland and Liechtenstein. |
| KSeF | Sales to Poland | Polish NIP (tax number) | See KSeF activation — requires a dedicated registration separate from SdI/PEPPOL. |
| Zoho (native) | Those who use Zoho Invoice/Zoho Books and want sync managed directly by POP | OAuth authorization to Zoho | See Zoho activation. Doesn’t require your own n8n instance. For accounts registered in the United Arab Emirates, Saudi Arabia, Bahrain, Kuwait, Oman, or Qatar, this is the only available channel: these countries have no supported official e-invoicing network (no SdI/PEPPOL/KSeF). |
If you’d rather manage the sync logic yourself on your own self-hosted n8n instance (more control/ customization), a dedicated package also exists — see syncing to Zoho via n8n.
How to choose
- You only sell in Italy and don’t already use an external accounting system → SdI via POP: it’s the path with the fewest configuration steps, and notifications stay inside POP.
- You already use Fatture in Cloud or Aruba for accounting → connect that integration instead of duplicating data elsewhere, but budget time to complete the required mapping (accounts, payment methods).
- Very few documents per month and you want zero extra cost/services → SdI via PEC, knowing that you’ll have to manually check the outcomes in the PEC mailbox.
- Your store is based in Italy or San Marino → stay on SdI (via POP or via PEC) even for foreign business customers: PEPPOL never activates in this case, regardless of the customer’s country. Invoices to foreign customers still go through SdI, using the conventional recipient code for non-Italian recipients.
- Your store is based in an EU country other than Italy/San Marino covered by PEPPOL (full list in api/peppol) and you sell B2B → use PEPPOL: it’s the channel equivalent to SdI for e-invoicing in those countries.
- You sell in Poland → you need KSeF, regardless of the channel chosen for Italy.
- Your account is registered in the United Arab Emirates, Saudi Arabia, Bahrain, Kuwait, Oman, or Qatar → native Zoho is the only option: no other channel is available for these countries.
Good to know
- On WordPress, none of these channels require a paid plan to activate: every plan, including Free, can send using its own credits. On Shopify, PEPPOL, native Zoho, KSeF, and the webhook still require the Basic plan or higher.
- Activating SdI via POP and PEPPOL at the same time is not supported: if both end up active, the one activated last takes precedence and the other is automatically deactivated.
- You can change channel later, but the new channel’s configuration (credentials, mappings) has to be redone — there is no automatic data migration between one integration and another.
Related configuration
For activation details of each channel, see the dedicated guides in this same section (“Integrations”).