# DataFirefly Factur-X SW, elektronische facturatie Shopware 6: complete gids

> Overzicht DfFacturX SW genereert elektronische facturen die voldoen aan EN 16931 voor Shopware 6.5, 6.6 en 6.7. Bij elke aanmaak van een factuurdocument bouwt de plugin een UN/CEFACT CII-XML op…

- Pagina: <https://www.datafirefly.com/nl/documentation/dffacturx-shopware/>
- Taal: nl
- Bijgewerkt op: 2026-08-18
- Andere talen: [fr](https://www.datafirefly.com/documentation/dffacturx-shopware/index.md), [en](https://www.datafirefly.com/en/documentation/dffacturx-shopware/index.md), [es](https://www.datafirefly.com/es/documentation/dffacturx-shopware/index.md), [de](https://www.datafirefly.com/de/documentation/dffacturx-shopware/index.md), [it](https://www.datafirefly.com/it/documentation/dffacturx-shopware/index.md), [pl](https://www.datafirefly.com/pl/documentation/dffacturx-shopware/index.md), [pt](https://www.datafirefly.com/pt/documentation/dffacturx-shopware/index.md)
- Index: <https://www.datafirefly.com/nl/documentation/llms.txt>

## Overzicht

DfFacturX SW genereert elektronische facturen die voldoen aan **EN 16931** voor Shopware 6.5, 6.6 en 6.7. Bij elke aanmaak van een factuurdocument bouwt de plugin een UN/CEFACT CII-XML op en, afhankelijk van het gekozen profiel, sluit hij dit in de factuur-PDF in (Factur-X / ZUGFeRD) of levert hij het als zelfstandig bestand (XRechnung 3.0 voor de Duitse B2G-markt).

- **Factur-X / ZUGFeRD EN 16931**: aanbevolen profiel voor B2B, de door de klant gedownloade PDF is de hybride e-factuur.
- **Factur-X BASIC**: lichter profiel, voor ontvangers die de volledige EN 16931-set niet eisen.
- **XRechnung 3.0**: zelfstandige XML in CII-syntaxis om aan Duitse overheidsinstanties te factureren, met verplichte Leitweg-ID.

## Installatie

1. Kopieer de map van de plugin naar `custom/plugins/DfFacturX` (of upload de ZIP vanuit de admin, Extensies en daarna Mijn extensies).
2. Voer uit:

```
bin/console plugin:refresh
bin/console plugin:install --activate DfFacturX
bin/console cache:clear
```

De activering installeert de set aangepaste velden **Elektronische factuur (DfFacturX)** met het veld `df_facturx_buyer_reference` op de klant en op de bestelling. Daar vult u de Leitweg-ID (BT-10) in.

## Configuratie

Admin, Extensies, DfFacturX, Configuratie. Alle instellingen gelden per verkoopkanaal.

### Algemeen

- **Generatie activeren**: start de aanmaak van de XML bij elk nieuw factuurdocument.
- **Profiel**: Factur-X EN 16931, Factur-X BASIC of XRechnung 3.0.
- **XML in de PDF insluiten**: voor de Factur-X-profielen; het media-bestand van het document wordt vervangen door de hybride PDF.
- **XML aan e-mails toevoegen**: voegt `factur-x.xml` (of `nummer-xrechnung.xml`) toe aan de bestel-e-mails.
- **Alleen B2B**: genereert alleen als de bestelling een bedrijfsnaam of een btw-nummer bevat.

### Verkoper

Bedrijfsnaam, straat, postcode, plaats, land (ISO-2), btw-nummer (BT-31), fiscaal nummer (BT-32), e-mail (BT-34), telefoon en contactpersoon (BG-6). E-mail en contactpersoon zijn verplicht voor XRechnung.

Minimaal vereiste verkopervelden: naam, straat, postcode, plaats, land, plus het btw-nummer _of_ het fiscale nummer (regel BR-CO-26). Zonder deze gegevens mislukt de generatie met een expliciete fout in de logs.

### Betaling

IBAN en BIC (SEPA-overschrijving, code 58), tekst van de betalingsvoorwaarden (BT-20) en betalingstermijn in dagen (BT-9). Zonder IBAN wordt de betaalwijze aangegeven met code 1 (niet gedefinieerd).

### Btw-behandeling

Voor tarieven van 0 % past de modus **Automatisch** het volgende toe: **K** intracommunautaire levering (koper met btw-nummer in een ander EU-land), **G** export buiten de EU, **Z** in de overige gevallen. U kunt een vaste categorie forceren (Z, E, K, G) en de vrijstellingsgrond (BT-120) aanpassen.

### XRechnung

Technische naam van het aangepaste veld met de kopersreferentie (standaard `df_facturx_buyer_reference`) en terugvalwaarde wanneer er geen veld is ingevuld.

## Leitweg-ID en kopersreferentie (BT-10)

Vul de Leitweg-ID één keer in op de klantkaart (tabblad aangepaste velden): hij wordt overgenomen op al zijn facturen. Voor een eenmalig geval vult u hem rechtstreeks op de bestelling in; de waarde van de bestelling gaat vóór de waarde van de klant, die weer vóór de terugvalwaarde gaat.

In het XRechnung-profiel **weigert** de plugin een ongeldige XML te genereren wanneer er geen kopersreferentie wordt gevonden, en registreert hij een fout. Corrigeer het gegeven en start opnieuw met `df:facturx:generate --force`.

## Werking

1. Bij de aanmaak van het factuurdocument (admin, Flow Builder of API) laadt de plugin de bestelling in de exacte bestelversie.
2. De CII-XML wordt opgebouwd en daarna opgeslagen in de aangepaste velden van het document (`df_facturx_xml`, `df_facturx_profile`, `df_facturx_generated_at`).
3. In het Factur-X-profiel wordt de XML via een incrementele update in de PDF ingesloten: bestand `factur-x.xml` als bijlage, XMP-metadata PDF A-3 en het Factur-X-extensieschema. Het media-bestand van het document wordt ter plaatse vervangen.
4. Als de optie actief is, wordt de XML aan de bestel-e-mails toegevoegd.

Voeg met de Flow Builder de actie voor het genereren van de factuur toe aan uw bestelflow: de e-factuur volgt automatisch, verdere handelingen zijn niet nodig.

Per ontwerp blokkeert een fout in de e-factuur nooit de aanmaak van het document: het incident wordt geregistreerd en de klassieke PDF-factuur blijft beschikbaar.

## Boekhoudkundig model EN 16931

- **Nettomodel**: bestellingen inclusief btw worden omgezet via de berekende belastingen van Shopware.
- **Promoties**: omgezet naar kortingen op documentniveau (BG-20), één regel per btw-tarief, omdat de norm negatieve regels verbiedt (BR-27).
- **Verzendkosten**: aangegeven als toeslagen op documentniveau (BG-21), één regel per tarief.
- **RoundingAmount (BT-114)**: vangt elke afrondingsafwijking op, zodat het GrandTotal van de XML exact gelijk is aan het totaal van de Shopware-bestelling.
- **SEPA-betaling**: overschrijving code 58 met IBAN/BIC, vervaldatum berekend vanaf de factuurdatum.

## Consolecommando

```
# De e-factuur van de laatste factuur van een bestelling opnieuw genereren
bin/console df:facturx:generate 10042 --force

# De XML naar een bestand exporteren (voor een validator)
bin/console df:facturx:generate 10042 --output=/tmp/10042.xml

# Eenmalig een profiel forceren (impliceert het opnieuw genereren)
bin/console df:facturx:generate 10042 --profile=xrechnung-30
```

## Validatiechecklist vóór productie

1. Maak testbestellingen die uw echte situaties dekken: kanaal inclusief btw en kanaal exclusief btw, promotie, verzendkosten, intracommunautaire verkoop met btw-nummer, export buiten de EU.
2. Genereer voor elk daarvan de factuur en exporteer daarna de XML met `--output`.
3. Valideer: [KOSIT-validator](https://github.com/itplr-kosit/validator) voor XRechnung, [Mustang](https://www.mustangproject.org) voor Factur-X / ZUGFeRD.
4. Open de hybride PDF in Adobe Acrobat en controleer of de bijlage `factur-x.xml` aanwezig is.

## Probleemoplossing

- **Geen XML gegenereerd**: controleer of de plugin geactiveerd is voor het verkoopkanaal, of het documenttype daadwerkelijk _factuur_ is, en of de modus alleen B2B de bestelling niet uitfiltert. Raadpleeg de logs (`var/log`).
- **Fout "Missing seller configuration"**: vul de kaart Verkoper aan (minimaal vereiste velden hierboven).
- **Waarschuwing "PDF embedding skipped"**: de structuur van de PDF liet insluiting niet toe; de XML blijft beschikbaar als e-mailbijlage en via de console. Typisch geval: een PDF die door een externe engine is gegenereerd.
- **XRechnung geweigerd**: kopersreferentie ontbreekt, vul het aangepaste veld of de terugvalwaarde in en gebruik daarna `--force`.
- **Opnieuw genereren na een configuratiewijziging**: reeds verwerkte documenten worden niet automatisch opnieuw verwerkt, gebruik `df:facturx:generate --force`.

## Bekende beperkingen en roadmap

- Versie 1.0: alleen facturen (code 380). Creditnota's (381) en correctiefacturen (384) staan gepland voor 1.1.
- Strikte conformiteit met PDF/A-3B hangt ook af van eigenschappen van de bron-PDF die door de dompdf-engine van Shopware wordt geproduceerd (ingesloten lettertypen, output intent). Ontvangers en boekhoudpakketten gebruiken in alle gevallen de ingesloten XML; voor een strikte PDF/A-3B-eis gebruikt u het XRechnung-profiel of de XML-bijlage.
- Eén btw-regel per bestelregel (standaardgedrag van Shopware).
