Skip to main content

AI-Receipt Parser in Power Automate

AI-Receipt Parser is a Power Automate action by PDF4me that reads a receipt PDF or image and returns merchant details, line items, financial totals, and payment method as structured data. Use it to automate expense capture, feed Excel or Power BI expense tracking, or post transactions straight into Dynamics 365 without manual keying.

What this action does

PDF4me AI-Receipt Parser reads a receipt (PDF, PNG, JPG, or JPEG) and returns merchant information, line items, financial totals, and payment method as structured JSON. It also recognizes specialized fields for hotel, fuel and energy, healthcare, and training receipts, and can extract additional custom fields beyond the standard schema.

Related Blog Posts
No blog post yet for this feature — coming soon.
In the meantime, browse the PDF4me blog for tutorials and workflows across every platform.
Visit the blog

How Do I Authenticate My Power Automate Flow?

To call PDF4me through Power Automate, the flow needs a valid PDF4me API key on the PDF4me Connect connector. Authentication ensures secure communication and validates your identity as an authorized user.

Important Facts You Should Not Miss

The real field names are File Content and Body/Document/Name
The connector UI labels the two main fields File Content and Body/Document/Name, not "Receipt File Content" or "Receipt Name". Map the receipt bytes into File Content.
All 5 optional fields live under Advanced parameters
Body/receiptType, Body/analyzeItems, Body/extractMerchantInfo, Body/calculateTotals, and Body/customFieldKeys are all under Advanced parameters, confirmed in the screenshot as "Showing 5 of 5".
Check warnings and fallbackUsed before trusting a low-confidence read
A blurry photo or an unusual layout can still return success: true with a populated warnings array or fallbackUsed: true. Branch these to manual review instead of auto-posting totals.
AI-Receipt Parser action in Power Automate showing File Content and Body/Document/Name fields, and the Advanced parameters section showing 5 of 5 with Body/receiptType, Body/analyzeItems, Body/extractMerchantInfo, Body/calculateTotals set to Yes, and Body/customFieldKeys

The main panel shows only File Content and Body/Document/Name; every extraction toggle is an Advanced parameter.

Parameters

Required in the action: File Content and Body/Document/Name. All other fields are Optional Advanced parameters with working defaults.

ParameterRequiredWhat it doesExample
File ContentRequiredBinary content of the receipt file, mapped from a previous action (Get file content, SharePoint, OneDrive, email attachment). Supports .pdf, .png, .jpg, .jpeg.body('Get_file_content')
Body/Document/NameRequiredFilename of the receipt including its extension. Used for format detection and processing.receipt_2026_07_07.pdf
Body/receiptType (Advanced)OptionalImproves parsing accuracy for a known category: meal, supplies, hotel, fuel and energy, transportation, communication, subscriptions, entertainment, training, healthcare, or generic.hotel
Body/analyzeItems (Advanced)OptionalYes extracts individual line items with name, quantity, price, category, and item code. No skips line-item detail.Yes
Body/extractMerchantInfo (Advanced)OptionalYes extracts merchant name, address, phone, website, store number, and cashier name.Yes
Body/calculateTotals (Advanced)OptionalYes extracts and calculates subtotal, tax amount, total amount, and payment method.Yes
Body/customFieldKeys (Advanced)OptionalArray of additional field names to extract beyond the standard schema. Returned inside additionalInfo.['loyaltyNumber']

How Do I Set Up AI-Receipt Parser in Power Automate?

  1. Add AI-Receipt Parser to your flow as a new step.
  2. Sign in to PDF4me Connect with your API key.
  3. Map File Content from a previous action (Get file content from SharePoint, OneDrive, Dropbox, or an email attachment).
  4. Set Body/Document/Name with the matching extension (.pdf, .png, .jpg, or .jpeg).
  5. Under Advanced parameters, set Body/receiptType if you know the category, and toggle Body/analyzeItems, Body/extractMerchantInfo, Body/calculateTotals as needed.
  6. Run the flow. Check success before using the extracted fields downstream.
  7. Route merchantName, analyzeItems, totalAmount, and related fields to Excel, SharePoint, Dynamics 365, or Power BI.

Output

The response includes core transaction fields, nested arrays for items/merchant/financials, specialized fields per receipt type, and processing metadata.

