By Glyf
Expense Processing for Bookkeepers
Monday morning, and one client has sent 37 receipts as phone photos, taken at three different angles, in whatever order they landed in her bag. Another forwarded a PDF folder from a supplier portal. A third's invoices are sitting in an email thread titled "expenses (2)." None of it is sorted by date, none of it matches your usual template, and all of it needs to become clean records before the actual bookkeeping starts.
That's the daily shape of expense processing for bookkeepers handling more than one client at a time. Not one messy inbox, but several, each with its own habits and its own idea of "organized."
We built Glyf to take the document cleanup off that list. Upload a client's batch, let the Data Extraction Engine pull the fields, review anything flagged, and export something that's ready for the next step, not a spreadsheet you still have to rebuild by hand.
Why one client's mess multiplies into five
Handling a single person's disorganized receipts is manageable. Handling the same mess times five or six clients is a different problem, because the volume doesn't just add up, it compounds. Every client formats things differently, and none of that formatting carries over from one batch to the next. One client scans everything as consistently named PDFs. Another photographs receipts on a countertop and sends them in random order. A third mixes invoices, screenshots, and the odd handwritten note. Bookkeepers end up relearning a small set of quirks for every client, every month, before the accounting work even begins. That relearning tax is what eats the morning: not the bookkeeping itself, but the document triage that has to happen first.
Batch invoice extraction for one client's month in a single pass
A batch upload should clear a client's month in one pass, not one file at a time. Free Trial and Starter plans process up to 5 files per batch; Advanced handles up to 10, enough to work through a typical client's receipts and invoices for a period in a few uploads instead of dozens of single-file runs. If one document in the batch fails (a corrupted scan, a file that isn't actually an invoice), the rest of the batch still completes. You're not restarting a whole client's month because one photo didn't process cleanly. That matters more across multiple clients than with one, since a stalled batch for Client A shouldn't eat the afternoon you'd set aside for Client B.
What keeps five clients from blurring into one pile?
Client separation depends on a working history you can actually filter, not just a folder structure. Glyf lets you tag records by client, category, or however your workflow already splits things up, then filter Analysis History by tag, company name, date range, or amount to pull up exactly the slice you need. That searchable history is what keeps five active clients from turning into one undifferentiated stack of receipts. Tags carry through into every export format too, so the separation you set up during review is still there once the file lands in Excel or CSV. You're not re-sorting by client after the fact, because the tag already did that work.
What gets extracted from every client document, regardless of format
Every processed document returns the same structured fields no matter which client sent it or what format they used: invoice number, invoice date, issuing company, category, short description, total cost, currency, tax rate, itemized tax details, line items, payment method, and discount amount. That consistency is the real value across clients. A receipt from one client and a supplier invoice from another come back in the same shape, which means less mental switching between "how does this client's stuff usually look" and more time actually on the numbers.
Review matters more before a client file than before your own
If a document is missing a critical field (total, date, vendor, or line item detail), Glyf flags it as Needs Attention instead of quietly exporting a blank column. Opening the flagged record shows the original image next to the editable fields, so a correction takes seconds rather than a hunt through the source file. The full loop is covered in Review & correction flow. That review pass carries more weight when the output is heading to a client or their accountant than when it's only for your own records. A wrong total in a client deliverable is a different category of problem than a wrong total sitting quietly in your own file.
What makes an export actually client-ready?
A client-ready export needs to open cleanly and match how you already report to that client. The Excel & CSV export splits into two sheets (Summary, with one row per invoice, and Line Items, with one row per line item) so the file already has the invoice-versus-itemized-detail structure most bookkeeping handoffs need, instead of one long flat sheet you split apart yourself later. CSV exports the same data as one row per line item, which drops into most accounting software without reformatting. Each record also picks up a Last Exported timestamp the moment it's downloaded, so you can tell at a glance which client files already went out this month and which are still sitting in the queue.
Two questions bookkeepers ask before switching
Can one client's mixed PDFs and phone photos go into the same batch? Yes. PDF, JPG, PNG, and WEBP can all sit in one upload together, so a client's inconsistent habits don't force a second batch.
Can I tell which client files still need exporting? The history table's Export Status filter shows Exported versus Never Exported records, so outstanding client files are one filter away instead of a manual scan.
If you're the client rather than the bookkeeper, the same engine backs expense processing for small business owners. The workflow just runs single-account instead of across a client list.
Try expense processing for bookkeepers on a real client batch
Grab one client's actual receipts and invoices (the messy ones, not a clean sample) and run them through Glyf. Start your free trial