Configuring reverse charge on Shopify
Goal
Configure the exemption/VAT nature codes for reverse charge, for each of the customer categories managed by POP.
Prerequisites
- Access to Settings > Reverse Charge in the POP for Shopify app.
Steps
POP manages reverse charge for five customer categories, each with a pair of fields: Type (nature
code for SdI, e.g. N2.1, or VATEX code for PEPPOL depending on the sending channel) and Description
(reason for the exemption):
- EU Private
- EU Business (VAT validated by VIES) — SdI/PEPPOL
- EU Business (VAT not validated by VIES) — SdI/PEPPOL
- Non-EU Private
- Non-EU Companies — SdI/PEPPOL
For stores sending to KSeF, the Type field for the EU/non-EU categories shows a hint of the accepted
value (zero_wdt for EU, zero_export for non-EU).
- For each category, fill in Type and Description according to the applicable tax regime.
- Save the settings: they will be used automatically when generating a document based on the channel (SdI, PEPPOL, or KSeF) and the customer type/country detected on the order.
Verify
- Generate a test document for an order with a VIES-validated EU business customer and check that the XML/PDF report the nature code and description configured for that category.
- Repeat for a non-EU private customer and verify the corresponding category.
Common errors
- PEPPOL doesn’t send to private customers — regardless of the reverse charge codes configured, automatic PEPPOL sending always skips private customers (B2C); the PDF download remains available as a courtesy document.
- The code doesn’t match what SdI/PEPPOL expects — check that you used the correct format for the active channel (SdI nature vs. PEPPOL VATEX): the same Type field is interpreted differently depending on the sending channel.
Related configuration
For the VAT exemption fields contract in the payload, see api/sdi and api/peppol.