Skip to content
colis

Use case

Invoice on approval

An n8n trigger on parcel.approved: you are told, and the invoice goes out with the parcel’s code as its reference.

n8n
Colis Trigger        events: parcel.approved
 ├─ Slack            "{{ $json.data.filename }} validé le {{ $json.data.decidedAt }}"
 │                   {{ $json.data.url }}
 └─ Invoicing node   reference: {{ $json.data.code }}

+ parcel.changes_requested
 └─ If {{ $json.type }}  →  {{ $json.data.comment }} to the freelancer

The situation

What is actually going on.

The problem

The client approves on a Tuesday evening, you notice on Thursday, the invoice leaves the week after. In between, nothing ties the approval to what you invoice.

What colis does about it

A Colis Trigger on parcel.approved starts the workflow. In parallel: a Slack message or an email with the file name, the time of approval and the link; and the invoicing node you use, with the parcel’s code as its reference so the two can be matched. Add parcel.changes_requested and an If on the type to route the client’s comment to you instead.

Worth watching

The things that are easy to get wrong.

The deployment does not subscribe on its own

Paste the trigger’s production URL into DROP_WEBHOOK_URL, the same secret into DROP_WEBHOOK_SECRET, and redeploy.

Deduplicate on webhook-id

An event is tried three times at most, and a retry carries the same id.

A receiver that stays down misses the event

Nothing is replayed after the third attempt. colis statut is still there to check.

Packagesn8n-nodes-colis

Send it. They sign off. You know.

Your storage, a delivery page under your name, a webhook at every step. Nothing hosted by someone else.