Under the hood
What matching actually does
A vendor name on a PDF is a piece of text. A vendor in QuickBooks is a record with an ID. Matching is the step between them.
Sean Wilson5 minute read
A document goes in, fields come out. The step after that, matching, decides whether the output can be written anywhere. This post is about that step.
A name is a string
Read a supplier invoice and one of the fields you get back is a vendor name. Call it Adira Finance.
That string is a label. It carries no payment terms, no default expense account,
no tax treatment, no history of the eleven bills you have already paid the same
company. It also appears on your other invoices as Adira Finance Pty Ltd, as
ADIRA FINANCE, and once, on a scan, as Adira Fnance.
Write those strings into an accounting system as they arrive and you get four vendors where there is one company, a ledger that no longer adds up per supplier, and a reconciliation job in three months that somebody will have to do by hand.
Records give it an identity
When you connect an app to a workspace, Braille ingests that app's records, its entities: vendors, customers, jobs, accounts. Those records are embedded, so a search runs on meaning as well as spelling, and a name that arrives mangled on a bad scan can still reach the vendor that already exists.
The output of the match is the app's own identifier.
The match card from the product's storyboard: the vendor found, with the identifier QuickBooks knows it by.
Braille-native entities work the same way. Those are the lists you keep inside Braille rather than in a connected app, shaped how you want them, embedded and searchable on the same terms.
What the real identifier buys you
Writing 1042 rather than a name changes what happens after the run:
- The bill lands against the vendor that already exists, so that supplier's ledger stays whole.
- No duplicate vendor is created, so nobody has to merge records later.
- Everything hanging off the vendor applies on its own: payment terms, the default expense account, the approval rules your team set up years ago.
- Payment, reconciliation and reporting all key off the same record, so a question asked next quarter has one answer.
A field that says Adira Finance needs a human to turn it into 1042. A field that says 1042 is finished.
When there is genuinely no match
Sometimes the company really is new. Braille can create the record so the output can exist, and that creation is a supporting action, which costs nothing: it only exists to let this run land its outcome.
The boundary matters, and it is drawn at dependency. The moment a record is something another process relies on in its own right, it is an output, and that makes it its own workflow.
When a human should still look
Matching is a judgement, and some judgements should be shown to a person before anything is written. An approval step can sit in front of any write, and nothing is written until a person has checked the match.
Worth keeping an approval in front of:
- The first runs of a new workflow, while you are still learning what the documents look like.
- A supplier or customer appearing for the first time.
- Names that are close enough to be plausibly the same company and plausibly not, such as a trading name against a legal entity.
- Amounts over a threshold you set, whatever the match looked like.
- Documents that arrived as poor scans or photographs.
On the Business plan, the person who approves can be someone other than the person who uploaded. How a document becomes a record covers where the approval step sits in the run.
Where matching sits on the bill
A run that matches against or writes records in a connected app is an app-workflow, and it counts as one workflow. A run that fills a schema and delivers the result without touching a connected app is a standard run at half that. Matching against Braille-native entities stays a standard run, because those records are already priced by the native-entity allowance.
Each plan includes a searchable-entity allowance per app connection: 2,000 on Solo, 10,000 on Team, 100,000 on Business, custom on Enterprise. Past it, additional entities are $10, $9 and $7 per 10,000 a month, warned at 80% before anything bills. Apps you only deliver files into ingest no records, so they do not consume a connection slot at all.
The pricing page has the full grid, and how a document becomes a record walks the whole path a document takes, with matching in its place.