What breaks when a Rillet bill is missing its source document?
Creating a Rillet bill and attaching its source document are separate API calls, so a workflow that fails between the two can create a fully valid, payable bill with no backup attached. The bill won't look broken — it passes approval and payment normally, and the gap only surfaces if someone checks for the attachment at audit or close.
Part of the finance integrations guide.
| Symptom | A bill is approved and paid normally, but has no source document attached in Rillet |
|---|---|
| Root cause | Bill creation (POST /bills) and document upload (POST /bills/{bill_id}) are separate calls; the second one didn't run or failed silently |
| Visible in Rillet's UI? | The bill itself shows as complete and valid — only the attachments section is empty |
| When this typically surfaces | Audit or period-close review, not day-to-day AP processing |
| Who owns preventing it | The workflow design — Rillet's API doesn't enforce that a bill has an attachment |
Why a bill can be entirely valid and still missing its backup
Rillet's bill object doesn't require an attached source document to be created, approved, or paid — the document-upload endpoint is an entirely separate call from bill creation, and nothing in the API enforces that both happen together. A workflow that creates the bill successfully but never calls the upload endpoint (a bug, an unhandled error on the second call, or simply an integration that was never built to attach documents at all) produces a bill that is functionally complete from Rillet's perspective and missing its audit trail from everyone else's.
Why this doesn't get caught in normal AP processing
An approver reviewing a bill for payment is typically looking at the amount, vendor, and GL coding — not specifically checking whether a document is attached, especially if the attachment isn't a required field in the approval view. The bill pays on schedule, the vendor gets paid, and nothing in the day-to-day AP process flags that there's no underlying invoice or receipt on file. The gap is invisible until someone is specifically looking for it.
Why this matters more at audit or close
A vendor bill with no supporting document is exactly what an auditor samples for when testing AP controls — it's a textbook finding. At close, it also means anyone trying to verify a specific payment (a vendor dispute, a duplicate-payment investigation) has no source document to check the bill against, and has to go back to the vendor directly to reconstruct what should already be on file. The fix isn't reactive cleanup; it's making the upload call a required, checked step of bill creation rather than an optional follow-on.
Next step
Map the finance workflow with the most exposure and prove the automation path.
Bring the invoice, contract, payment reconciliation, or customer finance workflow you have to defend at audit. Loopfour can map the trigger, controls, integrations, and approval loop.
Worked example
A fully paid bill with nothing behind it
A workflow creates a $3,800 bill for a vendor, and the create-bill call succeeds. The next step — uploading the vendor's invoice PDF via POST /bills/{bill_id} — fails because the workflow's file-handling step wasn't updated after a schema change, but the workflow's error handling only logs a warning and continues rather than blocking the run. The bill moves through approval normally: the amount and vendor look correct, so it's approved and paid on schedule. Three months later, during a routine audit sample, the reviewer pulls this bill and finds no attached invoice — just the bill record itself. Reconstructing the original invoice means contacting the vendor directly, since nothing was ever saved on Rillet's side.
Frequently Asked Questions
Sources
Related
Topic
AP & Invoice Processing
Accounts payable and invoice processing is the set of steps a vendor bill goes through between arriving at a company and turning into a payment: capturing what the vendor sent, checking it against wha…
Read moreDiagnostic
What causes a three-way match failure between the PO, receipt, and invoice?
A three-way match compares the PO, the receipt (what was actually delivered), and the invoice on quantity, price, and charges. A failure means one of those three disagrees beyond tolerance — usually because the invoice bills a quantity that isn't fully receipted yet, the unit price differs from the PO, or the invoice adds a charge, like freight, the PO never included.
Read moreTopic
Integrations
Every finance automation vendor publishes an integrations page: a grid of logos, a claim of "seamless" connectivity, and not much else. That page answers a marketing question — does this vendor touch…
Read moreHow-to
How do I attach source documents to Rillet bills?
Rillet has a dedicated endpoint for attaching a file to an already-created bill — a separate call from creating the bill itself. A workflow uploads the file as multipart form data to the bill's own endpoint; a successful upload returns no content, and the attachment only exists once this second call actually happens.
Read more