Skip to content

Deposit Invoices

Invoice Management

Certain business use cases require merchants or suppliers to ask their customers for advance payments. To this end, JustOn allows for creating deposit invoices.

Businesses issue deposit invoices before any goods or services are supplied, usually with the intention to secure a sale. The deposit is a partial amount or a percentage of the total amount, which is to be paid up front. After the sale is completed, the deposit invoice is closed and the final invoice is issued.


JustOn supports deposit invoices when billing arbitrary objects and billing opportunities.

VAT on deposit invoices in Germany

In Germany, deposit invoices are subject to VAT, as regular invoices do. The tax due date, however, differs: For regular invoices, the tax immediately arises with the invoice issuance. With deposit invoices, the tax becomes chargeable only on receipt of the down payment (German VAT Act, Art. 13).

This may be favorable in certain business scenarios: You can issue a deposit invoice to secure your deal before delivering the goods or services, but you are not immediately liable to taxes.

Enabling Deposit Invoices

Basically, the creation of a deposit invoice is controlled using the ON field ON_Type on the source object. If this field is set to Deposit, JustOn generates a deposit invoice.

In order to request an advance payment with your deposit invoice, use the ON fields ON_DepositRate or ON_DepositAmount. Depending on your use case, you can then specify either a percentage value of the invoice total or a fixed amount as the deposit.

The deposit invoice is subject to the usual invoice proceedings and business processes finalization, payment registration and the corresponding balance generation. As deposit invoices do usually not constitute a legally binding payment request, they are, however, exempt from dunnings.

If required by your accounting, you can, optionally, enable the bookkeeping data generation for deposit invoices. To provide for clean bookkeeping data, JustOn also allows for canceling deposit invoices.

In case of errors, you may still need to void an issued deposit invoice. For details, see How to void a deposit invoice?.


When you use deposit invoicing, be aware that JustOn does not consider order discounts with the deposit invoices, but only when generating the final invoices.

Working With Deposit Invoices

The following sections describe how to work with deposit invoices, outlining their life cycle.

Deposit Invoice Creation

JustOn generates a deposit invoice if the field ON_Type on the source object is set to Deposit.


Once you have set the field ON_Type on the source object to Deposit to trigger the deposit invoice creation, do not modify this field subsequently to make sure that the deposit invoicing features operate correctly.

You can define a deposit rate or a deposit amount using the fields ON_DepositRate or ON_DepositAmount on the source object.


If both a deposit rate and a deposit amount is defined, the amount takes precedence.

Using a template detail named Deposit, you can provide appropriate texts for the invoice PDF, like the display type, deposit title or description (see PDF Contents).

After creating the deposit invoices, JustOn sets the custom field ON_ProformaInvoice on the source objects to the deposit invoices.

Creating a deposit invoice

Deposit Invoice Closure

Before you create the final invoice, you must close the deposit invoice. There are two ways to do so:

  • Using the Close button on an individual invoice
  • Using a custom process to be triggered from a source record
Close button or custom process?

The procedure to close the invoices depends on your business use cases and the corresponding data structure in your org.


If you create invoices from a parent record in a parent-child relation, you most likely use a custom process to be triggered from the relevant parent record. The process clears the custom fields ON_Invoice, ON_Type and ON_LastInvoiceRun on the parent source record, which allows for creating the final invoice from the same record.


If your invoice run involves multiple source records (for example, using multiple filters or via single source object configurations), the Close button on an individual invoice is the more appropriate approach. It clears the custom fields ON_Invoice, ON_Type and ON_LastInvoiceRun on all source records that are related to the current invoice to allow generating the final invoice. This saves the need for manually clearing these fields on the source records.

Using the Close button on an individual invoice clears the custom fields ON_Invoice and ON_LastInvoiceRun on all related source records to allow generating the final invoice.

If appropriate, you can use a custom process to be triggered from a source record. Applying the specific Apex class that JustOn provides for this purpose, your process

  • sets deposit invoices to the status Closed
  • clears the closed deposit invoices to 0
  • unregisters any assigned payment balances
  • sets the field RelatedInvoice of the now unregistered deposit payment balances to the corresponding deposit invoice
  • sets the custom field ON_Type to Final
  • clears the custom fields ON_Invoice and ON_LastInvoiceRun on the source record that triggers the process

Closing the deposit invoice via process


Usually, JustOn assigns unregistered deposit payment balances to the corresponding final invoices. Clearing the field RelatedInvoice of the unregistered deposit payment balance will allow to assign the balance to any matching invoice.

Final Invoice Creation

After you have closed the deposit invoice, you create the final invoice the same way and based on the same source records as the deposit invoice.

