The upload worked and nothing after it did
A photographed invoice uploaded fine and then vanished from the list it had just been added to. The first step succeeding is the most misleading kind of broken, because it tells everyone the feature is switched on.
Here is a failure worth recognising, because it reads as a working feature right up until somebody needs it. You photograph a delivery note. The app says saved. You go to the list of saved documents and it is empty.
Not an error. Not a spinner that never stops. An empty list, which looks exactly like a list you have not added anything to yet. So the natural reaction is to do it again — and the second one does not appear either.
Where it came from
We found this in our own invoice-scanning flow, and the cause is worth describing because the same shape turns up in plenty of systems. A scanned document was treated as belonging to whichever company its invoice belonged to. Sensible enough: an invoice belongs to a supplier, a supplier belongs to a business, so the paperwork inherits its owner from what it is attached to.
Except a photograph of an invoice is taken before the invoice exists. That is the entire point of photographing it. So a fresh upload was attached to nothing, and belonged to nobody, and the only account that could see it was ours. The step that would have attached it sat behind the same locked door.
The operator's version of this
You will meet the same loop in paper processes. A delivery cannot be booked in until it is matched to an order; the order cannot be raised until somebody confirms what arrived. A new starter cannot be put on the rota until they have a staff record, and the staff record is created by the person who builds the rota. Every one of these is fine until the day somebody hits it from a standing start, with nothing already in the system to lean on.
The tell is always the same: it works for the person who set everything up, and only for them. If a job in your venue is only ever done by one person, you do not know whether it works. You know that they can do it.
What we changed
A scanned document now carries its own owner from the moment it is uploaded, rather than borrowing one later. Boring, and it is the right answer: the thing that exists first should not depend on the thing that exists second. If you want to see the stock side of what this feeds into, it is on our stock page.