Peppol

[kleine update uitgevoerd in de tekst hieronder, er is een afbeelding bijgeplaatst op 5-12-2025 met de progressie balk zodat u weet dat peppol bezig is]

Peppol is maandag 8 december live gezet. U kunt het zelf gebruiken in het bedrijf mits u dit aangegeven heeft. (graag ook aangesloten worden dan een bericht naar support@salesred.com sturen graag alvast met uw eigen Peppol ID zodat we deze kunnen invoeren/instellen).

  1. De werking uitleg
  2. Peppol info additioneel (expert)

Er is een tarief van toepassing voor het gebruik van Peppol binnen SalesRed. (dat komt doordat elke factuur verstuurd via het peppol-netwerk, gateway transactie kosten heeft, deze kosten worden doorgerekend aan u aangezien dit kosten van een derde partij zijn).

De afbeeldingen hieronder zijn vanuit een test omgeving en zijn nog niet live in uw account om te gebruiken. (dat wordt binnenkort automatisch actief/live gezet).

De werking uitleg

Als u een peppol factuur gaat versturen dan moet u bij een debiteur een Peppol ID opgeven, zie uitleg afbeelding hieronder:

Bij een PEPPOL-factuur is een Peppol-ID van de ontvanger verplicht. Dit is het unieke elektronische adres van de organisatie binnen het Peppol-netwerk.

Heb je een buitenlandse klant of een klant zonder ondernemingsnummer dan kan een PEPPOL ID worden gebruikt. Een PEPPOL ID bestaat uit 2 delen met als formaat 0000:ABC000000000. Het eerste deel is een identificatiecode dat het type identificatie bepaald en het tweede deel betreft dan de identificatie van je klant.

Om een PEPPOL ID toe te kunnen voegen kunt u een extra veld invullen bij de klantgegevens (zie afbeelding hieronder).

PEPPOL%201

Voor een BE of NL account dat naar een Belgische onderneming een peppol factuur stuurt, vul het Peppol-ID van uw klant in en ook het KBO nummer! (KBO met de structuur 0xxx.xxx.xxx of 1xxx.xxx.xxx voor nieuwe nummers) peppol-noodzakelijk

Vervolgens kunt u een factuur zoals normaal aanmaken, echter bij VERSTUREN kiest u voor VERSTUREN VIA PEPPOL (zie afbeelding hieronder), dan ziet u een progressie balk en zodra deze afgerond is > dan is de factuur verzonden over het Peppol Netwerk.

PEPPOL%202

En dan aansluitend zit u een voortgang balk (afbeelding hieronder). De factuur is hierna zonder foutmelding verstuurd naar de debiteur.

peppol-stap4

Deze error hieronder betekend dat het VERZENDER peppol ID iets mankeerd (dat is het Peppol ID van uw eigen bedrijf, waarmee u verzend) Mocht u deze error hebben dan graag een e-mail naar support@salesred.com error1

De handleiding wordt aangevuld/aangepast in december om het steeds duidelijker te maken.

Peppol info additioneel (expert)

=== VERZENDENDE PARTIJ (dit is van toepassing)

Verzender (leverancier) — verplicht Deze velden zijn vereist voor de leverancier (het bedrijf dat de factuur verstuurt):

Peppol-identificatie voor verzender (één van de volgende):

OIN (Organisatie-identificatienummer) of

KVK (NL) of

KBO (BE) of

BTW-nummer (VatCode)

De helper controleert PeppolIdentification::hasClientPeppolId($objClientSender) en zal een foutmelding geven als scheme_id of endpoint_id leeg is:

"Supplier client does not have valid Peppol identification." → Vertaling: "Leverancier heeft geen geldige Peppol-identificatie."

Adres van de leverancier (van ClientAddress::LoadDefaultAddress(...) of een aangemaakt fallback-adres) moet bevatten:

Address (straat) — komt overeen met {supplier_street}

City (plaats) — komt overeen met {supplier_city}

Postalcode (postcode) — komt overeen met {supplier_postal_code}

Country (land) — een 2-letterige landcode wordt verwacht; als deze leeg is, wordt een foutmelding gegeven:

"Supplier country code is missing." → "Landcode van leverancier ontbreekt."

Phonenumber — telefoonnummer leverancier (verplicht)

Email — e-mailadres leverancier (verplicht)

Als het standaard bedrijfsadres ontbreekt, probeert de klasse er een aan te maken vanuit de Company-gegevens. Als daarna nog steeds verplichte velden ontbreken, wordt een foutmelding gegeven:

"Company address is missing required fields for Peppol." → "Bedrijfsadres mist verplichte velden voor Peppol."

Bedrijfsgegevens van leverancier (verplicht):

VatCode (BTW-nummer leverancier) — verplicht (geeft foutmelding "Supplier VAT number is missing.")

Name (naam van leverancier) — verplicht (geeft foutmelding "Supplier name is missing.")

Bankgegevens (verplicht):

IBAN — de code leest supplierInfo['iban'] en geeft "Supplier IBAN is missing." als deze leeg is.

BIC — optioneel bij een IBAN; als deze ontbreekt, wordt een fallback paymentMeansCode gebruikt, maar IBAN is verplicht.

Ontvanger (klant) — verplicht minst relevant voor het gebruik in SalesRed maar hieronder geeft weer wat er gebeurd als de klant geen jusite info heeft voor het ontvangen van een peppol factuur.


=== ONTVANGER Peppol-identificatie voor ontvanger (zelfde logica als leverancier): Er moet een geldige Peppol-identificatie worden opgegeven via OIN / KVK / KBO of BTW. Als deze ontbreekt, geeft de code een foutmelding:

"Receiver client does not have valid Peppol identification." → "Ontvanger heeft geen geldige Peppol-identificatie."

"Customer scheme identifier is missing." / "Customer endpoint identifier is missing." → "Schema-identificatie van klant ontbreekt." / "Endpoint-identificatie van klant ontbreekt."

Adres van klant (van ClientAddress::Load($this->objDocument->ClientaddressId)) moet bevatten:

Address (straat) — komt overeen met {customer_street}

City (plaats) — komt overeen met {customer_city}

Postalcode (postcode) — komt overeen met {customer_postal_code}

Country (land) — de code controleert DefaultCountry of Country op klant/adres en geeft een foutmelding als deze ontbreekt:

"Customer country is missing. Peppol requires a valid country code." → "Land van klant ontbreekt. Peppol vereist een geldige landcode." (dat is dus voor België = BE en voor Nederland NL en is uiteraard al reeds door u aangegeven bij de debiteur gegevens).

"Customer country code is missing." → "Landcode van klant ontbreekt."

Bedrijfsgegevens van klant (verplicht):

Name — verplicht (geeft foutmelding "Customer name is missing." → "Naam van klant ontbreekt.")

Opmerking: Contactgegevens van de klant (contactpersoon, telefoon, e-mail) zijn in de code bewust optioneel gemaakt — als ze ontbreken, worden ze als lege strings ingevuld.

=== Platform status: You can keep an eye on system availability and any incidents via our status page: https://dokapi.statuspage.io/