INVOICE PROCESSING

Sync Stripe Payments Into the Dedupe Ledger

On every successful Stripe payment, records a normalized fingerprint into the Postgres paid-history ledger so the duplicate guard always checks against an up-to-date source…

CategoryInvoice Processing
Enginesim
Difficultyintermediate
Triggerevent
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerStripe payment succeeded eventStripeStripe
  • ActionExtract and normalize invoice fields
  • ActionCompute canonical fingerprint hash
  • ActionUpsert fingerprint into paid-history ledgerPostgreSQLPostgres
  • OutputLog ledger write to metrics sinkAxiom

What it does

This workflow keeps your duplicate-payment ledger honest. Whenever Stripe confirms an invoice or payout as paid, it computes the same fingerprint your guard uses and upserts it into the Postgres paid-history table. Without this, the fingerprint check is comparing against stale data and duplicates slip through.

When to use it

Run this alongside any duplicate-guard workflow. It is the ingestion half of the system: the guard reads the ledger, this writer fills it. Essential right after onboarding a new payment account so history is captured from day one.

How it works

  1. 1A Stripe payment-succeeded event triggers the flow.
  2. 2The flow pulls vendor, invoice number, amount, and paid date from the event payload.
  3. 3It normalizes the fields and computes the canonical fingerprint hash.
  4. 4It upserts the fingerprint plus payment metadata into the Postgres ledger, deduping on the hash itself.
  5. 5It logs the write to a metrics sink so ledger growth and collisions are observable.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect StripeCustomers, subscriptions, payments.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect AxiomLog streams, queries, dashboards.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.