BidCraft Tile
BidCraftTile
Jump to…

How receipt allocation works

You drove to the supply house, bought 10 sheets of waterproofing because the supplier had a case-pack discount, and used 4 sheets on the bathroom you're working on right now. The other 6 are on a shelf in your garage waiting for the next job. Did this project cost you $1,200 in waterproofing, or $480? It cost you $480. The other $720 is inventory. Allocation is how BidCraft makes sure your variance numbers reflect that.

The basic idea

Every time you log a material receipt, BidCraft does three things:

  1. Matches each line on the receipt to a real product — first by SKU, then by fuzzy name match against your materials library and the master catalog
  2. Looks at what the project actually needs — pulled from your internal materials list
  3. Allocates the smaller of (what you bought, what the project still needs) — and tags the rest as leftover

So if your materials list calls for 4 sheets of waterproofing and you bought 10, the allocator marks 4 as "used on this job" and 6 as "leftover."

The variance card in the Costs & Materials section uses the allocated total, not the receipt total. Buying extra for stock doesn't make your project look over-budget.

Sales tax rides along with the allocation

Receipts print their line items before tax — the tax is a single line down at the bottom. But you paid it, so it's a real job cost.

BidCraft allocates the tax the same way it allocates everything else: proportionally. Use the whole receipt on this job and the whole tax-inclusive total lands on the job. Use half of it and half the tax comes with it.

So a $100 receipt with $8 of tax breaks down like this:

What you usedAllocated to the project
All of it$108 — the full amount you paid
Half of it$54 — half the materials, half the tax
None of it (all leftover)$0

The same math covers anything else printed below the line items — a register discount, an environmental fee, a delivery charge. It all follows the share you actually consumed.

One thing this means when you open a receipt's detail drawer: the individual lines are listed exactly as printed, so they won't add up to the "To this project" number at the top. That's expected, and the drawer flags it with a small note about receipt-level tax, discounts, or fees so you're not left doing arithmetic wondering what's missing.

Matching receipt lines to products

When the AI reads a receipt photo, it pulls out each line item — "KERDI-DS 8'4" x 4'9" — 5 each — $46.20". Then it tries to match that line to a real product:

Match typeWhat it means
SKU matchThe receipt line had a SKU code that matches your library or the master catalog exactly. Most reliable.
Name matchNo SKU, but the product name is similar enough (above an 80% similarity threshold) to a product in your library or catalog.
UnmatchedThe AI couldn't confidently tie this line to anything. It still counts toward the receipt total, but with no allocation logic — it allocates 100% to this project.

The detail drawer on each receipt shows the confidence level for every line (SKU match / Name match / Unmatched) so you can spot-check what the AI did.

Leftover units

For every matched line that allocated less than the full purchase, you'll see a leftover count — that's inventory you can put toward future jobs. The drawer surfaces this per-line plus a project-wide "$X of $Y paid · $Z leftover" summary at the top.

This isn't full inventory tracking yet. We're not subtracting that leftover from your next project's predicted need automatically (that's coming). For now, leftover is informational — but the data is being collected so the inventory layer can build on it later.

Splitting purchases across multiple receipts

Real life is messier than one trip per project. Maybe you bought half the waterproofing this morning and the rest next week. BidCraft handles this:

  • Receipts are processed chronologically (oldest receipt date first)
  • The first receipt allocates what the project needs from what it brought
  • Subsequent receipts only allocate what's still unclaimed
  • Everything past the project's predicted need becomes leftover

So if your materials list needs 4 sheets, you buy 2 sheets on Monday and 3 sheets on Friday, the Monday receipt allocates 2 (full purchase, project still needs 2 more) and the Friday receipt allocates 2 of its 3 (project filled up; 1 left over).

Overriding allocation by hand

The AI matches and allocates automatically, but you have the final say. In the receipt detail drawer, every material line shows an editable Allocated units input. Type a different number, save, and that line is locked — future allocator runs won't touch it.

Want to undo your override and let the AI take another pass? There's a reset button next to each overridden line.

Non-material receipts always allocate 100%

Allocation only makes sense for stuff you can carry over to the next job. So:

  • Labor receipts — always 100% to the project (you can't reuse subcontractor hours)
  • Permit receipts — always 100% (permits are job-specific)
  • Dump receipts — always 100% (debris is gone)
  • Tools & Equipment — always 100% (see the note below)
  • Other — always 100%

Only material category receipts go through the matching-and-allocation logic.

[!note] Tools are the honest exception here. A saw genuinely does carry over to the next job, so you could argue it should be split like materials. For now it isn't — the whole tool purchase lands on the job you bought it for. What the category buys you today is visibility: that spend sits on its own line instead of hiding inside your materials number and making the job look like it blew the material budget. Spreading tool cost across the jobs it serves is a bigger idea, and it's coming later.

[!tip] If you log a labor or sub invoice as "materials" by accident, the allocator will try to match it to products and probably mark it unmatched. Change the category to labor (one tap on the receipt row) and it'll allocate cleanly.

Next steps

To see allocation feeding into your real-time job profitability, head to Predicted vs actual cost analysis. The variance card is where allocation actually pays off.

For details on the three ways to log a receipt in the first place, see Logging receipts on a project.

Was this article helpful?
Still need help?

Email andy@businessupai.com and a real person on the BidCraft Tile team will get back to you. If you're signed in, you can also ask Biddy from any page in the app.