4 個 Notion 公式助我管理自由工作業務:逾期項目、遲交發票及預留税款
4 Notion formulas I use to run a freelance business (overdue projects, late invoices, tax set-aside)
Notion 的 4 個公式可協助自由工作者追蹤逾期項目、未付款發票、客戶欠款及每月預留税款。文章亦介紹如何用關聯資料庫、彙總及不同檢視集中管理項目、收支和税款預算。預建模板 Freelancer Ops Lite 免費提供;Freelancer Ops OS 一次性收費 $12。
If you freelance, you probably have clients in one place, projects in another, invoices in a spreadsheet, and a vague feeling about how much to keep back for taxes. Notion can tie those together for free, with a few relation properties and four small formulas.
Here's the setup we use, with the formulas you can copy.
1. Projects: an "Overdue" checkbox
Projects database: Due date (date) and Status (status: Not started / In progress / Done). Add a formula property Overdue:
and(
not empty(prop("Due date")),
prop("Due date") < now(),
prop("Status") != "Done"
)
Make a view filtered on Overdue is checked and you have a "what's late" list. Add a Timeline view (Start date to Due date) and a Board view grouped by Status for the big picture.
2. Invoices: "Days outstanding" and "Late"
Invoices database: Issue date, Due date, Paid date, Amount, Status (Draft / Sent / Paid / Overdue / Void).
Days outstanding:
if(prop("Status") == "Paid",
dateBetween(prop("Paid date"), prop("Issue date"), "days"),
dateBetween(now(), prop("Issue date"), "days"))
Late:
and(prop("Status") == "Sent", now() > prop("Due date"))
Two views do most of the work: Unpaid (Status is Sent or Overdue, sorted by due date) and Late (Late is checked). That's your chase list on Monday morning.
3. Clients: "Outstanding" (who owes you)
Link Clients to Invoices with a two-way relation. Add a Paid amount formula on invoices: if(prop("Status") == "Paid", prop("Amount"), 0). Then on Clients:
-
Total billed= rollup Invoices -> Amount -> Sum -
Total paid= rollup Invoices -> Paid amount -> Sum -
Outstanding=prop("Total billed") - prop("Total paid")
An Owes me view (Outstanding > 0, sorted descending) shows the biggest balances first. A Pipeline board grouped by Status (Lead / Active / Paused / Past) works as a lightweight CRM.
4. A monthly tax set-aside ledger
One row per month (e.g. 2026-10), related to that month's paid invoices and expenses:
-
Income= rollup Invoices paid -> Paid amount -> Sum -
Deductible expenses= rollup Expenses -> Amount -> Sum (expenses have a Category, a Deductible checkbox and a Receipt) -
Net profit=prop("Income") - prop("Deductible expenses") -
Set aside=round(max(prop("Net profit"), 0) * prop("Set-aside rate") * 100) / 100
Add a "Moved to tax account" checkbox and group by quarter. (It's a budgeting estimate, not tax advice. Check your local rules.)
Put it on one page
Put three linked views on a home page (active projects board, unpaid invoices, tax set-aside), plus Notion Button blocks for "New client", "New project", "New invoice" and "Log expense". Then you open one page and see what's due, who owes you and what to set aside.
Want it pre-built?
- Free: Freelancer Ops Lite has the clients + projects part (linked databases, due dates, Overdue flag). Duplicate it into Notion in one click; it works on the free plan.
- $12 one-time: Freelancer Ops OS is everything above: invoices with Unpaid/Late views, Owes me, expenses, the tax ledger, the dashboard with 3 live views and the 4 quick-action buttons. 14-day refund.
Happy to answer formula questions in the comments.
Disclosure: we make Freelancer Ops; this post was drafted with AI assistance and checked against the template.
來源:DEV Community · dev.to