WorkestraDocs
ModulesFinance

PEPPOL E-Invoicing

Send and receive EU-compliant electronic invoices via the PEPPOL network.

PEPPOL (Pan-European Public Procurement Online) enables standardized electronic invoicing across the EU. Workestra supports both sending and receiving PEPPOL invoices with UBL 2.1 format (PEPPOL BIS Billing 3.0).

PEPPOL is required for B2G (business-to-government) invoicing in many EU countries and increasingly adopted for B2B transactions.

Supported Providers

Workestra supports two PEPPOL access point providers:

ProviderDescription
PeppyrusPrimary provider — full send/receive support with PDF rendering
PeppoxAlternative provider — send support

Configure your provider in Finance → Settings → PEPPOL.

Setting Up PEPPOL

  1. Go to Finance → Settings → PEPPOL
  2. Select your provider (Peppyrus or Peppox)
  3. Enter your API key and endpoint credentials
  4. Your PEPPOL endpoint ID is configured automatically

PEPPOL provider API keys are encrypted at rest with AES-256-GCM before they touch the database, and never displayed back to you after saving (the field shows a masked placeholder). Saves and rotations are recorded in the workspace audit log so you always have a paper trail of who changed what.

Identification Schemes

PEPPOL supports 15 identification schemes for addressing recipients:

SchemeCountry
0007 (GLN)International
0009 (SIRET)France
0088 (EAN)International
0096 (DUNS)International
0106 (NL:KVK)Netherlands
0190 (NL:OIN)Netherlands
0192 (NO:ORG)Norway
0195 (SG:UEN)Singapore
0196 (IS:KTAL)Iceland
0198 (DK:ERST)Denmark
0201 (IT:IPA)Italy
0204 (DE:LWID)Germany
0208 (BE:EN)Belgium
0209 (DE:LEITWEG)Germany
0210 (IT:CF)Italy

Sending Invoices via PEPPOL

  1. Create an invoice with a client that has a PEPPOL endpoint
  2. Click Send via PEPPOL on the invoice
  3. Workestra generates a UBL 2.1 XML document conforming to PEPPOL BIS Billing 3.0
  4. The document is transmitted through your configured access point
  5. Delivery status is tracked automatically

UBL XML Generation

Invoices are converted to UBL 2.1 XML format with:

  • Full PEPPOL BIS Billing 3.0 compliance
  • Proper identification schemes and endpoint addressing
  • Tax breakdown and line-item details
  • No external XML libraries required — built-in generator

Delivery Status

After submission, delivery status is polled daily by an automated cron job:

StatusDescription
SubmittedDocument sent to access point
DeliveredConfirmed received by recipient
FailedDelivery error — review and retry

Receiving PEPPOL Invoices (Inbound)

Navigate to Finance → PEPPOL (/finance/peppol) to view received e-invoices.

Inbound Message Processing

A daily cron job polls your PEPPOL access point for new inbound messages:

  1. New messages are fetched and stored automatically
  2. Each message appears in the PEPPOL inbox with:
    • Sender information
    • Document type and date
    • Amount and currency
  3. You can:
    • View details — See the full invoice content
    • Render as PDF — Generate a PDF version via Peppyrus
    • Confirm receipt — Send acknowledgment to the sender

When a new inbound PEPPOL invoice lands, you get an in-app notification linking straight to the inbox row.

Coming soon — convert inbound to expense. A "Create expense from this PEPPOL invoice" action is on the roadmap so AP invoices can flow directly into the expenses workflow.

Participant Lookup

Search the PEPPOL network to check if a business is registered:

  1. Enter the recipient's identification number
  2. Select the appropriate scheme
  3. The system queries the PEPPOL directory
  4. Results show whether the participant is registered and reachable

Automated Processing

Two daily cron jobs handle PEPPOL automation:

JobSchedulePurpose
Delivery PollDaily at midnightCheck status of outbound submissions
Inbound PollDaily at 1:00 AMFetch new inbound messages from access point

Next Steps