Skip to content
Leadtime
English
Esc
↑↓navigate↵open⌘Jpreview

Update invoice settings

Partially updates invoice-specific settings including language, reminder fees, interest rates, and custom text templates. Only provided fields are updated; omitted fields remain unchanged.

What can be updated:

  • Invoice language
  • Reminder fee settings (enable/disable, amount)
  • Interest settings (enable/disable, base rate, rate)
  • Custom text templates (accepts HTML or Markdown)

Settings behavior:

  • Setting a value to null will use the parent setting (organization or workspace default)
  • Custom texts can be provided as HTML or Markdown and will be converted to internal format
  • Empty custom texts are treated as null (uses defaults)

Custom text templates: All custom text fields support invoice variables (e.g., #invoiceNumber, #projectName, #clientCompanyName). See the invoice text variables documentation for a complete list of available variables.

What is returned: Updated invoice settings with custom texts returned as HTML.

PATCH/billing/invoices/{id}/settings
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:write
or
AuthorizationBearer token (JWT) · headerrequired
Path parameters
idstring<uuid>required

Invoice ID (UUID)

Query parameters
fieldsToReturnstring

Comma-separated list of top-level response fields to return. Overrides the endpoint compact default unless responseShape=full is used.

responseShapestring

Advanced override. Omit for the endpoint compact default. Use full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.

Allowed:compactfull
Header parameters
LT-Response-Shapestring

Advanced override. Set to full only when you need the complete endpoint response, including nested fields that are not selectable with fieldsToReturn.

Allowed:full
Request body
requiredapplication/json

Invoice settings to update (all fields optional)

baseInvoiceInterestobject | null

Base invoice interest rate percentage (0-1000)

customTextsobject

Custom invoice text templates. Content can be provided as HTML or Markdown and will be converted to internal format.

Show properties
cancelationBodyobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

firstReminderFooterobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

firstReminderGreetingobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

invoiceFooterobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

invoiceGreetingobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

invoiceReminderFeeWarningobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

secondReminderFooterobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

secondReminderGreetingobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

withBestRegardsobject | null

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

variable Type: inline Document/template variable token (span with data-type="variable" and data-id).

  • id: Variable key, often scoped (e.g. currentUser.firstName, project.name). Only use keys that exist for the document type you are in; product docs list the allowed variable ids. Do not invent new variable names in HTML for production templates. Atts:
  • id: null
<span data-type="variable" data-id="null/some-value" id="null/some-value"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>

Available Template Variables

You can use the following variables in your invoice text templates. Variables are represented as HTML spans:

invoiceNumber, projectName, projectShortName, clientCompanyName, contactPerson, invoiceNetto, invoiceTotal, fullTotal, accountNumber, dueDate, invoiceDate, reminderPenalty, interestPercent, senderNameAndPosition, senderName, senderPosition, overdueInterestPercent, overdueInterestDays, todayDate, dearCustomer, signature

Example HTML: <span data-type="variable" data-id="invoiceNumber">INV-2024-001</span>, <span data-type="variable" data-id="clientCompanyName">ACME Corp</span>

enableInvoiceInterestobject | null

Enable invoice interest (null = use default)

enableInvoiceReminderFeeobject | null

Enable invoice reminder fee (null = use default)

invoiceDueDaysobject | null

Number of days until invoice is due (1-120)

invoiceInterestobject | null

Invoice interest rate percentage (0-1000)

invoiceLanguageobject | null

Invoice language code

invoiceReminderFeeobject | null

Invoice reminder fee amount (0-1000)

Responses
200

Invoice settings updated successfully

baseInvoiceInterestobject | nullrequired

Base invoice interest

customTextsobjectrequired

Custom invoice text templates (returned as HTML)

Show properties
cancelationBodystring | null
firstReminderFooterstring | null
firstReminderGreetingstring | null
invoiceFooterstring | null
invoiceGreetingstring | null
invoiceReminderFeeWarningstring | null
secondReminderFooterstring | null
secondReminderGreetingstring | null
withBestRegardsstring | null
enableInvoiceInterestobject | nullrequired

Enable invoice interest

enableInvoiceReminderFeeobject | nullrequired

Enable invoice reminder fee

idstringrequired

Invoice ID

invoiceInterestobject | nullrequired

Invoice interest

invoiceLanguageobject | nullrequired

Invoice language

invoiceReminderFeeobject | nullrequired

Invoice reminder fee

parentSettingsobjectrequired

Parent settings (from organization or workspace)

400

Invalid request data or validation errors

401

Unauthorized - Invalid or missing authentication token

403

Forbidden - Insufficient API scopes or permissions

404

Invoice not found

Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X PATCH "https://leadtime.app/api/public/billing/invoices/497f6eca-6276-4993-bfeb-53cbbbba6f08/settings" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "baseInvoiceInterest": 2.5,
  "customTexts": {
    "cancelationBody": "<p>This invoice has been cancelled</p>",
    "firstReminderFooter": "<p>Please pay within 14 days</p>",
    "firstReminderGreeting": "<p>First reminder for invoice payment</p>",
    "invoiceFooter": "<p>Thank you for your business</p>",
    "invoiceGreeting": "<p>Dear Customer</p>",
    "invoiceReminderFeeWarning": "<p>A reminder fee will be applied if payment is not received</p>",
    "secondReminderFooter": "<p>Final notice before legal action</p>",
    "secondReminderGreeting": "<p>Second reminder for invoice payment</p>",
    "withBestRegards": "<p>Best regards,<br>Your Team</p>"
  },
  "enableInvoiceInterest": true,
  "enableInvoiceReminderFee": true,
  "invoiceDueDays": 30,
  "invoiceInterest": 8,
  "invoiceLanguage": "en",
  "invoiceReminderFee": 5.5
}'
Response
{
  "baseInvoiceInterest": 2.5,
  "customTexts": {
    "cancelationBody": "string",
    "firstReminderFooter": "string",
    "firstReminderGreeting": "string",
    "invoiceFooter": "string",
    "invoiceGreeting": "string",
    "invoiceReminderFeeWarning": "string",
    "secondReminderFooter": "string",
    "secondReminderGreeting": "string",
    "withBestRegards": "string"
  },
  "enableInvoiceInterest": true,
  "enableInvoiceReminderFee": true,
  "id": "uuid-123",
  "invoiceInterest": 8,
  "invoiceLanguage": "en",
  "invoiceReminderFee": 5.5,
  "parentSettings": {
    "baseInvoiceInterest": 2.5,
    "enableInvoiceInterest": true,
    "enableInvoiceReminderFee": true,
    "invoiceInterest": 8,
    "invoiceLanguage": "en",
    "invoiceReminderFee": 5.5
  }
}