Saltar al contenido principal
Ahorre un 30 % en su primer año

Expense management

Close an expense without asking for the receipt

Expenses stay open when users must redo what the payment already did. Smartbills matches the merchant's itemized receipt to the card charge and passes your product the line items, tax and tip.

Smartbills matches the merchant's itemized receipt to the transaction before your user opens your app, with every field marked known or inferred.

Enriched transactionSource: receipt
Raw descriptorSQ *CAFE OLIMP 8004169726 QC • $42.85
MerchantCafe Olimp / 9231-4471 Quebec Inc.
Location1204 Rue Sainte-Catherine O, Montreal QC / store 04
Line items2 x Flat white 5.50, 1 x Almond croissant 4.75, 1 x Lunch bowl 18.00
TaxGST 1.69, QST 3.37
Tip4.04 / 12%
Payment methodVisa 4417 / contactless
Confidence1.00 / source: receipt
Source: receiptProvenance per field

Receipts arrive without anyone taking a photo

The point of sale pushes the receipt onto the network as soon as the card clears, and mailbox capture picks up emailed receipts from an inbox your user connects once.

  • POS push from the merchant network at payment
  • Mailbox capture for emailed and PDF receipts
  • Late arrivals update the transaction by webhook

Policy rules that can read the basket

A $180 dinner isn't a policy question. A $180 dinner with four bottles on the bill is, and line items give your rules engine a way to tell the two apart.

  • Alcohol, tobacco and gift lines identified at SKU level
  • Tip broken out as its own line, ready for a cap
  • Tax components split for the input tax credit claim

We tell you where coverage ends

No network covers every merchant. We report coverage per market and per category before you integrate, and unmatched transactions come back labelled instead of quietly filled in.

Why teams switch

Your policy engine only sees a total.

Half our expenses sit open for weeks because nobody got round to photographing the receipt.

The receipt is captured from the point of sale or from a connected mailbox without the user doing anything. The expense shows up complete and nobody needs a reminder.

Our policy engine only sees a total. It flags the wrong expenses and misses the real ones.

Line items, tax components and tip arrive with the transaction, which lets a rule read the basket and flag the four bottles on the dinner bill instead of the dinner itself.

We can't tell which merchant names our data vendor was actually sure about.

Every field carries its provenance and a confidence score. In your code, a merchant read off a receipt and one inferred from a descriptor are different values.

The API, in your interface

Take the data and build the surface yourself, or drop our receipt view into your product. Either way you get the same fields with the same provenance.

  1. Send the transaction

    Descriptor, amount and timestamp. No cardholder identity is needed or received.

  2. Receipt first

    If a network merchant issued a receipt for that amount at that terminal, the match is exact.

  3. The rest is filled in

    Descriptor parsing and a model cover the gap, and each field shows its source and confidence.

  4. Show it your way

    Your design, your rules engine and your own threshold for what's good enough to display.

Our receipt view, ready to embed

  1. Drop in the component

    An itemized receipt view that opens from any transaction row in your app.

  2. Connect the mailbox

    The user authorizes their inbox once, and emailed receipts join the POS ones in the same feed.

  3. Matched as they arrive

    Matched, attached and compliant, with the original kept for audit.

  4. Late receipts are added

    A webhook updates the transaction if the document arrives after authorization.

FAQ

Frequently asked questions

What people ask us before they sign up.

No, not for a merchant on the network and not for a receipt that came by email. The receipt is pushed from the point of sale at payment or pulled from a mailbox the user connects once. Photo capture is still there for the purchases neither route covers, as a fallback.

It's still enriched. The descriptor is resolved to a merchant, a location and a category the usual way, and each of those fields comes back marked as inferred, with a confidence score. Nothing gets filled in silently.

They're the lines the merchant's point of sale recorded. For most retail and hospitality merchants that means SKU level, with unit price, quantity, tax components and tip broken out. Since nothing is read off an image, there's no OCR confidence to threshold and no transcription to correct.

Yes, that's what they're for. Alcohol, tobacco and gift lines are identified at SKU level, tip is its own field and tax components are split. A rule written against the basket flags what a human reviewer would have flagged.

In region: Canadian data stays resident in Canada and European data stays in Europe. Enrichment needs only the descriptor, the amount and the timestamp. It doesn't need to know who the cardholder is, and doesn't receive it.

Send a backfill of historical transactions. We report matched, resolved and unresolved per market and per category before you write any integration code. The number you plan against comes from your own data.

Get started

See how many of your transactions already have a receipt

Send us a backfill and you'll get matched, resolved and unresolved counts per market before writing a line of integration code.