---
title: "Verzenden & ontvangen"
space: "eInvoicing"
url: "https://www.prilk.com/nl/docs/edocument/integration/verzenden-ontvangen"
updated: "2026-05-14"
---

## Verzenden & ontvangen

Dagelijkse flow, eenmaal credentials en webhook/polling ingesteld.

### Verzenden — outbound

1. Maak / dien een Verkoopfactuur in voor een PEPPOL-klant (klant heeft Electronic Address)
2. EDocument wordt auto-gemaakt (of klik **Generate XML** op een handmatig gemaakt EDocument)
3. XML wordt auto-gevalideerd; status wordt "Validation Successful"
4. Klik **Transmit via API**

Wat de app doet:
- Zoekt de bijpassende **EDocument Integration Settings** op de Company van de factuur
- Routeert naar de geconfigureerde integrator (B2B Router of Recommand)
- Haalt het EndpointID van de ontvanger uit de XML
- Roept de send-endpoint van de provider aan met de XML
- Update EDocument-status naar "Transmission Successful"
- Slaat het document-ID van de provider op in `EDocument.reference` voor tracking
- Voegt een comment toe met de tracking-ID

Faalt verzending? Status wordt "Transmission Failed" en de fout staat op het EDocument.

### Ontvangen — inbound

Twee kanalen afhankelijk van wat uw provider ondersteunt:

**Webhook (realtime):**
```
Provider ontvangt doc → POST naar /api/method/edocument_integration.api.webhook
  → EDocument aangemaakt, XML als bijlage
  → Detector vult profiel + bedrijf in
  → Validator draait XSD + Schematron
```
Nieuwe EDocument-records verschijnen seconden na ontvangst. Open er één voor review en de match-en-import-flow.

**Polling (gepland of handmatig):**
```
Uurlijkse scheduler (of handmatige klik) → poll provider-inbox
  → Per ongelezen document:
    → Dedup-check (skip bij bestaand reference)
    → Maak EDocument (eerst zonder profiel — voorkomt premature validatie)
    → Bijlage XML → profiel zetten → opslaan (triggert validatie)
```

Beide paden monden uit in dezelfde review-en-create-flow.

### Inkoopfacturen maken uit inbound documenten

Nadat het EDocument ontvangen en gevalideerd is:

1. Open het EDocument-record
2. (Optioneel) Klik **Match Document** als matching niet automatisch ging
3. **Create Document** — parset de XML en maakt in één stap een Inkoopfactuur
4. Of **Create & Review Document** — opent een bewerkbaar Inkoopfactuur-formulier met parsed data, handmatig opslaan

Zie [Facturen ontvangen](/nl/docs/edocument/facturen-ontvangen) voor de volledige matching- en parsing-flow.

### API-endpoints

Voor externe automatisering of testen:

| Endpoint | Method | Doel |
|---|---|---|
| `/api/method/edocument_integration.api.webhook` | POST | Publiek — ontvangt XML van serviceproviders |
| `/api/method/edocument_integration.api.transmit_edocument` | POST | Verzendt EDocument; arg: `edocument_name` |
| `/api/method/edocument_integration.api.poll_incoming_invoices` | POST | Handmatige poll; args: `profile`, optioneel `company` |
| `/api/method/edocument_integration.api.get_edocument_integration_settings` | POST | Lees decrypted credentials (alleen System Manager) |

### Tracking en audit

| Wat | Waar |
|---|---|
| Per-EDocument transmissie-status | EDocument-record — Status-veld |
| Provider-document-ID | `EDocument.reference`-veld |
| Mislukte transmissies | EDocument-status "Transmission Failed" + Error-veld |
| Overgeslagen duplicaten | Error Log met `reference`-ID |
| Webhook-payloads | Frappe Request Log (indien aan) |

### Troubleshooting

- **Transmissie faalt** — open EDocument, check Error-veld; verifieer EndpointID van ontvanger en Integration Settings-credentials
- **Geen inkomende documenten** — bevestig webhook-URL of polling actief; check provider-dashboard op documenten in hun queue
- **Verkeerd bedrijf auto-toegewezen** — verifieer dat EndpointID in XML overeenkomt met exact één Company; anders valt detector terug op klantnaam

Voor low-level architectuur: zie [edocument_integration op GitHub](https://github.com/prilk-consulting/edocument_integration).
