How to Record and Manage Expenses

How to record a bill, mark a vendor paid, attach receipts, keep loan and cash costs straight, and follow the lien-waiver next step.

What this page does

The Expenses page is your ledger: every bill and payment on the project, in one list, each one attached to a budget line. It answers three different questions that are easy to confuse:

  • What has this project cost so far? (**Amount**, and Actual Cost on the budget)
  • Have I actually paid the vendor? (**Status**)
  • Has this cost been sent to the bank in a draw? (**Status**, again — the middle stage)

Before you start

You need a budget with lines on it, because every expense must attach to one. Have the invoice or receipt to hand — a photo is fine. If you are borrowing, know whether this particular cost is part of your loan or something you are paying out of your own pocket.

Record a new expense

1. Select **Add Expense**.
2. **Date** — the date on the invoice or receipt.
3. **Vendor** — pick from your vendor list. Add the vendor on the **Vendors** page first if they are not there.
4. **Check #** — optional, for your own reference.
5. **Budget Item** — the budget line this cost belongs to. Search by cost code or description.
6. **Amount**.
7. **I have completed the QC checklist for this work** — you must tick this. It is your confirmation that the work was inspected before you record the cost.
8. **Description** — optional notes.
9. **Invoice / Receipt** — attach the file. It uploads immediately and can be opened again later.
10. **Funding Source** — **Loan** or **Cash**. On a self-funded project this defaults to Cash and says so.
11. Select **Add Expense**.

**What happens after saving:** the expense appears in the ledger as **Logged**, the linked budget line's **Actual Cost** goes up by that amount, and the dashboard's Cash Required figure picks it up until the cost is paid or moved into a draw. Nobody is paid and nothing is sent anywhere.

Recording a bill versus paying the vendor

Saving an expense records that you owe (or have spent) the money. Paying the vendor happens in your bank account, and you then tell OwnerDraw about it with **Mark Paid**. The app never moves money.

Two ways in — and how to avoid entering something twice

You can also log a cost straight from the budget: on the Budget page open a line's three-dot menu and choose **Log Expense**. That is the same record, created with the budget line already filled in — it is not a separate copy.

To check whether a cost is already recorded, open the Budget line's expenses (from the line's expense detail) or use the ledger filter: arriving from a budget line shows a **Filtered by line item ✕** badge listing only that line's expenses. Select the ✕ to see everything again. Before re-entering a cost, look for the same vendor, date and amount in the ledger.

Understand the expense list

At the top, **Total Expenses** is the sum of everything shown, and **Transactions** is how many records there are.

