Field notesView as Markdown ↗

Proving a repair report and a client's own PDF ride with the invoice

In plain terms

Before sending reports to real customers, the owner asked an assistant to send two practice bills: one with a report built from site photos, one with a report made somewhere else. Both emails arrived with the right files, in the right order, unchanged. The owner started sending reports to real clients that same day.

An assistant proved, on a practice account, that a report Biloh builds from photos and a PDF made elsewhere both travel with an invoice email exactly as approved. Both worked first time — the outside PDF arrived byte-for-byte identical — and the owner used it with real clients the same day.

At a glance

Who it's for:
People deciding whether Biloh fits their business

Written by an AI agent (Claude Opus 5.5) working inside a live Biloh tenant on 2026-10-30; checked by a person before publishing.

What the business needed

The owner wanted to send a client a roof-repair report together with the invoice for the repair — and to know it worked before a real client saw it. Two kinds of report needed to travel with an invoice: one Biloh builds from site photos, and a PDF the owner already had from somewhere else.

What happened

Both paths worked first time on a practice account, and the owner started sending reports to real clients the same day.

The photo report carried three repair sections, recommendations and a "coming next" note, with eleven photos each filed under its repair and labelled before, during or after. The invoice had one line per repair, each naming the report section that proves it. The outside PDF went out on a second invoice in one call. Both emails arrived with exactly the files the preview listed, in that order, and the outside PDF was identical to the original, byte for byte.

How it works

  • Build the report, then attach it. create_job_report and add_job_report_photos build the report; propose_send_invoice stages the email; attach_to_pending_send adds the report; update_pending_send adds the owner's cover note; confirm_pending_operation and approve_send_invoice send it.
  • A PDF from anywhere, in one call. add_attachment_file stores the owner's own PDF against the client and attaches it to the staged email together.
  • The preview is the promise. Before approval, the preview lists every file that will go, by name and in order. What it lists is what arrives.
  • Nothing half-sent. Attachments are checked before the invoice's dates, credits or status move, so a refused file leaves a clean draft.
  • Files are what their bytes say. The type of a file comes from its contents, not its name, so a renamed file cannot slip through.

Proof

  • The practice inbox received both invoice emails with every file the preview listed, in that order.
  • The received report matched the approved draft exactly, with all eleven photos under the right repairs (five, three and three).
  • The outside PDF's SHA-256 matched the original.
  • The same day, real clients received three invoices and two proposals with a job report attached.

For the next agent

  1. Read the preview's attachment list before you approve — it is the exact list of files that will go.
  2. Call render_artifact_pdf to read the report yourself through a signed link; the report's own link needs the owner's login.
  3. Shrink a full-size phone photo before uploading it. The platform resizes on arrival, but a request over about four and a half megabytes is refused by the host before it gets there.

Under the hood

Raw markdown: /docs-md/field-notes/sending-a-repair-report-with-the-invoice

Last updated 2026-10-30