Skip to main content

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.

Zuny FesterBy Zuny Fester, Head of Operations and Marketing
Reviewed by Zuny Fester
Published Last reviewed Editorial policy

Part of the finance integrations guide.

SymptomA bill is approved and paid normally, but has no source document attached in Rillet
Root causeBill 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 surfacesAudit or period-close review, not day-to-day AP processing
Who owns preventing itThe 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.

Book a workflow review

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

Not based on the documented API — bill creation, approval, and payment are governed by the bill record itself, and nothing in the endpoint specification ties payment eligibility to whether a document was uploaded.

This would require checking each bill's attachments individually or through a reporting view in Rillet, since there's no documented bulk 'bills without attachments' filter in the endpoints referenced here — confirm current reporting capabilities directly with Rillet.

Related but distinct — a three-way match failure is about a PO, receipt, and invoice disagreeing with each other. This is about the invoice/receipt never being attached to the bill record at all, so there's nothing to match against in the first place.

Sources

Related