Skip to content
Back to News
Changelog

Silence now reaches you from us: invoice.delivery_unconfirmed

webhookssdk

An invoice we accept normally confirms delivery in seconds. When it does not, you used to hear nothing at all: the document stayed "submitted" for as long as it took, and the only way to find out was your own timer. An absence is a poor signal — it looks exactly like work still in progress.

Two new notifications close that gap.

What changed

  • New webhook event invoice.delivery_unconfirmed. Sent 30 minutes after a send when no delivery evidence has arrived. This is not a failure. If delivery is confirmed afterwards, invoice.sent follows normally and supersedes it — so treating it as terminal would be a misread. It exists so that the silence reaches you from us rather than from a clock on your side.
  • A document still silent after 7 days is now reported. It ends on the existing invoice.undeliverable event. That seven-day window is our own policy, not a verdict from the network: the Peppol network never tells us a document is dead, so we stopped waiting on your behalf and say so. If evidence turns up later, the document goes back to delivered on its own.

Both events reach wildcard (*) subscribers automatically. Add them to your explicit filters if you subscribe per-event.

Anything breaking?

No runtime breaking change, and nothing your existing subscriptions stop receiving. Two notes:

  • Wildcard subscribers see a new event type. If your handler rejects unknown types, add a case for invoice.delivery_unconfirmed before it reaches you.
  • TypeScript users: the SDK's WebhookEventType union gains a member, so an exhaustive switch needs a new case "invoice.delivery_unconfirmed" when you upgrade.

If you already build on invoice.undeliverable, be aware it now covers a second situation — an expired evidence window, not only a recipient that cannot be found. The payload shape is unchanged.