GitHub

PEPPOL

Understand PEPPOL provider lookup and where it fits in the SDK.

On this page

PEPPOL provider lookup is a public root-client workflow. It does not require an authenticated KSeF context and it does not participate in invoice session processing by itself.

Use it as reference data: populate provider choices, validate provider ids, or refresh a local provider cache. Keep it separate from sending invoices, querying KSeF invoice metadata, exports, and UPO status.

Where it sits in the SDK

PEPPOL is exposed on the root client next to other public branches:

for provider in client.peppol.list():
    print(provider.id, provider.name)
python

list() returns a Pager over the paginated response: iterating it follows the pages for you, .pages() yields one list per page and .first_page() makes a single request.

providers_by_id = {
    provider.id: provider.name
    for provider in client.peppol.list()
}
python

Product boundary

Provider records are product reference data. Cache provider ids and names according to your freshness requirements, and refresh that cache independently from authenticated invoice workers.

Only connect this lookup to invoice workflows when your own product has a PEPPOL-specific step, such as letting a user choose a provider id before building an integration-specific payload.