INVOICE PROCESSING

Duplicate Gate on Invoice Approval with ERP Write-Back

Intercepts invoice approval requests, checks for duplicates in your Postgres AP ledger.

CategoryInvoice Processing
Enginesim
Difficultyintermediate
Triggerwebhook
Steps5
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerInvoice submitted for approvalHTTP webhook
  • ActionQuery ledger for matching invoicePostgreSQLPostgres
  • LogicBranch clean vs duplicate by confidence
  • ActionWrite approved or blocking-hold status backPostgreSQLPostgres
  • OutputNotify approver of hold and matched recordSlack

What it does

This workflow sits directly in the approval path. When an invoice is submitted for approval, it checks the Postgres AP ledger for a matching prior invoice before letting the approval proceed. If it is clean, it writes an approved-and-cleared status back to the ledger. If a duplicate is found, it writes a blocking hold, attaches the matched record, and notifies the approver so the bad invoice never reaches the payment file.

When to use it

Use it when your approval step is the last gate before payment and you want duplicate prevention enforced as a hard control rather than an advisory alert. Best for teams running a custom AP ledger in Postgres that feeds a downstream payment run.

How it works

  1. 1An invoice-submitted-for-approval event triggers the workflow via webhook.
  2. 2The workflow queries the Postgres ledger for matching amount, vendor, and reference.
  3. 3A logic branch decides clean versus duplicate based on match confidence.
  4. 4On clean, it writes an approved status back to Postgres so the payment run can pick it up.
  5. 5On duplicate, it writes a blocking hold with the matched record and notifies the approver in Slack.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect HTTP webhookTrigger any URL on agent actions.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  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.