DataFirefly Factur-X SW, elektronische facturatie Shopware 6: complete gids
Installatie, configuratie, Leitweg-ID, profielen Factur-X / ZUGFeRD / XRechnung 3.0 en validatie van e-facturen volgens EN 16931 op Shopware 6.5 tot 6.7.
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
- Kopieer de map van de plugin naar
custom/plugins/DfFacturX(of upload de ZIP vanuit de admin, Extensies en daarna Mijn extensies). - 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(ofnummer-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
- Bij de aanmaak van het factuurdocument (admin, Flow Builder of API) laadt de plugin de bestelling in de exacte bestelversie.
- 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). - In het Factur-X-profiel wordt de XML via een incrementele update in de PDF ingesloten: bestand
factur-x.xmlals bijlage, XMP-metadata PDF A-3 en het Factur-X-extensieschema. Het media-bestand van het document wordt ter plaatse vervangen. - 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
- 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.
- Genereer voor elk daarvan de factuur en exporteer daarna de XML met
--output. - Valideer: KOSIT-validator voor XRechnung, Mustang voor Factur-X / ZUGFeRD.
- Open de hybride PDF in Adobe Acrobat en controleer of de bijlage
factur-x.xmlaanwezig 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).