Translate / Change the 'Payment Terms Name' on invoices, etc.

Topic summary

A user wants to translate or customize the payment terms name (e.g., “Net 7”) that appears on invoices via the liquid variable {{ payment_terms.payment_terms_name }}. They’ve searched through general settings, theme settings (Dawn), language settings, and related JSON language files without finding a translation option.

Current Status:

  • Another user expressed interest in the same feature
  • A developer explained that payment_terms is a read-only object field (paymentTerms) found in the REST Admin API (legacy as of October 1st) and used in DraftOrder, Order, and PaymentSchedule objects

Proposed Solution:
The developer shared a custom workaround using conditional logic:

{% if payment_terms.name == 'Net 7' %}
<p> Binnen 7 dagen na factuurdatum </p>
{% endif %}

This approach checks the payment term value and displays a custom translated string accordingly. The discussion remains open for whether a built-in translation option exists.

Summarized with AI on November 4. AI used: claude-sonnet-4-5-20250929.

When looking at, for example, an invoice I notice the ‘payment_terms’ in the top right, but would like to be able to change these translations. At the moment it’s printed as ‘Net 7’, but I would like to translate this.

The liquid variable is

{{ payment_terms.payment_terms_name }}

Is there an option to do this? I can’t find it in the general settings, theme settings (Dawn), language settings or the language related json files.

As example the following screenshot;

Really looking for this as well

So, payment_terms is a read only object field called paymentTerms and is used in the DraftOrder, Order and PaymentSchedule objects and its found in the REST Admin API (legacy since October 1st).

What I did to get the correct string printed/translated:

{% if payment_terms.name == ’ Net 7’ %}

Binnen 7 dagen na factuurdatum.

{% endif %}

Hope this helps you figuring out your custom solution.

1 Like