{
 "schema": "aiblocks-page/1",
 "id": "expense-report-builder",
 "type": "skill",
 "name": "Expense report builder",
 "summary": "Paste receipts and notes. Get an expense report with totals by category, a reason for each line and gaps to fix.",
 "headline": "Expense report builder",
 "subhead": "Paste your receipts, card lines or notes. It builds an expense report with date, vendor, category, amount, currency and the business reason for each line. It adds totals by category, flags missing receipts and unclear items, and re-adds everything to check the total.",
 "job": {
  "id": "track-numbers",
  "name": "Track your numbers"
 },
 "level": "beginner",
 "thinking": "low",
 "tested": true,
 "updated": "2026-10-28",
 "first_published": "2026-10-27",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "spreadsheet",
   "required": false,
   "label": "Spreadsheet",
   "what": "a spreadsheet with its data, formulas and charts"
  }
 ],
 "outputs": [
  {
   "type": "spreadsheet",
   "required": true,
   "label": "Spreadsheet",
   "what": "a spreadsheet with its data, formulas and charts"
  }
 ],
 "you_give": [
  "Receipts, card lines or notes, pasted as text",
  "The trip or period the report covers",
  "Your employer's or your own categories and rules (optional)",
  "The business reason for each item, if you remember (optional)"
 ],
 "you_get": [
  "A table with date, vendor, category, amount, currency, reason and receipt status",
  "Totals by category and in all, re-added",
  "A list of lines to fix: missing reason, missing receipt, possible duplicate, possibly personal",
  "A short covering note to send with the report"
 ],
 "use_when": [
  "You came back from a trip and need to claim your costs.",
  "You do a monthly expense claim and the lines are a mess.",
  "You want your costs sorted for a bookkeeper or for your own records."
 ],
 "skip_when": [
  "You want a year of transactions sorted for tax: use the Expense sorter.",
  "You want to check a supplier's invoice: use the Invoice checker.",
  "You want to know what you may claim: check your employer's policy, or ask a tax adviser."
 ],
 "output_sample": {
  "input": [
   "Receipts, card lines or notes, pasted as text",
   "The trip or period, and the currency of each item",
   "Your employer's categories and rules (optional)"
  ],
  "output": [
   {
    "name": "Expense report",
    "contains": "Every line in one shape: date, vendor, category, amount, currency, reason and receipt."
   },
   {
    "name": "Totals by category",
    "contains": "Each category's total, one per currency."
   },
   {
    "name": "Total",
    "contains": "The overall total, re-added, one per currency."
   },
   {
    "name": "To fix",
    "contains": "Lines missing a reason or a receipt, possible duplicates and possibly personal items."
   },
   {
    "name": "Cover note",
    "contains": "A short note to send with the report."
   },
   {
    "name": "Missing",
    "contains": "Anything you did not tell it, such as a currency rate."
   },
   {
    "name": "Checks missed",
    "contains": "One line for each of its own checks that still fails, or none."
   }
  ]
 },
 "output_shape": "EXPENSE REPORT <trip or period>\nDate | Vendor | Category | Amount | Currency | Business reason | Receipt\n\nTOTALS BY CATEGORY\n<category> | <currency> <amount>\n\nTOTAL\n<currency> <amount>\n\nTO FIX\n- Line <n>: <missing reason / missing receipt / possible duplicate / possibly personal>\n\nCOVER NOTE\n<short note>\n\nMISSING\n<what you did not tell it>\n\nCHECKS MISSED\n<one line per check still missed, or none>",
 "how_to_use": [
  "Start a chat with the skill. Open it if you added it to your AI, or copy it and paste it in.",
  "Paste your receipts and card lines. Say the trip or period, and which currency each is in.",
  "Paste your employer's expense categories and rules, if you have them.",
  "Answer the questions on flagged lines, then ask it to update the report.",
  "Check the total against your own sums, then attach your receipts and submit."
 ],
 "checks": [
  "Every line is in the same shape.",
  "The totals can be rebuilt by adding the lines.",
  "No amount, date or reason appears that you did not give.",
  "Lines missing a reason or receipt are flagged.",
  "Currencies are not mixed unless you gave a rate."
 ],
 "next": [
  {
   "name": "Expense sorter",
   "url": "https://useaiblocks.com/skills/expense-sorter",
   "why": "Expense sorter"
  },
  {
   "name": "Bookkeeping expense matching checker",
   "url": "https://useaiblocks.com/workflows/prepare-expenses-for-your-bookkeeper",
   "why": "Bookkeeping expense matching checker"
  },
  {
   "name": "Month-end variance commentary writer",
   "url": "https://useaiblocks.com/skills/variance-commentary",
   "why": "Month-end variance commentary writer"
  }
 ],
 "source": null,
 "credits": [],
 "files": [],
 "links": {
  "page": "https://useaiblocks.com/skills/expense-report-builder",
  "markdown": "https://useaiblocks.com/skills/expense-report-builder.md",
  "json": "https://useaiblocks.com/skills/expense-report-builder.json",
  "instructions": "https://useaiblocks.com/skills/expense-report-builder/SKILL.md",
  "api_item": "https://useaiblocks.com/api/v1/items/expense-report-builder",
  "api_document": "https://useaiblocks.com/api/v1/documents/skill/expense-report-builder",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
