FAR Analyzer reference
A plain-English tour of how the tool reads a packet, pairs receipts to line items, and decides what to flag. Written for reviewers, not engineers. When the tool encounters something it can't handle confidently, it labels the flag "needs review" rather than guessing — so you can decide.
Every packet PDF is split page-by-page. Each page is sent through a vision model that captures:
If a receipt actually spans several pages (a real multi-page hotel folio, or an emailed receipt printed with ads on page 2), the tool stitches those pages into one logical receipt before matching begins.
The Vantagepoint cover page lists every expense the employee submitted. Each row on that cover is a "line item." The tool tries to pair each line item with the receipt that proves it. Matching runs in passes:
Some lines never have a receipt and that's expected. Mileage is calculated (rate × distance) rather than receipted. Sometimes a tip was given in cash, or an airline didn't issue a receipt for an in-flight snack. When the cover line says so explicitly — or it's a Mileage row — the tool sets those aside up front and labels them "No receipt expected." No match is attempted.
When a single dinner shows up on the cover as two separate line items (one Meals, one Alcohol) for the same day, the tool tries to pair both to a single combined receipt where food and alcohol sum to the receipt's total. This is the common Vantagepoint pattern for splitting alcohol into the unallowable account.
For every remaining line item, the tool scores each unmatched receipt on amount closeness, date proximity, vendor agreement, and category fit. The highest-scoring match wins (above a threshold). The "view receipt" button on each row jumps to the matched page in the original packet for spot-checking.
Employees sometimes attach a Google Maps screenshot or printed directions for a Mileage line item. There's no dollar total on those pages, so the regular amount-based matcher would never pair them. A separate pass matches map/route documents to Mileage lines by date.
Flags come in three severities: error (something is wrong and needs to change in Vantagepoint), warning (something probably needs adjustment but the reviewer should look), and info (a heads-up; no action required unless the amount looks off).
Any line item coded as alcohol must be in an unallowable account (typically 8022.0). The tool flags lines where alcohol is coded to an allowable account. If a meal receipt contains alcohol but the cover doesn't split it out, the tool flags the meal line as "alcohol in meal" with the suggested split amount.
Cited under FAR 31.205-51.
FAR §31.205-46 caps lodging at the GSA per-diem rate per night, not averaged across the stay. The tool checks each night individually against the rate for that city. When the folio shows only a grand total without a per-night breakdown, it divides by the number of nights and flags the assumption so the reviewer can verify against the actual folio.
Cited under FAR 31.205-46(a).
Meals are capped per person, not per receipt. The tool counts attendees from four sources — the cover's "Each Person:" list, the description ("lunch with Mary and Catherine"), receipt-printed headcounts ("Guests: 4"), and handwritten guest names on the back — and takes the largest credible count. A small nickname table catches cases where the diner who paid is already in the guest list (so the submitter isn't double-counted).
The flag fires when the per-person cost is more than 50% over the GSA cap for that city. Hover the "👥 N attendees" pill on any meal row to see exactly which signals the tool used to land on the count.
Cited under FAR 31.205-46(a). Rates from the live GSA Per Diem API at api.gsa.gov.
GSA's rule: the first and last day of a trip each get 75% of the full M&IE rate, not the full rate. A one-day trip uses 75% once (single bookend). The tool detects which line items fall on a trip bookend, applies the 75% cap, and flags overages against the modified cap. Even when a travel-day meal is under cap, an info note appears so the reviewer can confirm the day was correctly identified.
GSA Per Diem FAQ.
Lines that should have a receipt but don't get a "no receipt found" flag. Parking and tolls are excepted — receipts often aren't issued at meters and tollbooths, so the tool surfaces an info note instead of an error for those categories.
When the same physical receipt is uploaded twice in a packet, the tool detects the duplicate from the extracted data (same vendor, date, total, and line items). One line item keeps its match; the other is flagged with a note that the real receipt for the second charge may be missing.
If a cover line item is missing its amount, the tool still attempts a tentative match using vendor, date, and description. The line is flagged for the reviewer to confirm and enter the real number; its $0 amount doesn't contribute to the running totals.