Send an invoice or a credit note
France onlyLearn how to send electronic invoices and credit notes to French business and public sector recipients using the AFNOR connector API.
Prerequisites
- A valid invoice or credit note in a supported XML format or as a Factur-X PDF.
- The Peppol connector is installed and activated in the Network Connectors app.
- An app registered on a Jefacture space. See step 2 in this recipe.
- Banqup permissions.
- The resource ID necessary to start this recipe:
Step 1: Set up webhook subscriptions (optional)
See steps 1 and 4 in this recipe to learn how to set up and manage webhook subscriptions for receiving document delivery status updates.
Step 2: Send the invoice or credit note
Endpoint: /network/documents/spaces/connectors/afnor/v1/flows
Header parameters:
Organization-Id: ThespaceIdof the sending space in Jefacture.Request-Id(optional): Client-generated unique identifier used to trace logs across requests.
Note:
- Provide a client-generated
trackingIdin theflowInfo. Use this ID to track the document's processing and delivery status. - If a routing identifier is required, add the returned service code to the appropriate recipient-routing field in the invoice XML before submitting the document. See this recipe on how to get the routing code.
Requires a multipart/form-data request body.
curl -L 'https://{{serverURL}}/network/documents/spaces/connectors/afnor/v1/flows' \
-H 'Organization-Id: 817eda74-1ede-44a3-a977-bbef6131e626' \
-H 'Authorization: Bearer YOUR_TOKEN' \
--form 'file=@"/path/to/Facture.pdf"' \
--form 'flowInfo={\"flowProfile\": \"Basic\", \"flowSyntax\": \"Factur-X\", \"name\":\"Facture.pdf\",\"trackingId\":\"tf218a6f-913a-499d-b0b5-f5eab0555fe2\"};type=application/json'
Successful response: 202 Accepted means the request was accepted for processing. Use the trackingId to track the document's processing and delivery status.
{
"trackingId": "tf218a6f-913a-499d-b0b5-f5eab0555fe2",
"name": "Facture.pdf",
"flowSyntax": "Factur-X",
"sha256": "5d32bc9d040bc4696e2c817cbc87e301f4bd39bee0d9bca51a0808daed0079ba",
"flowProfile": "Basic",
"flowId": "p9b46a11-dff3-4de6-8313-5400342bf373",
"submittedAt": "2026-08-31T09:41:26.455127Z"
}
Step 3: Track processing and delivery
Check processing status using search criteria (trackingId, ackStatus, or flowType).
Endpoint: /network/documents/spaces/connectors/afnor/v1/flows/search
Header parameters:
Organization-IdRequest-Id(optional)
Requires a JSON request body.
curl -L 'https://{{serverURL}}/network/documents/spaces/connectors/afnor/v1/flows/search' \
-H 'Organization-Id: 817eda74-1ede-44a3-a977-bbef6131e626' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_TOKEN' \
-d '{
"where": {
"trackingId": "tf218a6f-913a-499d-b0b5-f5eab0555fe2"
},
"limit": 25
}'
Successful response:
{
"limit": 25,
"filters": {
"trackingId": "tf218a6f-913a-499d-b0b5-f5eab0555fe2"
},
"results": [
{
"trackingId": "tf218a6f-913a-499d-b0b5-f5eab0555fe2",
"name": "Facture.pdf",
"flowSyntax": "Factur-X",
"flowId": "p9b46a11-dff3-4de6-8313-5400342bf373",
"submittedAt": "2026-08-31T09:41:26.455127Z",
"updatedAt": "2026-08-31T09:43:10.070732Z",
"flowType": "SupplierInvoice",
"processingRule": "Undefined",
"flowProfile": "Basic",
"processingRuleSource": "Input",
"flowDirection": "In",
"acknowledgement": {
"status": "Ok"
}
}
]
}
Step 4: Download documents
See step 3 in this recipe to learn how to download original, converted, or human-readable versions of the document.