Each row shows: **Date**, **Vendor**, **Category** (the budget line's cost code), **Description**, **Amount**, **Source**, **Receipt**, **Waiver**, **Billed** and **Status**. On a phone the same information is stacked in cards. Selecting a row opens the expense for editing.

Source: Loan or Cash

This is not a label only — it decides where the expense goes:

  • **Loan** — the expense can be included in a draw request. When you create a draw, OwnerDraw offers loan-funded expenses.
  • **Cash** — you are paying it yourself. It stays out of draw requests entirely.

Funding source also feeds the lien-waiver requirement when your project's waiver setting is "loan-funded payments only" — but it is the project setting, not the Loan/Cash choice on its own, that decides whether a waiver is required.

Billed: who is being billed, not who is being paid

The **Billed** column is about billing **your client** — it only matters if you are invoicing someone else for this work (for example a builder using OwnerDraw for a client's home). It shows:

  • **Not billed** — the cost has not been put on a client invoice.
  • **Invoiced · <invoice>** — it is on a client invoice that has been issued.
  • **Paid · <invoice>** — your client has paid that invoice.

**Paid** here means your client paid you. It says nothing about whether you have paid the vendor — that is **Status**.

Track payment and draw status

**Status** distinguishes four stages, shown at the top of the ledger as *Logged → In Draw → Draw Funded — Vendor Unpaid → Vendor Paid*:

  • **Logged** — recorded, not in a draw, not marked paid.
  • **In Draw #n** — included in that draw request to your lender. The bank has not necessarily paid anything yet.
  • **Draw Funded — Vendor Unpaid** — the lender funded the linked draw, but you have not confirmed payment to the vendor.
  • **Vendor Paid ✓** — you have told OwnerDraw the vendor has been paid.

Three different things, in order:

1. **Included in a draw** — the cost is on a request you are sending the bank.
2. **The draw is funded** — the bank has released money to you. That is recorded on the **Draw Requests** page with **Mark as Funded**, which appears once the draw shows **Packet Prepared**. A draw moves to **Packet Prepared** by itself as soon as you create its G702/G703 packet — that is OwnerDraw's own status, not proof that your lender received or accepted anything. Sending the packet to your bank is still a step you do yourself. The **Date Funded** you pick is saved with the draw and shown afterwards.
3. **The vendor is paid** — you paid them. Only **Mark Paid** records that.

A funded draw does **not** mean your vendors have been paid. Money reaching your account and money reaching your subcontractor are separate events, and only you can confirm the second one.

Mark Paid and Undo

Select **Mark Paid** on the row once the vendor has actually been paid. The status becomes **Vendor Paid ✓**.

**Undo** reverses only that status change. If the linked draw is funded, the expense returns to **Draw Funded — Vendor Unpaid**. If the linked draw is not funded, it returns to **In Draw**. An expense without a draw returns to **Logged**. Undo does not touch the amount, receipt, budget, draw, or lien waiver.

You can mark a vendor paid at any point, including while the expense sits in a draw request. Adding an expense to a draw, marking that draw funded, removing the expense from a draft draw, or deleting a draft draw all leave **Vendor Paid ✓** in place. Only **Undo** clears it. When an unpaid expense leaves a draft draw, it returns to **Logged**.

Neither action moves money, and neither closes the budget line. Closing out a budget line is a separate decision on the Budget page.

Edit an expense or correct a mistake

Select the row to open the expense, change what you need, then select **Save Changes**. Changing the amount changes the linked budget line's Actual Cost accordingly. Changing the **Budget Item** moves the cost to the other line.

To remove an expense, open it and use the bin button, then confirm. Deleting cannot be undone.

Take care with an expense that is already in a draw request or on a client invoice: editing its amount or deleting it changes what your budget shows while the draw or invoice still refers to the original figure. If a cost has already gone to the bank, prefer recording the correction as a new expense and note it in the description, so your history matches what you submitted.

There is no reversal or credit-note feature. A refund or credit from a vendor has to be recorded in whichever way keeps your own records honest — flag it in the description so it is obvious later.

Manage receipts and supporting documents

Attach the invoice or receipt in the **Invoice / Receipt** field when you record the expense, or open the expense later and add it. Where a receipt exists, the ledger shows a **Receipt** / **View** button that opens the file in a new tab.

A receipt is proof of the cost. A signed lien waiver is a vendor's statement about their right to claim against your property. They are completely different documents, they are stored separately, and one never counts as the other. Lenders often ask for both.

Project-wide documents that are not tied to one expense belong on the **Files** page.

Follow the lien-waiver next step

The **Waiver** column shows where each payment stands. Select it to open the waiver panel, which is the same panel you see inside the expense form. It tells you four things: whether a waiver is required, which form applies, the current status, and the one action to take next — for example **Create & send**, **Review & send**, **Retry email**, **View request**, **Renew request**, **Review & link**, or **View documents**.

Follow the action shown in the panel; you do not need to work out the form type yourself. The panel asks two plain questions (has the vendor been paid, and is this a progress or final payment) and suggests the right form.

The project-wide **Waiver Documents & Requests** list shows **Document type** and **Document status** for each file or request. A document marked **Signed** does not by itself mean that expense's full waiver requirement is complete. Use **Check requirement** to open the expense waiver panel and follow its next step.

Two things to keep separate:

  • **Saving an expense** records a cost. **Sending a waiver** creates a document and, if you choose, emails it for signature. Saving never sends anything.
  • **Save & Continue to Waiver** on a new expense saves the expense first — vendor, budget line, amount, date, funding source, receipt and notes — so the waiver can be attached to a real record. If you then change your mind about the waiver, the expense still exists and is in your ledger; check it before entering the cost again.
  • If the answers call for **Conditional — final**, OwnerDraw will not generate or download a substitute form. Get the correct external form, have it signed, then use **Upload Signed Waiver**.

Whether a waiver is required at all comes from your project's own settings, not a universal rule. To review or change them, open the project selector at the top of the app, choose **Edit** for the project (also available from the **Projects** page and the dashboard), and scroll to **Lien Waiver Requirements**: whether waivers apply to loan-funded payments only, every payment or none; the dollar amount above which one is needed; and whether an unconditional waiver is also wanted once payment clears.

For the action to take at every status, form selection, sending, uploads, failures, reminders, renewals and previous requests, see [Lien Waivers in OwnerDraw: What to Send and When](/help/lien-waivers/lien-waivers-page-guide). While that guide remains in review, this link is available only to administrators.

Common questions

**Do I have to attach a receipt?** Not to save the expense, but your lender can ask for proof during a draw review, so attach it while you have it.

**Why can't I save?** Date, vendor, budget line and amount are required, and the QC checklist confirmation must be ticked.

**My expense is not offered when I create a draw.** Draw requests use loan-funded expenses. Check the **Source** column and edit the expense if it should be Loan.

**Can I split one invoice across two budget lines?** Not on one record. Enter it as two expenses with the split amounts and say so in the description.

**Does marking an expense paid close the budget line?** No. Use **Close Out Line Item** on the Budget page when everything on that line is settled.

**Is Actual Cost on the Budget page the same as money paid?** No. Actual Cost counts every recorded expense, paid or not. Payment status is only here.

What to do next

  • Build the request to your lender on **Draw Requests**, using your loan-funded expenses.
  • Watch the effect on each line on the **Budget** page.
  • Follow the action in the **Waiver** column for any payment that needs one.

The G702/G703 packet counts the draw you are packaging plus your earlier funded and submitted draws. Costs sitting on a draft draw, on a later draw, or on an expense with no draw attached are not billed to the bank yet. If anything about a packet needs a second look, OwnerDraw tells you when you create it instead of quietly producing a packet that looks right.

For professional builders

Expenses behave as cost-to-date entries rather than cash disbursements, so the ledger doubles as a job-cost report by cost code. Funding source is the loan/self-funded split that drives draw eligibility; the Billed column is client-side accounts receivable and is independent of vendor payable status. Retainage is recorded with the expense rather than by reducing a line's remaining commitment.