Doing so

  • registers the balances that were unregistered from the deposit invoice by the closing process to the final invoice
  • sets the field RelatedInvoice on the final invoice to the corresponding deposit invoice

Creating the final invoice, linked to the deposit invoice


Your business may require to set up installments for final invoices. If you do so, JustOn sets the invoice type Final with Installment. Removing an installment from a final invoice sets the invoice type Final.

JustOn registers a down payment as a payment balance record. As invoices by default show related balance records, the final invoice shows the down payment information. Your business may, however, require to hide this information. In this case, you need a separate invoice template or a specific template detail that is configured to prevent the balance table from being printed. For details, see Hiding Balance Table.

Deposit Invoice Structure

A deposit invoice consists of two parts:

  • The first part lists the invoice line items, which are represented as Information type invoice line items and therefore do not count for the grand total, followed by a subtotal section with tax breakdown.

    The display of the subtotal section is controlled using the checkbox Display Subtotal After on the last Information type invoice line item. Deselecting this checkbox removes the subtotal section from the invoice PDF.

  • The second part contains an invoice line item of the type Deposit, followed by the corresponding tax breakdown, grand total and payment amount.

The two parts are optional. Whether they are displayed or not depends on whether there are already actual invoice line items to show or, respectively, on whether there is an advance payment defined. At least one part must exist to print the invoice line item table.

Example invoice line item table of a deposit invoice:

Pos. Title Tax Rate Net Price
1 Some Goods 20% 1000
2 Some Service 20% 500
Subtotal Net 1500
Tax Amount 300
Deposit Gross 1800
3 Down payment (50%) 20% 750
Tax Amount 150
Grand Total 900
Payment Amount 900

Pos. 1 and 2 are Information invoice line items, which do not count for the grand total of the invoice. Pos. 3 is a Deposit invoice line item. The value depends on the deposit setting used: it is either calculated based on the net subtotal of all invoice line items and the defined deposit rate, or it can be included as an absolute net amount using the deposit value.

The final invoice includes additional sections that show the received deposit payment and the remaining final payment, as well as the corresponding tax breakdown.

The following example shows a final invoice with two payments, where each payment has a different tax rate. To make it easier to understand, 20% and 25% are used as tax rates.

Pos. Title Tax Rate Net Price
1 Some Goods 20% 1000
2 Some Service 20% 500
Subtotal Net 1500
Tax Amount 300
Grand Total 1800
Received Payments (net) -740
Tax on Received Payments -160
Tax on Received Payments (20 %) -100
Tax on Received Payments (25 %) -60
Received Payments (gross) -900
Remaining Final Payment (net) 760
Tax on Remaining Final Payment 140
Payment 06/10/2020 25 % -300
Payment 08/15/2020 20 % -600
Payment Amount 900

If there are multiple payments with different tax rates, the invoice includes a Received Payments Tax ([Tax Rate]) line for each applied tax rate.

Deposit Invoice PDF Output Options

The lines Tax on Received Payments ([Tax Rate]) and Received Payments (gross) are hidden by the default CSS. You can use custom CSS to hide or show specific lines.

Look at these examples:

Show the Tax on Received Payments ([Tax Rate]) lines
.invoice-table .received-payments-tax-by-taxrate {
    display: table-row;
Show the Received Payments (gross) line
.invoice-table .received-payments-gross {
    display: table-row;
Hide the Received Payments (net) line
.invoice-table .received-payments-net {
    display: none;

You can override the labels according to your business requirements. For details, see Configuring Final Invoice Display.

There are two template fields that control the display of the corresponding balance information:

Template Field Description
Balance Columns Defines the columns for the balance table. The definition must be a list of balance field API names separated by semicolons. If BalanceTitle is used, the column will display the text defined in the field Balance Types.
The default definition is BalanceTitle;Date__c;Amount__c
Balance Types Specifies a mapping (in JSON notation) of the values defined in the Type field of the Balance object to some display text (which can include placeholders).
Types that are not specified in the mapping are not displayed on the invoice.

JustOn applies this configuration also to print the received payments on the final invoice PDF. To set these fields, you can use the Final template detail.

For the Final template detail, the default definition for Balance Columns is


If required, you can also set the Balance Types to show only payments:

[ {
"type" : "Payment",
"title" : "Payment"
}, {
"type" : "Prepayment",
"title" : "Prepayment"
} ]


The template detail Final is available as of JustOn 2.68. If you upgrade from a previous version, it may not be available. If required, you must create the template detail Final. For details, see Configuring Template Details.


Because of the temporarily changed tax rules in Germany, there may be payments with different tax rates on one invoice. Due to the necessary adjustments during PDF generation, there may be deviations from PDF files produced with JustOn versions prior to 2.68. Please check the produced PDF files if you have already used final invoices earlier.