Search by

wexample / symfony-remote-peppol

weeger

Peppol e-delivery through an access point: participants, documents, transmissions, inbox and webhooks, whatever the provider

Package info

github.com/wexample/symfony-remote-peppol

pkg:composer/wexample/symfony-remote-peppol

Statistics

Installs: 74

Dependents: 1

Suggesters: 0

Stars: 0

Open Issues: 0

2.0.4 2026-10-22 16:56 UTC

This package is auto-updated.

Last update: 2026-10-22 17:02:42 UTC


README

Version: 2.0.4

Peppol e-delivery through an access point: participants, documents, transmissions, inbox and webhooks, whatever the provider

Table of Contents

Installation

// config/bundles.php
Wexample\SymfonyRemotePeppol\WexampleSymfonyRemotePeppolBundle::class => ['all' => true],
// and one provider package
# config/routes/wexample_symfony_remote_peppol.yaml — the webhook route, /_peppol/webhook/{provider}
wexample_symfony_remote_peppol:
  resource: '@WexampleSymfonyRemotePeppolBundle/Resources/config/routes.yaml'

# config/packages/wexample_symfony_remote_peppol.yaml — only with several access points
wexample_symfony_remote_peppol:
  sender: 'my_provider'

An access point that keeps received documents (InboxInterface) is collected by bin/console peppol:collect, to schedule.

symfony-remote-peppol carries business documents over Peppol, the European e-delivery network, through an access point, whatever the provider. It holds the vocabulary and the plumbing; each provider comes in a package of its own (symfony-remote-peppol-<provider>), as payment providers do beside symfony-remote-payment.

  • PeppolParticipant is an address on the network: 0208:0123456749 (Belgian enterprise number), 0009:<SIRET>, 9925:BE… (Belgian VAT number).
  • PeppolDocument is what is sent: sender, receiver, document type and process, XML. PeppolDocument::billing() types a Peppol BIS Billing 3.0 invoice or credit note.
  • PeppolTransmission tells where a sent document stands: queued, delivered, failed.
  • ReceivedDocument is a document that reached us.

An access point offers capabilities, each an interface: SenderInterface (send, track), InboxInterface (fetch, acknowledge), WebhookParserInterface (its news, signed), DirectoryInterface (who is on Peppol, accepting what). FakeAccessPoint offers them all, in memory, for tests and demos.