Finance

Duplicate invoice prevention

The same supplier invoice can enter through different filenames, inboxes or data-entry attempts and be posted twice.

Business problem

The same supplier invoice can enter through different filenames, inboxes or data-entry attempts and be posted twice.

What teams see

  • Work waits between capture invoice and normalize supplier.
  • Owners reconstruct status from Gmail and Accounting platform.

Why it happens

  • No shared state spans Gmail, Accounting platform, Database.
  • Decision and exception rules are applied inconsistently.

Why it becomes expensive

  • Capacity is consumed by coordination and rework.
  • Late exceptions weaken visibility and service quality.

Business outcomes

  • Shorter block or release posting cycle
  • Fewer handoff and missing-information exceptions
  • Clear ownership from capture invoice to block or release posting
  • Inspectable decisions and recovery

Measurable KPIs

  • Turnaround time: Elapsed time from capture invoice to block or release posting.
  • Manual intervention rate: Share of items needing a person outside defined review conditions.
  • Exception age: Time unresolved exceptions remain without a completed action.
  • Successful completion rate: Share of valid workflow items completing without terminal failure.

How the workflow works

  1. Capture invoice — Accept and identify the duplicate invoice prevention trigger. Gmail
  2. Normalize supplier — Execute normalize supplier with validated sample data and an auditable result. Gmail
  3. Read invoice identity — Execute read invoice identity with validated sample data and an auditable result. Accounting platform
  4. Search posted records — Execute search posted records with validated sample data and an auditable result. Database
  5. Compare amount and date — Execute compare amount and date with validated sample data and an auditable result. Gmail
  6. Score likely duplicate — Execute score likely duplicate with validated sample data and an auditable result. Accounting platform
  7. Finance review — Execute finance review with validated sample data and an auditable result. SEIDO Review Queue
  8. Block or release posting — Execute block or release posting with validated sample data and an auditable result. Gmail
  9. Audit and KPI update — Persist the execution outcome, audit facts and workflow measurement events. SEIDO execution store

Integrations and ownership

  • Gmail: Provide workflow input
  • Accounting platform: Lookup and update context
  • Database: Receive controlled outcome

Human responsibility: Finance manager

Failure and recovery

Gmail is temporarily unavailable.

Retry with capped exponential backoff; preserve the run and move it to the inspectable failure queue after the limit.

Required data for normalize supplier is malformed or missing.

Stop downstream actions and show the missing fields, source evidence and correction action to the named reviewer.

The trigger or provider event is delivered more than once.

Return the existing execution identified by the idempotency key and do not repeat downstream business actions.

The human decision expires before completion.

Escalate to the configured substitute, retain the original request and record both expiry and reassignment.

When not to build this

  • Monthly volume is too low to justify integrating Gmail, Accounting platform, Database.
  • An existing configured platform already handles duplicate invoice prevention with adequate ownership and reporting.
  • Reliable source data or supported API access is unavailable.
  • No business owner has authority to define the decision and exception rules.

Related workflows