Receipts, invoices and reports¶
SUFS reimburses against a receipt or a paid invoice. The tracker keeps those files next to the expenses they document, so that when it's time to submit a claim the paperwork is already in one place, named sensibly, and ready to hand over.
Attach a receipt to an expense¶
Start with the paperwork. Drop the receipt anywhere on the Log an expense form (or paste a screenshot, or click Add files… on the Receipts and documents line): it opens in a floating window so you can type the date, vendor and amount from it, and it's attached when you save. Add more documents the same way before saving; each has its own kind. The line lists everything that will be attached.
On the Submissions tab every expense without files shows 📎 Attach receipt; expenses with files show 📎 2 files. Click either to open the expense in the form with its files listed under Note. There you can:
- drop files onto the dotted area, paste a screenshot or photo, or click Add files…;
- set what each file is: Receipt / invoice (what SUFS asks for), Supporting document (anything else that goes with the claim, such as a course description or a provider letter), or Internal, not for SUFS (notes for you only);
- Open a file: PDFs and photos appear in a floating window you can drag anywhere and resize from its corner, so the receipt stays in view while you fill in the expense underneath (its position is remembered). New tab pops it out, Download saves it. Other file types download. Each log row with a viewable file also has a View button;
- Download or Remove a file;
- Download all as .zip when an expense has several files.
One invoice, several expenses¶
An invoice often covers more than one entry: the same purchase logged once per student, several items on different form lines, a course paid in instalments. Each expense keeps its own set of files, so click Attach existing…, type a few letters of the invoice's name or vendor, and click Attach: it's now on this expense as well, without touching the others. One expense can hold the invoice plus a syllabus, while the other has the invoice alone. Detach takes a file off this expense only; a receipt documenting nothing else is removed with its last expense. The picker also offers reports from Rules & settings, which stay listed there.
When you mark a line Used in the category tree, the dialog that asks for the provider has an optional receipt field too, so the receipt can be attached as the expense is created. If the line is marked for several students, the one receipt documents the expense for each of them.
Downloaded files are named for the claim: date, vendor, amount and kind come first, then the original name, for example 2026-03-12 Lakeshore Learning 48.99 receipt - order-114.pdf. In the SUFS form's file picker, that's the name you look for.
Still to submit on the Overview marks each expense with receipt attached or No receipt attached yet (with an Attach button), so you can see at a glance what's ready.
The tracker reads your receipts¶
Every PDF, photo or text file you attach is read, in your browser: PDFs with real text directly, scans and photos by text recognition. A PDF that shows the receipt as a picture (a web page printed to PDF with the receipt embedded as an image) is recognised as well: the page's own text and what the picture says are read together. The first time, the browser downloads the reading libraries (a few megabytes) from the internet and keeps them; nothing you attach leaves your device. Photos in HEIC format (iPhone default) can't be read; set the camera to Most compatible or convert them to JPEG.
From the text, the tracker guesses the date, the amount (the labelled total), the tax and shipping lines when the receipt breaks them out, the vendor, the invoice or order number (a number labelled Invoice #, Receipt #, Order # or similar) and whether there is a payment marker (paid, card ending in, a zero balance), and shows what it found under the file: ✓ 2026-03-12 · ✓ $52.42 · $9.43 tax/shipping · ✓ Lakeshore Learning · ✓ paid. Shipping that is charged and then credited (Amazon's Free Shipping −$5.99) comes out as zero. When the receipt states a subtotal and the parts don't make the total, the line ends with ⚠ doesn't add up and the sums it compared, which usually means a misread digit: check the receipt. The form also warns when tax and shipping together exceed the amount paid. The tracker also reads the receipt's item lines (name, quantity, price each): store receipts, online order pages such as Amazon's order details and printable invoice, and invoices listing a price under each item. It only keeps them when they add up to the receipt's subtotal, so a misread never makes up items. When it can't, the receipt counts as one item; add the others with + Add an item. Read again on a file reads it with the tracker's current rules.
When you drop a receipt on the expense form, or pick one with Attach existing…, the empty fields are filled from it: date, vendor, invoice/receipt number, and the items. Each item line the receipt lists becomes an item with its name, quantity and price. The tax and shipping are split over the items by price, so the items add up to the total paid. A discount on the whole order lowers the prices the same way. A receipt read as one item fills the price before tax, the tax and shipping together, and the form line. If the vendor is one the tracker knows from your log or its ideas, the form line is suggested too. Fields that already hold something are left alone, and so are items you have typed into. When something was left alone, the "From …" line offers Use the receipt's values for N filled fields too. Undo puts back whatever was there before. Everything is a suggestion to check against the receipt on screen.
Every readable file has Read again (or Read the contents, for one never read) under its row: the tracker's reading gets better over time, and rereading replaces the old result with what it recognises now, filling any form fields still empty. Reread all files under Files to organize does this for every file on this device, one after the other, with a progress line.
Files to organize¶
Rules & settings → Files to organize takes receipts in bulk: drop files or whole folders there, or use Add files… and Add a folder…. Each file is read and then shown with what was found, a line of its text, and the expenses with the same amount around the same date, so most receipts are one click:
- Receipt for an expense that matches: attaches it as the receipt.
- New expense: opens the form with the date, amount and vendor filled in and the file attached.
- Supporting for…: search for the expense it belongs to as a supporting document.
- Report…: pick a student and school year and file it under Reports.
- Delete for things that don't belong.
Files waiting here are listed on the Overview under Needs details until organized. In Chrome or Edge with a folder connected, an inbox/ folder is created next to the data file, and the panel shows its path. Anything that lands there (a phone's synced photos, a scanner's output) is picked up when you return to the tracker and by Rescan inbox folder. Files already in the tracker are recognised by their contents and skipped. Without a folder, the panel explains how to set one up.
Reports and other files¶
Rules & settings → Reports and other files keeps evaluations, progress reports, plans and anything else you want with the tracker but not with a claim. Pick a student (or All students) and a school year, add a note if you like, then Add files…. These are always internal files: they're never part of a claim, and nothing here is sent anywhere.
What can be attached¶
PDFs; photos and images (JPEG, PNG, WebP, GIF, HEIC); plain text and CSV; Word, Excel and OpenDocument files. Up to 20 MB each. Web pages and other files a browser could run aren't accepted.
The same file attached twice is stored once: the tracker recognises files by their contents, so one receipt can document several expenses without taking space twice.
Where the files are¶
In the standalone tracker the files are kept by your browser, in the same place as the rest of your data. That has consequences:
- Back them up with the .zip export. Export .json lists the files but doesn't contain them; Export .zip with files (shown once you have attachments, under Your data file) contains everything. Import the .zip into another tracker and the files come along. See Back up and move your data.
- "Not on this device": if a file's record reached this browser (through a data file or an import) but its contents didn't, the file is listed with Not on this device and an Attach it again button. Pick the same file from disk and it's back. Importing the .zip that holds it does the same for all of them.
- A folder keeps everything together: in Chrome or Edge on a computer, choose Use a folder… under Keep the data in a file. The tracker then writes the data file and copies every attached receipt into
attachments/, filed by year and month of the receipt (attachments/2026/03/…, from the date read off the receipt, else the expense's date). Put that folder in a synced location and the other computer gets the receipts as well as the data. The files are ordinary files you can open yourself; the tracker only ever adds toattachments/, and removes a copy when you remove the file from the tracker. - The
inbox/folder next to the data file holds everything not organized yet: anything you save or sync there (a phone's camera roll, a scanner) shows up under Files to organize, and files you add to Files to organize in the page are written there too. When you attach a file to an expense or file it as a report, it moves toattachments/<year>/<month>/. Deleting it in the page deletes it from the folder. Removing a file frominbox/yourself makes the tracker forget it on the next rescan, so you can drop it in again later and it is read afresh. - Clearing the browser's site data removes the files along with everything else. Export first.
In the shared tracker, files are stored on the server with the account, so every member sees them on every device and the admin's backups include them.
Handing files to the SUFS form¶
The SUFS reimbursement form has its own file upload. Download the receipt (or Download all as .zip and unzip it) and pick the file in their form; the name tells you which is which. With a folder connected, you can pick the file straight from attachments/.