Dit artikel beschrijft verschillende validaties voor factuurverwerking binnen ERP-systemen, zoals de validatie van de boekingsdatum, uniciteit, factuurdatum en factuursaldo. Het behandelt ook specifieke controles zoals btw-saldo, berekende btw op kop- en coderingsregels, en validaties met betrekking tot inkooporders. Daarnaast worden validaties voor importgegevens beschreven, zoals herkende IBAN en btw-nummers.
Het artikel biedt richtlijnen over wanneer elke validatie faalt of slaagt, afhankelijk van specifieke voorwaarden en systeeminstellingen.
Het onderstaande artikel betreft Procure to Pay (P2P) voor de volgende toepassingen en/of module(s):
AP Automation & Procurement
Validatie van de boekingsdatum
Technische naam: validate_posting_date
Beschikbaarheid: Generiek Deze validatie controleert of de boekingsdatum van de factuur binnen een open boekingsperiode valt.
Wanneer faalt deze validatie?
- Er is geen boekingsperiode gevonden voor het huidige bedrijf.
- De boekingsdatum van de factuur valt niet binnen een open boekingsperiode.
Wanneer faalt deze validatie niet?
- De boekingsdatum is leeg.
Validatie van uniciteit
Technische naam: validate_uniqueness
Beschikbaarheid: Generiek Deze validatie controleert of eenzelfde factuur al eerder is geregistreerd.
Wanneer faalt deze validatie?
- Een andere niet-verworpen factuur bestaat met:
- dezelfde leverancier
- hetzelfde factuurnummer (hoofdletterongevoelig)
- hetzelfde boekjaar
- Leverancier is leeg
- Factuurnummer is leeg
- Factuurdatum is leeg (indien controle op boekjaar van toepassing is)
Deze validatie controleert:
- Alle niet-afgewezen facturen van dezelfde leverancier;
- Met hetzelfde factuurnummer (hoofdlettergevoelig);
- Binnen hetzelfde jaar als het jaar van de factuurdatum (bijvoorbeeld ‘2025’). Van toepassing op alle ERP-systemen, behalve Exact Online.
De validatie is onafhankelijk van het bedrijf.
Validatie van uniciteit op leverancier en factuurnummer
Technische naam: validate_uniqueness_based_on_vendor_and_invoice_number
Beschikbaarheid: Generiek Zelfde controle als bij 'Validatie van uniciteit', maar zonder controle op boekjaar.
Validatie van factuurdatum
Technische naam: validate_invoice_date
Beschikbaarheid: Generiek Deze validatie controleert of de factuurdatum realistisch is.
Wanneer faalt deze validatie?
- Factuurdatum ligt in de toekomst
- Factuurdatum ligt voor 2000-01-01
- Factuurdatum is ouder dan één maand ten opzichte van vandaag
Validatie van factuursaldo
Technische naam: validate_invoice_equilibrium
Beschikbaarheid: Generiek Deze validatie controleert of het totaalbedrag op de factuurkop overeenkomt met het totaal van de regels.
Wanneer faalt deze validatie?
- Er zijn geen regels beschikbaar
- Geen factuurbedrag beschikbaar
- Netto factuurbedrag en som van de regels komen niet overeen
Wat houden de bedragen in?
- Het netto totaalbedrag = factuurbedrag excl. btw
- De som van de regelbedragen = regelbedragen excl. btw
- De regels omvatten alle (geselecteerde) regels op de factuur, (extra) codering, inkooporder- en kostenregels.
Validatie van btw-saldo
Technische naam: validate_vat_equilibrium
Beschikbaarheid: Alleen voor Dyn365 / AX2012 / M3 Deze validatie controleert of de btw op de regels overeenkomt met de btw op de factuurkop.
Wanneer faalt deze validatie?
- Geen regels beschikbaar
- Geen factuurbedrag beschikbaar
- Verschil tussen totaal btw op regels en op de kop (niet-niet-aftrekbare btw uitgesloten)
*Het btw-bedrag van de regels omvat alle (geselecteerde) regels op de factuur, (extra) codering, inkooporder- en kostenregels. Dit totale btw-bedrag moet gelijk zijn aan het btw-bedrag van de kop.
Het niet-aftrekbare btw-bedrag (indien aanwezig) is uitgesloten van deze berekening.
Validatie van berekende btw op de kop
Technische naam: validate_calculated_vat
Beschikbaarheid: Generiek Deze validatie controleert of het btw-bedrag op de factuurkop correct zijn berekend op de kop.
Wanneer faalt deze validatie?
- Factuurbedrag of btw-bedrag is negatief
- Btw-code is 0% maar btw-bedrag is niet 0
- Btw-code is niet 0% maar btw-bedrag is 0
- Berekend btw-bedrag komt niet overeen met ingevuld btw-bedrag
- Btw-bedrag ≥ bedrag excl. btw, terwijl 'tax explanation code' niet op 'VT' staat
- Btw-bedrag ≠ factuurbedrag, terwijl 'tax explanation code' wel op 'VT' staat
Wanneer faalt deze validatie niet?
- Geen btw-code of btw-bedrag ingevuld op de kop
- Btw-regels aanwezig (btw-splitsing)
Wat houden de bedragen in?
- Factuurbedrag = factuurbedrag incl. BTW - kredietlimiet.
- Werkelijk BTW-bedrag = BTW-bedrag ingesteld op de factuur (kan het BTW-bedrag op de BTW-regels zijn)
- Bedrag exclusief BTW = factuurbedrag - specifieke BTW-bedrag*
- Specifieke BTW-bedrag* = berekende BTW met behulp van (bruto) factuurbedrag en BTW-percentage, daarmede een specifieke berekening met het bruto bedrag in plaats van het netto bedrag.
- Indien het factuurbedrag 0 is, wordt het werkelijke BTW-bedrag gebruikt.
- Berekende BTW-bedrag = bedrag exclusief BTW * BTW-percentage
Validatie van berekende btw op coderingsregels
Technische naam: validate_calculated_vat_on_coding_lines
Beschikbaarheid: Generiek Deze validatie controleert de correcte berekening van btw op coderingsregels.
Wanneer faalt deze validatie?
- Regels met negatieve bedragen of btw-bedragen
- Btw-percentage is 0 maar btw-bedrag is niet 0
- Btw-percentage is niet 0 maar btw-bedrag is 0
- Berekend btw-bedrag ≠ werkelijk btw-bedrag
- Btw-bedrag ≥ regelbedrag (excl. btw)
Wanneer faalt deze validatie niet?
- Geen btw-code of btw-bedrag ingevuld op de regel
Validatie van berekende btw op Inkooporderregels
Technische naam: validate_calculated_vat_on_logistic_lines
Beschikbaarheid: Dyn365 / AX2012 / M3 Deze validatie controleert de correcte berekening van btw op geselecteerde inkooporderregels.
Wanneer faalt deze validatie?
- Zie regels voor coderingsregels (zelfde controles)
- Alleen voor de geselecteerde regels.
- Kostregels zijn niet inbegrepen.
Validatie van berekende btw op toeslagregels
Technische naam: validate_calculated_vat_on_charge_lines
Beschikbaarheid: Dyn365 / AX2012 / M3 Deze validatie controleert de correcte berekening van btw op geselecteerde toeslagregels.
Wanneer faalt deze validatie?
- Zie regels voor coderingsregels (zelfde controles)
- Alleen voor Alleen voor de geselecteerde regels.
Validatie van btw-codes tussen kop en Inkooporderregels
Technische naam: validate_vat_invoice_header_logistic_lines
Beschikbaarheid: Generiek Deze validatie controleert of btw-codes en btw-groepen op de kop overeenkomen met die op de regels.
Wanneer faalt deze validatie?
- Btw-code van een geselecteerde regel is niet aanwezig in de lijst van btw-codes op de kop
- Btw-groep van de regel verschilt van die op de kop of bijbehorende btw-code
Wanneer faalt deze validatie niet?
- Geen geselecteerde inkooporderregels
Aanvullende informatie:
- De BTW-codes van alle geselecteerde inkooporderregels worden nagegaan, inclusief de btw-code van de kostregels.
Met betrekking tot kostregels worden de kostregels voor ERP Dyn365 F&O hier genegeerd. - De BTW-codes van de kop bestaan uit ofwel de BTW-code van de kop of de BTW-codes van de BTW-regels.
Validatie van hoeveelheid in inkooporderregels
Technische naam: validate_logistic_lines_empty_quantity_actual
Beschikbaarheid: Generiek Controleert of de werkelijke hoeveelheid per geselecteerde inkooporderregel is ingevuld en ongelijk is aan 0.
Wanneer faalt deze validatie?
- Hoeveelheid is leeg of 0 op een geselecteerde regel
Wanneer faalt deze validatie niet?
- Geen geselecteerde inkooporderregels
Validatie van bedrag in inkooporderregels
Technische naam: validate_logistic_lines_empty_amount_actual
Beschikbaarheid: Generiek Controleert of het bedrag per geselecteerde inkooporderregel is ingevuld en ongelijk is aan 0.
Wanneer faalt deze validatie?
- Bedrag is leeg of 0 op een geselecteerde regel
Wanneer faalt deze validatie niet?
- Geen geselecteerde inkooporderregels
Validatie van alternatieve hoeveelheid in inkooporderregels
Technische naam: validate_logistic_lines_empty_alternative_quantity_actual
Beschikbaarheid: M3 Controleert of een alternatieve hoeveelheid is ingevuld als de alternatieve eenheid is opgegeven.
Wanneer faalt deze validatie?
- Alternatieve hoeveelheid is leeg of 0 terwijl een alternatieve eenheid is ingevuld
Wanneer faalt deze validatie niet?
- Geen geselecteerde inkooporderregels
Validatie van hoeveelheid t.o.v. te factureren hoeveelheid inkooporderregels
Technische naam: validate_logistic_lines_quantity_to_be_invoiced
Beschikbaarheid: Generiek Controleert of de werkelijke hoeveelheid voor elke geselecteerde inkooporderregel niet groter is dan de te factureren hoeveelheid van die regel.
Wanneer faalt deze validatie?
- Hoeveelheid overschrijdt de te factureren hoeveelheid
Wanneer faalt deze validatie niet?
- Geen geselecteerde regels
*** *** Deze validatie is gerelateerd aan / kan samenwerken met de validatie 'Bedrag act./te factureren in inkooporderregels. Ze vullen elkaar aan en gebruiken het veld factuurmethode als trigger. De validatie ‘Hoeveelheid act./te inv. in inkooporderregels’ is de standaard validatie, die in principe alle regels moet verwerken, omdat hoeveelheid de standaardwaarde is op inkooporderregels. De enige alternatieve waarde op dit moment is ‘bedrag’. Deze regels worden uitsluitend verwerkt door de validatie ‘Bedrag act./te inv. in inkooporderregels’.
Validatie van bedrag t.o.v. te factureren bedrag inkooporderregels
Technische naam: validate_logistic_lines_amount_to_be_invoiced
Beschikbaarheid: Generiek Deze functie controleert of het werkelijke bedrag niet hoger is dan het te factureren bedrag voor elke geselecteerde inkooporderregel.
Wanneer faalt deze validatie?
- Bedrag overschrijdt het te factureren bedrag
Wanneer faalt deze validatie niet?
- Geen geselecteerde regels
Deze validatie is alleen relevant voor klanten die:
- Order- en/of ontvangstregels hebben met de factuurmethode ingesteld op bedrag
- Het werkelijke bedrag niet hoger willen hebben dan het (oorspronkelijke) te factureren bedrag
Validatie van bedrijf tussen kop en regels
Technische naam: validate_company_header_lines
Beschikbaarheid: Generiek Controleert of het bedrijf op elke regel overeenkomt met dat op de factuurkop.
Wanneer faalt deze validatie?
- Geen bedrijf op de kop of (geselecteerde) regel
Wanneer faalt deze validatie niet?
- Vanaf versie NEXT_202505: geen regels aanwezig leidt niet meer tot falen
Validatie van geblokkeerd bedrag
Technische naam: validate_blocked_amount
Beschikbaarheid: Generiek Controleert de regels voor geblokkeerde bedragen.
Wanneer faalt deze validatie?
- Leverancier is niet G-split gerelateerd, maar geblokkeerd bedrag is ingevuld
- Leverancier is g-split gerelateerd, maar geblokkeerd bedrag overschrijdt factuurbedrag
- Geblokkeerd bedrag is ingevuld op een creditfactuur
Wanneer faalt deze validatie niet?
- Geblokkeerd bedrag is leeg of 0
Validatie van inkoopcategorieën
Technische naam: validate_purchase_category
Beschikbaarheid: Generiek Controleert of alle geselecteerde inkooporderregels dezelfde inkoopcategorie hebben.
Wanneer faalt deze validatie?
- Verschillende inkoopcategorieën op geselecteerde regels
Validatie van inkooporder valuta
Technische naam: validate_order_currency
Beschikbaarheid: Generiek Controleert of de valuta van de inkooporder gelijk is aan de factuurvaluta.
Wanneer faalt deze validatie?
- Valuta van een gekoppelde order wijkt af van de factuur
Wanneer faalt deze validatie niet?
- Geen orders aanwezig of gevonden
- De orderdata bevat geen valuta
- Valuta op factuurkop is leeg
Validatie of een inkooporder regels heeft
Technische naam: validate_purchase_order_has_lines
Beschikbaarheid: Generiek Controleert of een gekoppelde inkooporder regels bevat.
Wanneer faalt deze validatie?
- Ordernummer niet gevonden of bevat geen factureerbare regels De validatie faalt als een van de bestelnummers op de factuur niet in de bestelgegevens staat, zoals in de inkoopordertabel of het ERP-systeem. Dit kan een ongeldig of niet factureerbaar bestelnummer zijn.
*Bij de validatie worden de bestelgegevens niet uit de tabel of het ERP-systeem gehaald, maar uit het veld ‘Bestelgegevens’ op de factuur zelf.
Validatie van orderregels
Technische naam: validate_order_numbers_have_lines
Beschikbaarheid: Generiek Controleert of gekoppelde orders nog factureerbare regels bevatten in het ERP.
Wanneer faalt deze validatie?
- Minstens één gekoppeld ordernummer heeft geen factureerbare regels meer
**De inhoud van de ordergegevens die worden opgehaald uit een ERP wordt bepaald door de ERP-interface. Dit wordt over het algemeen gecontroleerd door onze ERP-partners, die de interface controleren/onderhouden en kennis hebben van de regels met betrekking tot orders in dat specifieke ERP.
Validatie van geselecteerde inkooporder- en toeslagregels
Technische naam: validate_invoice_has_selected_lines
Beschikbaarheid: Generiek Controleert of minimaal één geselecteerde regel aanwezig is.
Wanneer faalt deze validatie?
- Geen geselecteerde inkooporderregels, toeslagregels of header charges
Valideren of orderregels al op een andere factuur aanwezig zijn
Technische naam: validate_order_lines_used_on_another_invoice
Beschikbaarheid: Generiek Toont melding als orderregels al aan een andere factuur zijn gekoppeld.
Wanneer faalt deze validatie?
- Geselecteerde inkooporderregel is al gekoppeld aan een andere open of voltooide factuur
Voor deze validatie:
- Moet de factuur open of ingevuld zijn, niet afgewezen.
- De inkooporderregels moeten geselecteerd zijn.
Validatie van herkende gegevens bij import
Technische naam: validate_recognized_data
Beschikbaarheid: Generiek Deze functie valideert herkende velden tijdens het importeren van facturen.
*Deze validatie haalt het leveranciersrecord op uit de masterdata, gebaseerd op de herkende leverancier van de factuur.
Wanneer faalt deze validatie?
- IBAN of btw-nummer wijkt af tussen leverancier en importdata
- Eén van de bovengenoemde gegevens is leeg terwijl de ander gevuld is
Wanneer faalt deze validatie niet?
- Geen leverancier herkend bij import
Validatie van herkende IBAN bij import
Technische naam: validate_recognized_data_iban
Beschikbaarheid: Generiek Controleert specifiek het IBAN tussen leverancier en importdata.
Deze validatie haalt het verkopersrecord op uit de masterdata, gebaseerd op de herkende verkoper van de factuur.
Wanneer faalt deze validatie?
- IBAN wijkt af van de import of één van beide (import of XML) is leeg terwijl de ander gevuld is
Wanneer faalt deze validatie niet?
- Geen leverancier herkend bij import
Validatie van herkend btw-nummer bij import
Technische naam: validate_recognized_data_vat_id
Beschikbaarheid: Generiek Controleert specifiek het btw-nummer tussen leverancier en importdata.
Wanneer faalt deze validatie?
- Btw-nummer wijkt af of één van beide (import of XML) is leeg terwijl de ander gevuld is
Wanneer faalt deze validatie niet?
- Geen leverancier herkend bij import
Validatie betalingsreferentie
Technische naam: validate_payment_reference
Beschikbaarheid: Dyn365 F&O / AX2012 Controleert of de gestructureerde mededeling het juiste patroon en controlegetal bevat.
Wanneer faalt deze validatie?
Deze validatie omvat twee controles:
- Patrooncontrole
De syntaxis van de ingevoerde waarde dient te voldoen aan het hierboven gespecificeerde patroon. - Modulo 97 controle
De ingevoerde waarde moet uit 12 cijfers bestaan (zie patrooncontrole). Wanneer men de eerste 10 cijfers van deze waarde (bijvoorbeeld ‘1231234123’ in het voorbeeldpatroon) door 97 deelt, moet de rest van deze deling (de modulo) gelijk zijn aan de laatste twee cijfers van de waarde (in dit geval ‘45’ in het voorbeeldpatroon). In het gegeven voorbeeld dienen de laatste 2 cijfers in dit geval 28 te zijn.
Validatie contante korting
Technische naam: validate_cash_discounts
Beschikbaarheid: Generiek Controleert de juiste inrichting van kortingsvelden op de factuurkop.
Wanneer faalt deze validatie?
- Kortingsbedrag is negatief of groter dan factuurbedrag incl. btw
- Het kortingsbedrag kan niet gelijk aan 0 zijn indien de kortingscode een kortingspercentage groter dan 0 heeft.
- Er dient een kortingscode te worden ingevoerd indien er een kortingsdatum wordt opgegeven of indien het kortingsbedrag niet gelijk aan 0 is.
- Een kortingsdatum moet worden ingevoerd indien een kortingscode is opgegeven of indien het kortingsbedrag niet gelijk aan 0 is.
Validatie hoeveelheid + eenheid (coderingsregel)
Technische naam: validate_coding_lines_quantity_and_unit
Beschikbaarheid: SAP / JDE Controleert of hoeveelheid en eenheid op coderingsregels beide gevuld zijn of beide leeg.
Wanneer faalt deze validatie?
- Eén van de twee velden is leeg of 0 terwijl de ander is ingevuld
Validatie Two-way met goederenontvangst
Technische naam: validate_logistic_lines_special_two_way
Beschikbaarheid: SAP Waarschuwt voor two way inkooporders met goederenontvangst.
Er is een specifieke markering geïntroduceerd voor een inkooporderregel, aangeduid als ‘SPECIAL_TWO_WAY’. Dit is bedoeld om aan te geven of deze regel een specifiek type inkooporderregel betreft, namelijk een goederenontvangst die kan worden geboekt voordat de goederen daadwerkelijk zijn ontvangen. Dit functioneert derhalve als een two way.
Validatie van transactietype-consistentie
Technische naam: validate_subsequent_consistency
Beschikbaarheid: SAP Valideert de transactietypen op basis van of ze opeenvolgend zijn of niet.
Wanneer faalt deze validatie?
- Een geselecteerde inkooporderregel is gemarkeerd als een ‘opvolgende factuur’, terwijl de transactiesoort van de factuur is ingesteld op ‘Debet’ of ‘Credit’.
- Een geselecteerde inkooporderregel is niet gemarkeerd als een ‘opvolgende factuur’, maar de transactiesoort van de factuur is ingesteld op ‘Achteraf debiteren’ of ‘Achteraf crediteren’.
Wanneer faalt deze validatie niet?
- De factuur van het transactietype 'Debet' of 'Credit' is en geen van de geselecteerde inkooporderregel is gemarkeerd als 'volgfactuur'.
- De factuur van het transactietype 'Debet' of 'Credit' is en alle geselecteerde inkooporderregel zijn gemarkeerd als 'volgende factuur'.
- Het 'opvolgende factuur' is een selectievakje op de inkooporderregel.
Validatie van header charges
Technische naam: validate_header_charges
Beschikbaarheid: Dyn365 F&O Deze validatie controleert of er voor elke headerkosten ten minste één geselecteerde inkooporderregel bestaat voor dezelfde inkooporder, en controleert ook of het ingevoerde bedrag niet hoger is dan het bedrag uit het ERP.
Wanneer faalt deze validatie?
- Er geen inkooporderregel is geselecteerd met hetzelfde ordernummer als de geselecteerde hoofdkostenregel.
- Het werkelijke bedrag van die geselecteerde headerkostenregel is groter dan het oorspronkelijke bedrag dat van het ERP is ontvangen.
Validatie prepayment en één inkooporder
Technische naam: validate_prepayment_amount_multiple_orders
Beschikbaarheid: Dyn365 F&O Controleert of een prepayment-factuur gekoppeld is aan slechts één order.
Wanneer faalt deze validatie?
- Geen ordernummer op de kop ingevuld
- Meer dan één ordernummer ingevuld
Wanneer faalt deze validatie niet?
- Prepayment-bedrag is leeg of 0
Validatie hoogte prepayment-bedrag
Technische naam: validate_prepayment_amount_exceeds_remaining
Beschikbaarheid: Dyn365 F&O Controleert of de factuur niet hoger is dan het prepayment-bedrag.
Wanneer faalt deze validatie?
- Factuurbedrag incl. btw is groter dan het prepayment-bedrag
Wanneer faalt deze validatie niet?
- Prepayment-bedrag is leeg of 0
Validatie ordernummer (coderingsregel)
Technische naam: validate_coding_line_order_number
Beschikbaarheid: JDE Controleert of het ordernummer in de coderingsregel voldoet aan het JDE-patroon.
Wanneer faalt deze validatie?
- Ordernummer op coderingsregel voldoet niet aan het formaat
Wanneer faalt deze validatie niet?
- Geen coderingsregel of ordernummer is leeg
Validatie hoeveelheden zonder decimalen
Technische naam: validate_line_quantity_no_decimals
Beschikbaarheid: JDE Controleert dat de hoeveelheid een geheel getal is.
Wanneer faalt deze validatie?
- Een hoeveelheid (op coderings- of inkooporderregel) bevat decimalen
Validatie fiscale eenheid
Technische naam: validate_fiscal_unit
Beschikbaarheid: Generiek Controleert of kop- en regel bedrijven binnen dezelfde fiscale eenheid vallen.
Wanneer faalt deze validatie?
- Bedrijf op regel valt buiten fiscale eenheid van het bedrijf op de kop