Guides

Notion Formulas for Documents: Totals, Taxes, and Dates

Notion formulas for invoices, quotes, and reports: calculate totals, taxes, and discounts, handle due dates and overdue status, and send clean values to a PDF with PDFOutput.

By Sanat Biswal · 2026-11-14 · 5 min read

Notion Formulas for Documents: Totals, Taxes, and Dates

{/ synced-from-notion — do not edit manually /}

You build an invoice in Notion, and the numbers look right until they don’t. A total is off by a few paise, a due date is wrong because someone miscounted the days, and the status still says “Sent” three weeks after the payment was due. When that page becomes a PDF, every one of those mistakes goes to your client.

The fix is to stop typing values that can be calculated. Notion formulas can work out totals, taxes, discounts, due dates, and overdue status from the data you already have, and they update by themselves when something changes.

In this guide, we will go through the formulas that matter most for documents such as invoices, quotes, and client reports, explain the mistakes that cause wrong numbers, and show how those values flow into a finished PDF with PDFOutput.

The short version: use formulas for the maths, dates, and status, format the results clearly, and use a template tool such as PDFOutput to place those values into a Google Docs or Word layout. Keep the calculation in Notion and the design in the template.

Table of Contents

  • Why Formulas Matter for Documents
  • Before You Start: Property Types
  • Totals: Quantity Times Price
  • Rounding Money Properly
  • Taxes: Percent Properties and Tax Amounts
  • Discounts: Percent and Fixed
  • Dates: Due Dates and Date Formatting
  • Status: Open, Due Soon, Overdue
  • Text Formulas for Document Fields
  • How These Values Reach a PDF With PDFOutput
  • Formula Mistakes That Break Documents
  • A Quick Checklist
  • Troubleshooting Table
  • Frequently Asked Questions
  • Related Reading
  • Conclusion
  • Why Formulas Matter for Documents

    A document is only as trustworthy as its numbers. Three things make formulas better than typing values by hand:

  • They update by themselves. Change a quantity or a rate and every dependent value follows.
  • They are consistent. The same calculation runs on every record, so two invoices never use two different methods.
  • They can be read by tools. A formula result is a normal database property, so an automation can use it like any other value.
  • That last point matters when you generate documents. A tool that fills a template from your database can only be as accurate as the properties you give it.

    Formula syntax and menu names change as Notion updates, so test each formula on a sample record before you rely on it.

    Before You Start: Property Types

    Most formula problems come from property types, not from the formula itself. Set these up first.

    PropertyTypeNotes
    QuantityNumberWhole or decimal
    Unit PriceNumberUse the currency number format
    Tax RateNumberUse the percent format, so 18% is stored as 0.18
    DiscountNumberPercent format for a percentage discount
    Issue DateDateA real date, not text
    Due DateDate or formulaA real date, not text
    StatusSelectDraft, Sent, Paid
    If a value is stored as text, a formula can’t do maths with it. If a percent is typed as 18 instead of 18%, your tax will be a hundred times too large.

    Totals: Quantity Times Price

    The basic line total multiplies two number properties:

    prop("Quantity") * prop("Unit Price")

    If your invoice has several lines, keep each line in its own database record and add them up with a rollup on the invoice. The relations and rollups approach is covered in our guide on building invoice line items in Notion. The formulas in this article work both on a single record and on rollup values.

    A grand total is then a formula that adds the parts:

    prop("Subtotal") + prop("Tax") - prop("Discount Amount")

    Rounding Money Properly

    Notion’s round() function rounds to a whole number. To round to two decimal places, multiply by 100, round, and divide by 100:

    round(prop("Quantity") prop("Unit Price") 100) / 100

    This avoids results such as 99.99999 or 33.333333 appearing in a document. Apply rounding at the point where money is created, usually the line total and the tax amount, so the numbers on the page add up when your client checks them with a calculator.

    Use ceil() or floor() only if you have a specific reason, such as always rounding up billable hours.

    Taxes: Percent Properties and Tax Amounts

    With the tax rate stored as a percent, the tax amount is a simple multiplication:

    round(prop("Subtotal") prop("Tax Rate") 100) / 100

    A few practical points:

    • One rate for the whole invoice. Put a Tax Rate property on the invoice and multiply it by the subtotal.
    • Different rates by line. Put a Tax Rate on each line item, calculate a tax amount per line, and roll up the sum.
    • Prices that already include tax. Work backwards: prop("Gross") / (1 + prop("Tax Rate")) gives the net amount.
    • Tax rules differ by country and by type of sale. Confirm the correct treatment with an accountant before you send documents to clients.

      Discounts: Percent and Fixed

      Two common discount types, each with its own formula.

      A percentage discount:

      round(prop("Subtotal") prop("Discount") 100) / 100

      A fixed amount discount is just a number property, such as “Discount Amount”, which you subtract in the total.

      If you offer both, decide which is applied first and stick to it. Applying a percentage before a fixed amount gives a different result from the reverse, and your document should show the same order your formula uses.

      Dates: Due Dates and Date Formatting

      Dates are where hand-typing hurts most. A due date can be calculated from the issue date:

      dateAdd(prop("Issue Date"), 30, "days")

      To make the term flexible, add a number property called “Payment Terms (days)” and use it:

      dateAdd(prop("Issue Date"), prop("Payment Terms (days)"), "days")

      For the document itself, you often want a date as readable text. formatDate() turns a date into a string:

      formatDate(prop("Due Date"), "MMMM D, YYYY")

      That gives a result such as “May 12, 2026”. Change the format string to suit your region, for example “D MMMM YYYY” for “12 May 2026”. Check the format options in your version of Notion, and test with dates that have one-digit days and months.

      Time zones can shift a date by a day when times are involved. If you only need dates, keep the property as a date without a time.

      Status: Open, Due Soon, Overdue

      A status formula can look at the payment status and the due date together:

      ifs(prop("Status") == "Paid", "Paid", empty(prop("Due Date")), "No due date", dateBetween(now(), prop("Due Date"), "days") > 0, "Overdue", dateBetween(prop("Due Date"), now(), "days") <= 7, "Due soon", "Open")

      To show how late an invoice is:

      max(0, dateBetween(now(), prop("Due Date"), "days"))

      Remember that now() changes every time Notion recalculates. That is useful on a dashboard, but a PDF generated on a given day will show the status for that day only. Generate the document again if the status matters to the reader.

      Text Formulas for Document Fields

      Sometimes a document needs a ready-made line of text rather than a raw number. A text formula can combine several properties:

      "Invoice " + prop("Invoice Number") + " for " + prop("Client Name")

      A payment note that includes the due date:

      "Please pay by " + formatDate(prop("Due Date"), "MMMM D, YYYY") + "."

      These make good template fields, because the wording is controlled in one place and every document follows it. For currency, a number property with a currency format is usually safer than building the symbol into text, because it keeps the value usable for calculations.

      How These Values Reach a PDF With PDFOutput

      Once your formulas give you reliable totals, taxes, and dates, the next step is the document. Notion’s own PDF export follows the page layout and has no repeating headers or footers, so it isn’t ideal for finished invoices or proposals.

      PDFOutput creates documents from your Notion data using a template. The template can be a Google document, a Word file, a PDF file, or a Notion page. You add placeholders in double curly braces, such as {{Client_Name}}, and each placeholder must match the related Notion property name.

      This is why formula properties are so useful. A formula result is a property like any other, so it can feed a placeholder:

      PlaceholderNotion propertyType
      {{Invoice_Number}}Invoice NumberTitle
      {{Issue_Date_Text}}Issue Date TextFormula (text)
      {{Due_Date_Text}}Due Date TextFormula (text)
      {{Subtotal}}SubtotalNumber or rollup
      {{Tax}}TaxFormula
      {{Total}}TotalFormula
      {{Payment_Note}}Payment NoteFormula (text)
      Creating text versions of dates, such as “Issue Date Text”, gives you control over how a date prints in the document, instead of relying on a default format. Test how each type of value appears in the final PDF with a sample record.

      You can start generation from a Notion database button or a status property. These are some of the status options:

    • Ready to Generate creates a PDF from the database record.
    • Generate Page converts the Notion page into a PDF.
    • Generate PDF and Doc creates a PDF and a Google document.
    • Preview creates a Google document so you can check it before making the final PDF.
    • Generate E-Signed Doc creates an e-signed PDF in the database workflow.
    • Use Preview to check totals, tax, and date formats before you create the final PDF. Because the layout lives in a Google Docs or Word template, you also get headers, footers, and page numbers as normal features.

      Formula Mistakes That Break Documents

      These are the problems that most often reach a client.

    • Percent typed as a plain number. A tax rate stored as 18 instead of 18% multiplies the tax by a hundred.
    • No rounding. The document shows 99.99999, or line amounts that don’t add up to the total.
    • Dates stored as text. A formula can’t add days to “12 May” typed into a text property.
    • A status formula that uses now() on a saved document. The PDF shows the status on the day it was generated, which may not be what the reader sees later.
    • Mixed currencies. Adding rupees and dollars in the same rollup gives a meaningless number. Keep one currency per invoice.
    • Formulas that refer to renamed properties. Renaming a property can break formulas and template placeholders that depend on the old name, so recheck both after a rename.
    • A Quick Checklist

      Before you send a document built from formulas, run through this list.

    • Quantity, price, and rate properties are numbers, and the tax rate uses the percent format.
    • Dates are real date properties, not text.
    • Money is rounded to two decimals where it is created.
    • Totals add up correctly when I check them with a calculator.
    • The due date is calculated, and I’ve checked it against a real calendar.
    • The status formula gives the right answer for paid, open, and overdue records.
    • My template placeholders match the Notion property names exactly.
    • I’ve used Preview to check a sample document before generating the final PDF.
    • I’ve confirmed the tax treatment with an accountant.
    • Troubleshooting Table

      What you seeLikely causeWhat to try
      Tax is a hundred times too bigThe rate is stored as 18, not 18%Change the property to the percent format and re-enter the rate
      Totals show long decimalsNo rounding in the formulaUse round(value * 100) / 100
      Formula returns an errorA text property is used in mathsConvert it to a number property
      Due date is wrong by a dayA time or time zone is stored with the dateUse a date without a time
      Status never changes to OverdueThe due date is empty or stored as textCheck the property type and fill the date
      Date prints in the wrong style in the PDFThe default date format is usedUse a text formula with formatDate() and a placeholder for it
      Placeholder is empty in the PDFName mismatch, or the property has no valueMatch the property name exactly and check the record

      Frequently Asked Questions

      How do I calculate tax in a Notion formula?

      Store the tax rate as a percent number, then multiply it by the subtotal and round to two decimals, for example round(prop("Subtotal") prop("Tax Rate") 100) / 100. Confirm the right method for your country with an accountant.

      How do I round to two decimal places in Notion?

      Multiply by 100, round, and divide by 100. The round() function on its own rounds to a whole number.

      How do I set a due date 30 days after an invoice date?

      Use dateAdd(prop("Issue Date"), 30, "days"). To make the term flexible, use a number property for the number of days instead of typing 30.

      Why does my Notion formula show an error?

      The most common causes are a property with the wrong type, a renamed property that the formula still refers to, or a missing value in a field the formula needs. Check each property used in the formula.

      Can I use Notion formula results in a PDF?

      Yes. A formula result is a normal property, so a tool such as PDFOutput can use it in a placeholder when it fills a Google Docs or Word template with your Notion data.

      Will the PDF change when a formula result changes?

      No. A PDF that was already generated is a snapshot. Generate it again after the data changes, and use Preview to check it first.

      Related Reading

    • How to Build Invoice Line Items with Relations and Rollups in Notion
    • How to Export Notion to PDF
    • How to Add Page Numbers, Headers, and Footers to Notion PDFs

    Conclusion

    A document is only as reliable as its numbers. Formulas let Notion work out totals, taxes, discounts, due dates, and status from your data, so you aren’t retyping values and hoping they’re right. Set the property types carefully, round money where it is created, and keep dates as real dates.

    Then let the template handle the design. PDFOutput can fill your Google Docs or Word template from each Notion record, so the finished PDF carries your branding, your headers and footers, and numbers that match Notion.

    Want documents that calculate themselves and arrive as clean PDFs? Try PDFOutput.