Slipsheet · Content Back to ledger
Home / Extract Tips from Receipts: Tip as a Ledger Column
Extract Tips from Receipts: Tip as a Ledger Column

Extract Tips from Receipts: Tip as a Ledger Column

Month-end, and the tip total doesn't match the card slips. Some receipts print the tip on its own line. Some bury it inside the total with a small note underneath. The cash tips never touched the thermal paper at all. You add the column twice and get two different answers, and neither one is wrong, exactly. The numbers just never had a place to live.

The tip isn't hard to find. It was never given a column.

How do you extract tips from receipts?

Give every receipt a tip column next to base and total, plus a tip_source that says where the number came from: card line, included in total, cash, missing, or none. If the slip prints no tip, leave the cell blank and add a note rather than working one out.

What does a receipt row with a tip column look like?

One receipt, one row. Here are six invented receipts, with the tip pulled out of the total into its own column:

datevendorbasetiptaxtotaltip_sourcecategorysource
2026-09-02Harbor Grill$42.00$8.00$3.36$53.36card lineMealsthermal slip
2026-09-06Juniper Bistro (slip prints a gratuity line inside the total)$60.00$12.00$4.80$76.80included in totalMealsemail PDF
2026-09-10Pine Street Pub (cash tip left at the table; slip has no tip line)$30.00blank$2.40$32.40cashMealsthermal slip
2026-09-14Delta Cafe (total is $5.00 above base + tax; tip line unreadable in the photo)$18.00blank$1.44$24.44missingMealsphone photo
2026-09-18Quick Bite (tip line prints $0.00)$12.50$0.00$1.00$13.50noneMealsemail PDF
2026-09-24Maple Street Coffee$8.00$1.50$0.64$10.14card lineMealsphone photo
Totals6 receipts$170.50$21.50$13.64$210.64
Example data: six invented receipts for a freelancer's meal expenses. Where a tip is printed, base + tax + tip equals the total. The two blank tip cells are left blank on purpose, and the tip totals above add up only the tips that were printed.

The sources are mixed on purpose: two thermal slips, two email PDFs, and two phone photos. In the ledger they all look alike. Harbor Grill and Maple Street Coffee print the tip on its own line. Juniper Bistro folds a gratuity into the total, but the slip shows the amount, so it goes in the tip cell. Quick Bite printed a $0.00 tip line, which is a real zero and not a blank.

Two rows are different. Pine Street Pub's slip has no tip line, because the tip was cash left on the table. The tip stays blank and the note says why. Delta Cafe is the one to look at twice: base plus tax comes to $19.44 but the total is $24.44, so $5.00 is unexplained. The tip line isn't readable in the photo, so the tip is blank and tip_source says missing. The ledger doesn't guess.

A card charge belongs somewhere else. It proves money left, but it isn't a receipt row, which is why a card statement is not a receipt.

What does the roll-up look like?

The same rows, grouped by tip_source, with the counts and sums side by side:

tip_sourcereceipt_countsum_basesum_tipsum_total
card line2$50.00$9.50$63.50
included in total1$60.00$12.00$76.80
cash1$30.00$0.00$32.40
missing1$18.00$0.00$24.44
none1$12.50$0.00$13.50
All rows6$170.50$21.50$210.64
Example data: the roll-up of the six rows above, grouped by tip_source. Blank tip cells (the cash and missing rows) add nothing to sum_tip, which does not mean no tip was left.

Card line has 2 receipts and $9.50 in tips. Included in total has 1 receipt and $12.00. Cash and missing each have 1 receipt with a blank tip, so they add $0.00 to sum_tip. None has 1 receipt with a printed $0.00 tip. That $0.00 for cash and missing means the cell was blank. It doesn't mean no tip was left.

The bottom row ties back to the first table: 6 receipts, $170.50 in base, $21.50 in tips, $210.64 in totals. Only the printed tips are in that tip figure. Base plus tax plus tip comes to $205.64, and the $5.00 difference from the totals is the unexplained gap on the Delta Cafe row. That is the number to chase before the month closes.

How do the rows get made?

Slipsheet makes the rows. Photograph the slip, upload the PDF, or forward the email to receipts@slipsheet.app. OCR reads the page, and you review each row before anything leaves, with the tip next to the total so you can compare them.

Review matters because some fields read worse than others. In a Q2 2026 test of plain Tesseract OCR on 20 receipts, field accuracy was vendor 95%, date 100%, total 100%, and tax 60%, with all four right on 11 of 20 receipts (55%). Tip wasn't one of the fields measured in that set. If tax reads that unevenly, a small or italic tip line deserves the same suspicion, so check tip against total on every row before export.

Then export a CSV and send it to your bookkeeper. That is the whole path: review the rows in Slipsheet, export, send. Slipsheet doesn't report tips to anyone and doesn't decide how they are treated. If a slip has no tip line, the cell stays blank. For how the total and the tip get pulled apart on a single receipt, see total and tip separation. What the accountant wants beyond tips is in how to prepare receipts for your accountant. The numbers on this page are invented, and nothing here is tax or employment advice.

A few straight answers

What's the difference between a tip printed on the slip and a tip included in the total?

A printed tip has its own line, so it goes in the tip column and base + tax + tip should equal the total. An included tip is folded into the total, usually with a note like a gratuity line or service charge. Record it only if the slip shows the amount, and mark tip_source as included in total so it can be told apart.

What do I do with a cash tip that isn't on the receipt?

Leave the tip cell blank, set tip_source to cash, and add a note. Don't invent a figure or back one out of the total. If you keep your own tally of cash tips, it lives outside the receipt row, and how it is reported is a question for your accountant.

What if OCR mixes up the tip and the total?

Check the arithmetic at review. When a tip is printed, base + tax + tip should equal the total. If the row doesn't add up, one of the fields is wrong or a line is missing, so compare it to the slip and fix it before export. Tips are often small or italic, which makes them easy to misread.

What should I send my bookkeeper?

Send the exported CSV, one reviewed row per receipt with date, vendor, base, tip, tax, total, tip_source, category, and source. Add the roll-up by tip_source if you have one, and a short list of rows with a blank tip and why. This is not tax or employment advice.

Ready to stop typing receipts?

Open your ledger.

14-day trial. No card. Cancel anytime. Your receipts write themselves while you do literally anything else.