PerfectParser Docs
User GuidesParser Setup Guides

Set Up Merchant and Line-Item Fields for Receipts

Configure receipt fields in the dashboard — capture merchant details, tips, taxes, and line items from photos or scans without manual entry.

Ready to set this up? Sign up for PerfectParser and get 20 free credits — no credit card required.

What this guide helps you do

This guide shows how to configure a receipt parser in PerfectParser, capture merchant and payment details, run a test batch, and export expense data. Skip the AI prompt on the first pass if you want PerfectParser to discover every field visible on the receipt before you refine the schema.

Why receipts are hard to parse

Receipts are among the noisiest documents in expense workflows. Thermal paper fades, phone photos crop the edges, and handwritten totals appear on vendor copies. Tips and service charges sit in inconsistent positions — sometimes above tax, sometimes folded into the total — and rounding differences of a cent or two are common. Merchant names may be truncated on narrow rolls, and transaction time is often missing entirely on older POS prints. Item lines on restaurant receipts frequently omit quantity, listing only description and price. A parser schema that treats every receipt like a structured invoice will miss tips or misread faded digits unless field descriptions call out these patterns explicitly.

We suggest configuring the following schema fields for your Receipt Parser to capture all essential transaction data.

Field NameTypeDescription
merchant_nameTextThe name of the store, restaurant, or vendor (e.g., Starbucks, Uber).
transaction_dateTextThe date the receipt was issued.
transaction_timeTextThe time of the transaction (if available).
merchant_addressTextThe physical address or location of the merchant.
subtotalNumberThe transaction subtotal before taxes and gratuities.
tax_amountNumberThe sales tax or VAT amount charged.
tip_amountNumberGratuities or tips added to the bill (e.g. for restaurant or taxi receipts).
total_amountNumberThe final payment amount charged.
payment_methodTextThe payment type (e.g., Visa 1234, Cash).
itemsTableTable containing description, quantity, and amount for each purchased item.

AI Prompt (Optional)

Use this only when you want to guide auto-detect toward a specific set of fields.

If you want PerfectParser to discover additional fields on its own, leave the AI Prompt (Optional) box blank for the first pass, review the detected schema, then add a prompt only if you need tighter consistency.

When you do use a prompt, copy and paste the following instructions into the AI Prompt (Optional) field during setup:

Extract the merchant name, address, transaction date, transaction time, subtotal, tax amount, tip amount, total amount, and payment method details. Also extract the table of items containing description, quantity, and item amount.

Set up this parser in the dashboard

Create a parser

Go to Parsers → New Parser in the dashboard. Give it a name like "Receipt Parser" and optionally select the document category.

Upload a sample document

Drag and drop a representative receipt (PDF, PNG, or JPEG). Use a real file from your expense workflow — the AI uses it to learn where merchant name, totals, and item lines appear.

Detect fields or use standard fields

Paste the AI Prompt from the section above into the AI Prompt (Optional) box if you want tighter field mapping, then click Auto-Detect. To discover more fields automatically, leave the prompt blank and click Auto-Detect. Or skip auto-detect and add fields manually using the Recommended Fields table above.

Review and save your schema

Check that monetary fields (subtotal, tax_amount, tip_amount, total_amount) are Number, not Text. Confirm transaction_time is included if your policy requires time-of-day. Edit any field names or descriptions, then click Save.

Run a test batch

Navigate to Bulk Extraction, choose how your files are organised, upload a small test set of receipt images, and click Extract All Files. Review the results in Batch History and export to CSV or Excel.

Common mistakes

  • Uploading a crisp PDF sample when production files are cropped phone photos — field detection trained on one quality level often underperforms on the other.
  • Omitting tip_amount and expecting it to appear inside total_amount without a separate field for gratuity reporting.
  • Skipping transaction_time when your expense policy requires time stamps for meal or mileage audits.
  • Storing faded thermal totals as Text because auto-detect misclassified them — fix the type to Number and add a field description noting "final amount after tax and tip".

Next steps

Test your first extraction free — sign up for PerfectParser, no credit card needed.

FAQs

Do I need a sample receipt to set up this parser?

Yes. Upload a receipt that reflects your typical source — thermal print from a restaurant, a cropped phone photo, or a scanned PDF. The AI learns field placement from that sample, so match the format you process most often.

Should I add a separate tip_amount field?

Yes, if you process restaurant or taxi receipts. Tips often appear below the tax line and are easy to merge into total_amount if you do not define tip_amount explicitly. Keep subtotal, tax_amount, tip_amount, and total_amount as separate Number fields.

How many credits does setup and a test extraction use?

Parser setup is free. Each page or image processed costs 1 credit. A single receipt photo is 1 credit. New accounts include 20 free credits to validate your schema before running expense batches.

Looking for product features and use cases?

See the Receipt Data Extraction solution page.

On this page