Setting Up a Provider
Setting Up a Provider
Before you can transmit or receive PEPPOL documents over the network, configure the integration once per service provider account.
Prerequisites
- A contract with B2B Router or Recommand
- API credentials from your provider
- The base eInvoicing app installed (this is the
edocument_integrationcompanion)
Recommand — getting credentials
- Log in to peppol.recommand.eu
- Settings → API Keys — generate or copy the API Key and API Secret
- Note your Team ID (used as Account ID below) and Company ID on the same settings page
B2B Router — getting credentials
- Log in to your B2B Router account
- Generate an API key from the account settings
- Note your Account ID
EDocument Integration Settings
EDocument Integration Settings → New (one record per provider account):
| Field | What |
|---|---|
| EDocument Profile | "PEPPOL" (or your configured profile) |
| Company | The ERPNext Company this integration applies to |
| EDocument Integrator | "B2B Router" or "Recommand" |
| API Key | Your provider's API key |
| API Secret | Provider secret (Recommand only; encrypted at rest) |
| Base URL | Provider's API endpoint (defaults filled in for both) |
| Account ID | B2B Router account ID, or Recommand's Team ID |
| Company ID | Recommand only — your Recommand Company ID |
Save. The connection is now ready to use.
Multi-company / multi-provider
You can create multiple Integration Settings records — one per Company / provider combination. When you click Transmit via API on an EDocument, the app picks the matching settings based on the source invoice's Company.
Verifying the connection
- For Recommand: log into the Recommand dashboard and check Status — it should reflect a healthy connection
- For B2B Router: a manual test transmission of a draft invoice is the simplest verification
Security
- The API Secret field is encrypted at rest. Read it back via
frappe.get_doc(...).get_password("api_secret"), never via plain attribute access. - Don't share Integration Settings with users who don't need it. Restrict the DocType to a Finance Manager or System Manager role.
- The webhook endpoint is public (
allow_guest=True) — see Configuring a Service Provider for security considerations.
Next
- Configuring a Service Provider — webhook URL, polling schedule
- Sending & Receiving — daily flow
Last updated 3 days ago
Was this helpful?