Document Status
Track the delivery lifecycle of sent invoices and credit notes on the Peppol network.
Track the lifecycle of sent documents. After calling send(),
use getStatus() to check delivery progress at any time.
import { Peppol } from "@getpeppr/sdk";
const peppol = new Peppol({ apiKey: "sk_live_..." });
// Send an invoice
const result = await peppol.invoices.send(invoiceData);
console.log(result.status); // "submitted"
// Check status later
const status = await peppol.invoices.getStatus(result.id);
console.log(status.status);
// Status flow:
// "submitted" → "delivered" → "accepted" → "paid"
// → "rejected"
// → "failed"
// Access Peppol message ID once sent
if (status.peppolMessageId) {
console.log(`Peppol AS4 ID: ${status.peppolMessageId}`);
}Example Response
{
"id": "inv_abc123",
"status": "delivered",
"peppolMessageId": "as4-msg-uuid-...",
"createdAt": "2026-03-01T10:00:00Z"
}Status Flow
Every document follows a linear progression through these states:
submitted → delivered → accepted → paid
After delivered, a document can also transition to:
rejected
At any point after submitted, delivery failures result in:
failed Status Details
submitted— document submitted to the Peppol networkdelivered— confirmed received by buyer's access pointaccepted— buyer accepted the documentrejected— buyer rejected the documentpaid— buyer marked the invoice as paidfailed— delivery failed (network/protocol error)
Use Webhooks for real-time
status updates instead of polling
getStatus().