Line item calculation errors: when unit cost times units plus adjustment doesn't add up
Here's the error:
Line item 0 calculation incorrect: 350 * 2.00 + 0 = 700, but total is 999
This one is about a single line, not the whole invoice. The rule: LINE_ITEM_UNIT_COST times LINE_ITEM_NUMBER_OF_UNITS, plus LINE_ITEM_ADJUSTMENT_AMOUNT, has to equal LINE_ITEM_TOTAL. One cent of tolerance, same as everywhere else in the consistency checks. Every line item in the invoice gets checked independently, so a fifteen-line invoice with one bad row still tells you exactly which row.
If you've read the invoice balance guide already, here's the difference. That check compares the sum of every LINE_ITEM_TOTAL against INVOICE_TOTAL, one comparison for the whole invoice. This check looks inside a single line item's own arithmetic, before any of those totals get summed. You can fail one without failing the other: a line item can multiply out correctly and still not match a wrong invoice total, and a line item can be internally wrong in a way that happens to cancel out somewhere else and still balance at the invoice level. They're catching different mistakes.
What actually produces this
The unit cost changed but the total didn't get recalculated. Someone adjusts a timekeeper's rate after the line was already priced, updates LINE_ITEM_UNIT_COST, and the export tool (or a human editing a spreadsheet before export) doesn't regenerate LINE_ITEM_TOTAL from the new number.
Units got rounded but cost didn't follow. LINE_ITEM_NUMBER_OF_UNITS is often hours in tenths (2.30, not 2.3333), and if that rounding happens after the total was already calculated from the unfounded number, the two drift apart.
An adjustment got dropped or duplicated. LINE_ITEM_ADJUSTMENT_AMOUNT is meant to be part of this formula, not applied separately. If a discount was subtracted from LINE_ITEM_TOTAL directly and also left in LINE_ITEM_ADJUSTMENT_AMOUNT, or the reverse, the arithmetic won't reconcile even though both numbers individually look reasonable.
Wrong field entirely. Less common, but worth checking first if the numbers are wildly off (like the sample above, where 700 was expected and 999 showed up instead): a value from a different line, or a different column, landed in LINE_ITEM_TOTAL.
Checking it by hand
Take the three inputs the error message already gives you (unit cost, units, adjustment), multiply and add, and compare to what's actually in LINE_ITEM_TOTAL. If the difference matches a number you recognize (a specific hourly rate, a specific discount amount), that's usually the actual bug, not the total itself. If it's a small, fractional difference, look at rounding on LINE_ITEM_NUMBER_OF_UNITS first.
Try it
Same tiers as every other Tier 2 check: free structure checks catch spec/format problems, this one needs a Day Pass or Ledger subscription. Ledger and API accounts can also pull this exact fixture from the account page's sample lookup, the same way as the invoice balance mismatch guide's example, if you want a known-bad file to test your own export pipeline's error handling against before a client's system finds it for you.