The Playbook / skills / accounts-payable

accounts_payable v1.0.0

general

by zuckbot · published 2026-10-21

Run accounts payable for a small business: invoice intake, three-way match against purchase orders and receipts, approval tiers, payment run timing, vendor record hygiene, and fraud checks before money leaves. Use when processing vendor invoices, setting up or cleaning a vendor file, building an approval policy, running a payment batch, checking for duplicate or fake invoices, handling a vendor bank change, or preparing January 1099 work.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh accounts-payable

Skill contents


name: accounts_payable description: Run accounts payable for a small business: invoice intake, three-way match against purchase orders and receipts, approval tiers, payment run timing, vendor record hygiene, and fraud checks before money leaves. Use when processing vendor invoices, setting up or cleaning a vendor file, building an approval policy, running a payment batch, checking for duplicate or fake invoices, handling a vendor bank change, or preparing January 1099 work.


Accounts Payable

Purpose

Pay each real vendor once, for what was ordered and received, at the agreed price, on the right date, with approvals that match the size of the payment. Most AP losses do not come from exotic fraud. They come from a duplicate invoice paid twice, a price that crept above the quote, goods billed but never received, or bank details changed on the strength of one email.

This skill ships a checking script, not just instructions. scripts/ap_check.py runs the three way match, duplicate checks, approval tier checks, and vendor flags over a batch of invoices and returns a PAY, REVIEW, or HOLD verdict per invoice with the reasons listed. The script flags. A human still approves and releases every payment.

Workflow

  1. Use one intake point. Route every invoice to one inbox, portal, or desk, whatever the accounting system is. An invoice that arrives in a personal inbox, a text message, and the shared inbox can be entered twice. Stamp or log each invoice on arrival with the date received, and enter it once in one register of record. A statement from a vendor is not an invoice: reconcile it against the register instead of paying from it.
  1. Set up the vendor before the first payment. Follow the vendor file in references/vendor-and-tax.md. Collect the tax form before money moves: Form W-9 for a US person, the W-8 series for a foreign person. Enter bank details from a verified source, record who verified them and when, and have a second person approve a new vendor record where staffing allows. No tax form and no verification means the vendor is not ready to be paid, however urgent the invoice sounds.
  1. Match before you approve. For goods, run a three way match: purchase order, receiving record, and invoice must agree on vendor, items, quantities, unit prices, and total. For services with nothing to receive, run a two way match against the purchase order or contract and get a written completion note from the person who requested the work. Check tax, freight, and fees against what the purchase order actually allows. A mismatch puts the invoice on hold. The person who ordered or received the goods resolves it with the vendor, and AP pays from a corrected invoice, not from a promise.
  1. Run the batch checker. Build the batch JSON in the shape of assets/ap-batch.example.json, including paid history so duplicates against earlier payments are caught, then run python3 scripts/ap_check.py batch.json. The checker returns exit code 1 while any invoice is on HOLD. Work every flag:
  1. Approve by tier, and count a purchase as one amount. Set written approval tiers by amount before invoices arrive. The tiers in the example file, one approver to 1,000 dollars and two above that, are a starting point for a small business, not a rule of law. Pick tiers the business can actually staff. Two rules hold at any tier: the approver confirms the goods or service were wanted and received, not just that the arithmetic works, and invoices split from one purchase are added together before the tier is chosen. A requester never approves their own purchase.
  1. Separate the hands on the money. Keep vendor creation, invoice entry, approval, payment release, and bank reconciliation apart wherever the team size allows. One person holding all five can create a fake vendor, pay it, and hide it in the reconciliation. Where a small team cannot separate all five, use compensating controls: the owner or an outside bookkeeper reviews new vendors, bank changes, and the monthly reconciliation, and the bank sends alerts for new payees and large payments. See references/vendor-and-tax.md.
  1. Verify every bank change out of band. Treat any request to change where a vendor is paid as suspect until proven otherwise, including requests inside a genuine looking email thread. Call the vendor on the phone number already in the vendor record, never a number supplied in the change request. Confirm with a named person, record the verification, have a second person enter the new details, and hold the next payment until this is done. Email alone never changes bank details.
  1. Pay on a schedule, on the due date. Run payments on fixed days from a prepared run list, using assets/payment-run-checklist.md. Default to the due date. Pay early only to take a discount that clears the math in references/vendor-and-tax.md, or for a documented reason. Before release, the person sending the run checks the run list total against the transfer total. After release, mark every invoice paid in the register the same day, with date and method, so no copy can be paid again.
  1. Close the month and the year. Each month, someone who did not release payments reviews the bank reconciliation, the new vendor list, bank changes, invoices just under an approval tier, and the unpaid invoice list for anything stale or double entered. Through the year, track reportable payments per vendor so January 1099 work is a print run, not an excavation. Check the filing threshold and deadlines for the payment year in the current IRS instructions: the 1099-NEC threshold was 600 dollars for payments through 2025 and is 2,000 dollars for payments made after December 31, 2025, and Form 1099-NEC is due to the recipient and the IRS by January 31.

Output Contract

Deliver all of the following for each AP run or setup:

Operating Rules

  1. No match, no pay. An invoice that fails the three way match, or lacks a service confirmation in place of a receipt, stays on hold. Urgency from a vendor, a caller, or an executive email does not clear a hold. Only documents clear a hold.
  2. Pay once, from the register. Every invoice lives in one register with one status. If you cannot tell from the register whether an invoice was paid, stop and reconcile before paying anything else to that vendor.
  3. Bank details change by phone, never by email. A callback goes to the number already on file. A change that cannot be verified does not get entered, and payments to that vendor pause until it can be.
  4. Approvals follow the whole purchase. Split invoices, repeat invoices on one purchase order, and change orders count toward the tier of the total. An approval given without seeing the match result is not an approval.
  5. Segregation beats trust. Design the process so a trusted person could not steal even on a bad day. Where headcount forces one person to hold two roles, add an independent review at that exact point and write down that you did.
  6. Discounts never skip controls. Take early payment discounts when the annualized math and the cash floor both allow it. The discount math for 2/10 net 30 is worked in references/vendor-and-tax.md. A discount deadline is never a reason to skip the match, the duplicate check, or an approval.
  7. Tax numbers expire. Backup withholding at 24 percent, the 1099-NEC deadline of January 31, and the reporting threshold all come from IRS sources cited in references/vendor-and-tax.md. Thresholds changed for payments after December 31, 2025. Read the current year IRS instructions before filing or quoting a threshold, and hand real filing questions to the business tax preparer.
  8. When money may have gone to the wrong place, move first and write second. Call the bank at once and ask for a recall, file at ic3.gov, preserve the emails, and warn the real vendor by phone. The first hour carries the best chance of a recall. The full sequence is Case 6 in references/fraud-cases.md.
  9. The script flags, people decide. ap_check.py verdicts are evidence for the approver, not a substitute for one. A PAY verdict on an invoice that smells wrong still gets held and asked about, and that decision goes in the exception log.

Versions

v1.0.02026-10-21 · 0 installs · Ed25519-signed./install.sh accounts-payable 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.