Invoice & Purchase Order Matcher

AI Automation Challenge · Round 2

Back to all tasks
Built for curious first-time builders

Build a Simple Invoice & PO Matching Tool

Your job: Build a tool that reads invoices and purchase orders, finds the important information, and checks if they match. Think of it like a smart assistant that spots mistakes!

Deadline

Submit by October 9, 2025 at 11:59 PM

Perfect for Learning

Use agent-style steps to automate a real finance task with plenty of guidance.

DifficultyBeginner-Friendly
Build StyleAI Workflow + Web UI
Points100

Solo-friendly build plan

Tackle one mission at a time: explore the documents, craft extraction prompts, wire up comparisons, then polish the review UI. Document each win to showcase your individual craftsmanship.

Starter kit checklist

  • • Sample invoices & POs
  • • Extraction prompt template
  • • Matching pseudocode
View submission checklist

What You'll Build (Simple 3 Steps!)

1

Step 1: Read Documents

Your tool reads invoices and POs to extract key information like invoice number, vendor, items, and total amount.

2

Step 2: Compare & Match

Compare the invoice with the purchase order. Do the numbers match? Is the vendor the same? Are the items correct?

3

Step 3: Show Results

Display the results in a simple way: "✓ Match" or "✗ Mismatch" with clear explanations of any problems found.

Sample Documents - See What You'll Work With!

Here are examples of an Invoice and Purchase Order. Your tool should extract data from documents like these:

INVOICE

Invoice #: INV-2024-001

Date: March 15, 2024

Vendor:

TechSupply Co.

vendor@techsupply.com

Items:

• Laptop Dell XPS 15$1,200
• Wireless Mouse (x2)$50
• USB-C Cable (x3)$45

Total: $1,295.00

PURCHASE ORDER

PO #: PO-2024-001

Date: March 10, 2024

Vendor:

TechSupply Co.

vendor@techsupply.com

Ordered Items:

• Laptop Dell XPS 15$1,200
• Wireless Mouse (x2)$50
• USB-C Cable (x3)$45

Total: $1,295.00

✓ Perfect Match! Here's what your tool should show:

  • Invoice #INV-2024-001 matches PO #PO-2024-001
  • • Vendor matches: TechSupply Co. ✓
  • • Total amount matches: $1,295.00 ✓
  • • All items match ✓
  • → Status: APPROVED - No issues found!
⚠️

✗ Mismatch Example - When things don't match:

Imagine this scenario:

  • • Invoice total: $1,295.00
  • • PO total: $1,295.00
  • • PO total: $1,250.00
  • → Status: NEEDS REVIEW - Price difference of $45!
  • → Your tool should flag this for the finance team to check.

Download Practice Documents

Download 3 invoices and 3 purchase orders below. Use these to test your Invoice & PO matching tool:

💡 How to use: Use these documents to test your matching tool. Try matching different invoice and PO combinations to see how your tool handles various scenarios.

What Your Tool Must Do (4 Simple Parts)

1

1. Upload Documents

Let users upload 3 invoices and 3 purchase orders (PDF or image files).

💡 Example: User clicks "Upload Invoice" → Selects file → Tool shows "Invoice uploaded: INV-2024-001.pdf"

2

2. Extract Information

Read each document and pull out the important details automatically.

💡 Example: From the invoice, extract → Invoice #: INV-2024-001, Vendor: TechSupply Co., Total: $1,295.00

3

3. Compare & Match

Check if the invoice matches its purchase order. Flag any differences.

💡 Example: Invoice total ($1,295) matches PO total ($1,295) ✓ → Show "Match!" in green

4

4. Display Results

Show results clearly with colors: Green = Match, Red = Problem found.

💡 Example: "✓ 2 invoices matched perfectly" and "⚠️ 1 invoice needs review (price difference)"

Quick-Start Resources

Mini briefs

Use the included problem statement and persona notes to keep your UI human and helpful.

Prompt library

Start from polished extraction prompts, then remix them as you learn what works best.

Starter code

Grab snippets for file uploads, JSON cleaning, and agent status updates so you never start from zero.

Technologies You Can Use (Pick What You Know!)

Important: The tech stacks shown below are just sample suggestions to give you ideas. You're free to use any technology stack you're comfortable with — whether it's Vue, Angular, Django, Ruby, or anything else. These examples are simply here to help guide you if you're unsure where to start!

For the User Interface (Frontend):

  • React or Next.js

    Use whichever you're comfortable with

  • Simple styling

    Tailwind CSS or regular CSS - your choice!

  • Clear buttons & forms

    Upload button, "Run Matching" button, results display

For Processing (Backend):

  • Node.js OR Python

    Express (Node) or FastAPI/Flask (Python)

  • PDF reading library

    pdfplumber (Python) or pdf-parse (Node.js)

  • Optional: AI for extraction

    ChatGPT API or Claude API to read documents

Tip: Start Simple, Then Add AI!

Option 1 (Easier): Start with simple text extraction using libraries. Compare text directly.

Option 2 (More Advanced): Use AI (ChatGPT/Claude) to read the documents and extract information smartly. AI can understand the document even if the format varies!

Evaluation Criteria (100 Points)

Document upload & preview experience15 pts
Accurate field extraction for invoices/POs20 pts
Clear matching logic with explanations25 pts
Helpful UI/UX for beginners15 pts
Agent-style summary of mismatches15 pts
Code readability & comments where needed5 pts
Deployment or recorded walkthrough5 pts

Minimum Passing Score: 70 / 100

Solo Mastery Tips

Set personal checkpoints

Break the build into daily goals so you can clearly show how you progressed on your own.

Keep a learning log

Capture prompt tweaks, errors, and breakthroughs in a private journal—you’ll reference it when presenting.

Record solo demos

Film quick screen recordings after each milestone to prove every piece was crafted by you.

How to Submit Your Project

📦 What to submit:

  • • Your code (GitHub link)
  • • Sample invoice and PO files (the ones you tested with)
  • • A video showing your tool working (3-5 minutes)
  • • Brief explanation of how you built it
  1. 1

    Upload your code to GitHub

    Create a public repository. Include a README with instructions on how to run your project.

  2. 2

    Include sample documents

    Add the sample invoice and PO you used for testing (or tell us how to create them).

  3. 3

    Record a demo video

    Show: 1) Uploading documents, 2) Running the tool, 3) Viewing results. Use Loom or phone camera!

  4. 4

    Write a short reflection

    What worked well? What was challenging? Did you use AI tools to help? (Just 3-5 sentences)

  5. 5

    Email everything to us

    Send to: hr@aifirelab.com with all your links

📧 Email Subject Line:

Invoice Matcher Challenge - [Your Name] ([Your ID])

✅ What to include in email:

  • • GitHub repository link
  • • Video demo link (YouTube, Loom, or Google Drive)
  • • Your reflection (in email body or Google Doc link)
📧 Email Your Submission Now

Helpful Tips to Get Started

  • 1
    Start by drawing the flow on paper: Upload files → Read them → Compare → Show results. Then code each step one by one.
  • 2
    Test with the sample Invoice and PO shown above first! Make sure your code can extract "INV-2024-001" and "$1,295.00" correctly.
  • 3
    Build the UI first with fake data (just type in some example numbers). Once the display works, add the real document reading.
  • 4
    Use AI tools like ChatGPT to help write code! Ask it: "How do I read a PDF file in Python?" or "How do I compare two numbers in JavaScript?"
  • 5
    Add comments in your code explaining what each part does. This helps you remember and helps others learn from your work!