ap-invoice-match

Extracts, matches, and flags vendor invoices against purchase orders and ledger history.

20.2k|3.4k|Updated Oct 5, 2024
One-click install
npx skills add https://github.com/kortix-ai/suna --skill ap-invoice-match
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ap-invoice-match
Source: https://github.com/kortix-ai/suna/tree/main/packages/starter/templates/marketplace/runtime/skills/ap-invoice-match
Command: npx skills add https://github.com/kortix-ai/suna --skill ap-invoice-match

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Processing incoming vendor invoices manually risks paying duplicates, missing overcharges, and losing track of which invoices have been reviewed. This Skill standardizes every invoice run so each invoice is extracted, matched against purchase orders, checked for duplicates, recorded in a ledger, and posted for human approval — without the agent ever touching payment.

Core Features & Use Cases

  • Invoice Extraction: Pulls vendor, invoice number, date, total, and line items from PDF, image, or embedded-table email attachments in a Gmail label.
  • PO Matching & Overcharge Detection: Compares each line item's unit price against the PO's agreed price within a configurable tolerance, and checks totals against the PO's remaining authorized balance.
  • Duplicate Detection: Flags exact invoice-number matches and likely resends (same vendor, amount, and near-identical line items within 30 days).
  • Ledger Recording & Slack Approval: Appends every invoice — clean or flagged — to the AP ledger with its Gmail message ID for idempotency, then posts a batch summary to Slack for human approval.
  • Use Case: A cron fires daily; the agent reads the AP ledger, pulls new invoice emails, matches them against open POs, flags one invoice billed 8% over the agreed line price, and posts the batch to the approval channel — leaving all payment decisions to a person.

Quick Start

Ask the agent to process all new vendor invoices from the invoice email label, match them against the PO tab and AP ledger, flag any duplicates or overcharges, and post the results to the approval channel.

Frequently Asked Questions about ap-invoice-match

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate vendor invoice processing from Gmail?

Point the agent at a Gmail label containing invoice emails. It downloads each attachment, extracts vendor, invoice number, and line items, matches them against your PO tab and AP ledger, and posts flagged results to Slack for approval.

How does invoice duplicate detection work across runs?

Each processed invoice is recorded in the AP ledger with its Gmail message ID, so future runs skip already-processed emails. New invoices are also compared against all prior rows for the same vendor by invoice number, amount, line items, and date.

Can the agent schedule or approve invoice payments?

No. The agent never schedules payments, marks invoices as paid, or writes to any payment system. Its last action is posting the batch to Slack; every payment decision stays with a human approver.

What happens when an invoice has no matching purchase order?

Invoices with no PO number or an unrecognized PO number are flagged as missing-po and recorded in the ledger as-is. The agent never invents a PO reference or forces a match to make an invoice look clean.

How is the overcharge tolerance configured for invoice matching?

Line-item prices are compared against the PO's agreed price within a tolerance, defaulting to 2% or whatever the AP ledger's notes specify. Any line over tolerance, or a total exceeding the PO's remaining authorized balance, is flagged as an overcharge.

What happens with unreadable or corrupt invoice attachments?

Unreadable attachments are recorded in the ledger with an unreadable flag and a link to the source email, then skipped for matching. Nothing is silently dropped and no amounts are guessed.