How to Build a Claude Skill That Validates Invoices Before They Go Out (Free Skill File Included)
By Jared Shulman, CFA · Founder, Daylit
Table of Contents
Why this guide exists
Every B2B invoice that goes out the door with an error costs a finance team weeks of cleanup. A wrong billing address triggers a reprint and a delay. A pricing mismatch opens a dispute. A missing PO number gets the invoice kicked back, and it sits unprocessed for thirty to sixty days. The cost of catching these problems before the invoice leaves the building is seconds. The cost of catching them after is weeks. Below is a Claude skill for invoice validation that runs the cross-reference end-to-end, plus the actual free skill file. This is a Claude skill that validates invoices against the customer account record before they ship, returns a clear verdict, and lists every fix needed.
The bet behind this guide: the finance professionals who validate invoices before they go out save more cash than the ones who fix errors after. Pre-send validation takes seconds. Post-send dispute resolution takes weeks. The math is one-sided. A finance team that builds a Claude skill to validate invoices before they go out on every draft eliminates an entire class of preventable disputes and unblocks an entire class of stuck cash.
Pre-send invoice validation is a strong starting workflow because every billing team does it informally already, the inputs are predictable (one draft invoice, one customer record), and the failure modes show up across every other AR job. A finance professional who can build a Claude skill for invoice validation can build a Claude skill for collections follow-up, cash application, dispute response, and every other workflow where the bottleneck is structured cross-referencing at scale.
The download below includes the skill file and sample data. Run the skill against the samples first to confirm the install. Once it works on the samples, swap in your own draft invoice and customer account record. End-to-end build time to validate invoices before they go out is about fifteen minutes.
TL;DR: what this Claude skill for invoice validation does
At a glance, here is what the Claude skill that validates invoices delivers on every run:
At a glance
- Cross-references a draft invoice against the customer account record in one run
- Classifies every field as PASS, MISMATCH, or MISSING with both values shown side by side
- Returns one of two verdicts: APPROVED TO SEND or HOLD FOR CORRECTIONS
- Triggers an automatic HOLD when any critical field (customer legal name, billing address, payment terms, total amount due, line item pricing, PO number, tax exemption status, currency) has a mismatch
About the instructor: Jared Shulman, CFA
Jared Shulman is a CFA charterholder and a guest lecturer on fintech at Babson College, where he teaches undergraduate and MBA students. He is the CEO and co-founder of Daylit, an accounts receivable platform that uses AI agents to automate collections, cash application, and dispute resolution for finance teams. His current work focuses on AI applications in accounts receivable, the area of corporate finance where most of the remaining manual workload still sits.
This tutorial publishes the working invoice validation skill featured in the AI Survival Guide, an AI Skills course built from six months of interviews with controllers, AR managers, and CFOs at companies running everything from QuickBooks to Oracle. The recurring question across bank reconciliation, collections, cash application, invoice validation, and every other AR job: can AI agents actually do the work that financial software does today, or is it hype? This tutorial gives finance professionals the finished skill so they can validate invoices before they go out today. The AI Skills course teaches the prompt engineering framework behind it, so a finance team can build a Claude skill for the next five workflows on their own.
Prerequisites
- A Claude Pro or Team account. Skills run on the same plans you already use for chat.
- A draft invoice. PDF, Word doc, image, or pasted text.
- A customer account record. ERP export, spreadsheet row, email thread, or pasted block.
- Fifteen minutes. That's the full build time end-to-end.
Subscribe today and get each new AI Survival Guide module delivered straight to your inbox the moment it drops.
Step-by-step walkthrough
Download the skill file
Grab the invoice-validation-pre-send-validator package from the link below to build a Claude skill for invoice validation in your own environment. The download is a small zip containing three files: the SKILL.md file (roughly 5 KB of plain text instructions that tell Claude how to behave when it sees a customer payments record and an open invoice), plus two sample PDFs named sample-data-record.pdf and sample-data-invoice.pdf.
Test on the sample data first. Run the skill against the two sample PDFs before you run it on real documents.
What you should see: a folder containing Claude.skill, sample-data-invoice, and sample-data-record in your downloads.
Install the skill in Claude
Open Claude, go to the left sidebar, then Customize, then Skills. Upload the .skill file directly. Claude unpacks the SKILL.md inside and registers it, so the skill loads automatically the next time you ask to validate an invoice. Anthropic's full setup guide is at support.claude.com if you want the screenshots, and the broader skills documentation is at docs.anthropic.com.
What you should see: invoice-pre-send-validator listed in your active skills.
Prepare the draft invoice and customer account record
The skill reads almost any common format on both inputs. The draft invoice can be a PDF, a Word document, an image of a printed invoice, or pasted text from your billing system. The customer account record can be an ERP export (CSV or XLSX), a spreadsheet row, a pasted block from a CRM, or even an email thread that contains the agreed terms.
For the validation to work cleanly, both documents need to be legible and complete. If the invoice PDF is a low-resolution scan, transcribe the key fields into a text block first. If the account record lives in three places (contract for terms, ERP for billing address, email for the PO), consolidate them into one document before uploading. The skill will not guess at unreadable fields. It will classify them as MISSING and flag a HOLD.
What you should see: two clean documents (invoice and account record) ready to attach.
Run the validation prompt
Open a new Claude conversation, attach the draft invoice and the customer account record, and paste the invoice validation prompt below.
Validate the attached draft invoice against the customer account record using the invoice-pre-send-validator skill.
Claude will open with the skill's standard intake message confirming both documents are received. Then it runs the full cross-reference silently and delivers the validation report. Total run time on a typical invoice is under thirty seconds.
What you should see: a structured validation report in chat with a verdict header, a field-by-field comparison table, and a list of HOLD conditions if any critical fields failed.
Review the validation report
The report opens with the verdict. APPROVED TO SEND means zero critical-field mismatches. HOLD FOR CORRECTIONS means at least one critical field needs to be fixed before the invoice ships. Below the verdict is the field-by-field table. Every extracted field appears in the table with its invoice value, its account record value, and a status.
| Field | Invoice Value | Account Record Value | Status |
|---|---|---|---|
| Customer legal name | Acme Industrial LLC | Acme Industrial, LLC | PASS |
| Billing address | 411 Park Ave, Suite 12 | 411 Park Ave, Suite 12 | PASS |
| Payment terms | Net 30 | Net 45 | MISMATCH |
| PO number | (not on invoice) | PO-44218 (required) | MISSING |
| Line item pricing (SKU 9412) | $142.00 | $128.50 (contract rate) | MISMATCH |
| Tax | $1,840.00 charged | Tax exempt (cert #TX-9921) | MISMATCH |
| Total amount due | $24,820.00 | (sum of lines: $22,980.00) | MISMATCH |
When the verdict is HOLD, every flagged condition appears as a numbered item below the table with both values restated and the specific correction needed. The report does not summarize the issue. It shows what the invoice says, what the account record says, and what to change.
What you should see: a verdict at the top, a field table in the middle, a numbered HOLD list below the table if applicable, and a closing line that either clears the invoice for delivery or instructs you to resubmit after corrections.
Resolve HOLDs and resubmit (or send if APPROVED)
If the verdict is APPROVED TO SEND, the invoice is cleared and the human takes over to deliver it. The skill does not send invoices. The send action stays with the billing team.
If the verdict is HOLD FOR CORRECTIONS, fix every flagged condition in the source invoice, then attach the corrected draft and the same account record in a new message. The skill runs the full validation again from the top. It does not assume prior PASS results carry over. Every resubmission is a clean check.
What you should see: either an APPROVED invoice in your hand ready to deliver, or a clean re-validated draft after one correction cycle.

Common failures and fixes
Tax-exempt customer with tax on the invoice. This is the most common HOLD condition the skill catches. The account record marks the customer as tax exempt (often with a certificate number), but the invoice ships with sales tax applied because the billing system defaulted to tax-on. The skill flags it as a MISMATCH on tax exemption status and quotes the certificate number from the account record so the billing team has it on hand. Fix: zero out the tax line, attach the exemption certificate to the invoice if your AR process requires it, resubmit.
PO referenced on the invoice but not in the account record. The invoice cites a PO number that doesn't appear anywhere in the account record provided. The skill classifies this as a MISMATCH and triggers a HOLD because most B2B AP teams will reject an invoice with an unconfirmed PO. Two possible fixes: confirm the PO is real (it may have been issued after the account record was last updated, in which case re-export the account record and resubmit), or remove the unconfirmed PO from the invoice and add a note explaining the order is a standing or blanket arrangement.
Pricing agreement on the account but no matching line item rate. The account record references a master pricing agreement, but the agreement document itself isn't in the upload. The skill flags every line item as MISSING (pricing reference not available) and issues a WARNING that line item pricing could not be validated. Fix: add the pricing schedule (the actual rate sheet, not just the reference) to the upload and resubmit. If the schedule lives in a separate system, paste the rates as a text block alongside the account record. For more on getting your AR data ready for AI workflows, see our guide to building a Claude skill for bank reconciliation.
Outdated account record. The user knows the account record is stale (terms were renegotiated last week, but the ERP hasn't been updated), and the validation flags fields that look wrong but aren't. Fix: tell the skill in your prompt: "Account record may be outdated. Treat any payment terms or pricing differences as PASS unless they are obvious math errors." The skill will note in the report header that findings should be confirmed against the current account record before acting.
Total amount due doesn't match the sum of line items. A standalone math error. The invoice subtotal plus tax doesn't add up to the listed total. The skill flags this as a MISMATCH on total amount due regardless of what the account record says, because a math error on an invoice is its own HOLD condition independent of any cross-reference. Fix: recalculate, correct the total, resubmit.
Conclusion
If you've made it this far, you've answered the question yourself. The legacy AR software vendors have spent two decades convincing finance teams that pre-send invoice validation is a clerical check that doesn't deserve real automation. It's not clerical. It's the single highest-leverage cross-reference in the entire AR cycle, because every dollar of revenue this skill protects is a dollar that doesn't have to be collected the second time. Any finance professional can build a Claude skill to validate invoices before they go out, and once they have, they've eliminated an entire class of preventable disputes.
The free skill file is yours to keep, modify, and pass to your team. The AI Survival Guide is the AI Skills program where this skill lives alongside the others, a free weekly course that teaches finance professionals to build the workflows legacy software has been charging six figures a year for. Another module drops next week. See you then.
Frequently asked questions
What is a Claude skill?
A Claude skill is a Markdown file that tells Claude how to behave for a specific job. Skills load automatically when their description matches what you're asking, so you don't manually invoke them every time. They're free to create, free to use, and free to share. The full Anthropic documentation lives at claude.com/skills.
Can the skill read PDFs and Word documents?
Yes. The skill accepts both invoice and account record inputs in PDF, Word, image, spreadsheet, and pasted text formats. For scanned PDFs at low resolution, transcribe the key fields into a text block first since the skill will classify any unreadable field as MISSING and flag a HOLD.
Does it work for invoices in any currency?
Yes, with one rule. Currency is a critical field, so the invoice currency and the account record currency must match. If they don't (an invoice in EUR against an account record in USD), the skill flags a currency MISMATCH and HOLDs the invoice. The skill does not apply FX conversion silently. If the customer is contractually billed in a different currency than the account record default, paste the override in your prompt.
Is the skill file actually free?
Yes. The skill file for this Claude skill is free to download, free to use, and free to modify. Daylit publishes the full source. The only cost is your existing Claude Pro or Team subscription, which you already need to install and run any Claude skill.
How is this different from invoice OCR or AP automation tools?
OCR tools extract text from invoices. AP automation tools (Bill.com, Stampli, Tipalti) sit on the buyer side and validate incoming invoices against the buyer's PO and receiving records. This Claude skill sits on the seller side and validates outgoing invoices against the seller's own customer account record before the invoice is sent. Different position in the workflow, different validation logic, different documents in scope.