FieldTypeDescription
receiptTypeStringType of receipt extracted (supplies, retail, restaurant, hotel, fuel, healthcare, training).
transactionDateStrStringTransaction date in ISO 8601 (YYYY-MM-DD).
transactionTimeStringTransaction time (HH:MM:SS).
receiptNumberStringReceipt number or transaction identifier.
analyzeItemsArrayLine items with name, quantity, unit price, total price, category, description, item code, brand, size, color, SKU.
merchantInfoListArrayMerchant objects with name, address, phone, website, cashier name, store number.
financialInfoListArrayFinancial objects with subtotal, tax amount, total amount, payment method, card last four.
merchantName / merchantAddress / merchantPhone / merchantWebsiteStringFlattened merchant details for quick access without indexing into merchantInfoList.
subtotal / taxAmount / totalAmountNumberFlattened financial totals with precise decimal handling.
paymentMethod / cardLastFourStringPayment method used and last four digits of the card, if applicable.
roomNumber / checkInDate / checkOutDateStringHotel-specific fields, populated when receiptType is hotel.
fuelType / fuelQuantity / fuelUnit / vehicleNumberString/NumberFuel-specific fields, populated when receiptType is fuel and energy.
trainingProvider / courseNameStringTraining-specific fields, populated when receiptType is training.
healthcareProvider / patientName / insuranceInfoStringHealthcare-specific fields, populated when receiptType is healthcare.
additionalInfoObjectDictionary containing any Body/customFieldKeys values that were found.
warningsArrayWarning messages for potential data-quality issues encountered during extraction.
fallbackUsedBooleanTrue when a fallback extraction method was used, a signal to review manually.
successBooleanTrue if extraction succeeded.
messageStringDescriptive result message.

Typical Setups

Expense capture to Excel
  1. Trigger when a receipt is emailed or uploaded to SharePoint.
  2. Run AI-Receipt Parser with extractMerchantInfo and calculateTotals enabled.
  3. Append merchantName, totalAmount, and transactionDateStr as a new Excel row.
  4. Archive the original receipt with the extracted data linked.
Line-item expense categorization
  1. Trigger on receipt upload with analyzeItems enabled.
  2. Apply to each item in analyzeItems and categorize by the returned category field.
  3. Route items over a policy threshold to a manager approval.
  4. Post approved items to Dynamics 365 Finance.
Specialized receipt routing (hotel, fuel, healthcare)
  1. Trigger on receipt upload; set Body/receiptType if the category is known.
  2. Check the returned receiptType and branch on hotel, fuel and energy, or healthcare.
  3. Send roomNumber/checkInDate, fuelType/vehicleNumber, or patientName to the matching system.
  4. Log any warnings for manual review.

Practical Tips

Always branch on success and warnings before posting totals

A populated warnings array or fallbackUsed: true means the extraction had lower confidence. Route these to manual review instead of auto-posting into an expense or accounting system.

Set Body/receiptType when you know the category

Leaving it unset still works via generic extraction, but a matching receiptType improves accuracy on category-specific fields like roomNumber or fuelType.

Turn off extraction flags you do not need

If you only need the total amount, set analyzeItems and extractMerchantInfo to No to keep the response smaller and processing focused.

Match Body/Document/Name's extension to the real file format

A mismatched extension (for example naming a JPG file receipt.pdf) can affect format detection and extraction accuracy.

Use customFieldKeys for anything the standard schema misses

A loyalty number, a promo code, or an internal reference printed on the receipt can be captured via Body/customFieldKeys without waiting for a schema update.

Cheat Sheet

GoalreceiptTypeKey output fields
General expense capturegenericmerchantName, totalAmount, transactionDateStr
Line-item expense reportsupplies or retailanalyzeItems (name, category, price)
Travel expense reconciliationhotelroomNumber, checkInDate, checkOutDate, totalAmount
Fleet fuel trackingfuel and energyfuelType, fuelQuantity, vehicleNumber
Healthcare expense/insurancehealthcarehealthcareProvider, patientName, insuranceInfo

Common Questions

What receipt types does Body/receiptType support?+
meal, supplies, hotel, fuel and energy, transportation, communication, subscriptions, entertainment, training, healthcare, and generic. Setting the correct type is optional but improves field-recognition accuracy for that category's specialized fields, for example roomNumber for hotel or fuelType for fuel and energy. For general recordkeeping guidance on what a compliant receipt should capture, see the IRS recordkeeping requirements for businesses.
What is the difference between analyzeItems, extractMerchantInfo, and calculateTotals?+
These three Advanced parameters independently control extraction depth. analyzeItems extracts individual line items (name, quantity, price, category). extractMerchantInfo extracts merchant name, address, phone, and cashier. calculateTotals extracts subtotal, tax amount, and total amount. Disable any you do not need to reduce processing and keep the response focused.
Can I extract custom fields the standard schema does not cover?+
Yes. Body/customFieldKeys accepts an array of field names beyond the standard schema. The AI engine attempts to locate and return each one inside the additionalInfo object of the response.
How do I handle a receipt the parser could not read confidently?+
Check the warnings array and the fallbackUsed flag in the response. A non-empty warnings array or fallbackUsed: true signals lower-confidence extraction, for example from a blurry photo. Route these cases to a manual review step instead of auto-posting the extracted totals, consistent with general CFPB guidance on tracking expenses accurately.

Same Task on Other Platforms

Get Help