Bookkeeping Data for Invoices
JustOn Billing & Invoice Management allows for writing bookkeeping data for revenues and taxes from finalized invoices. These records can then be transferred to accounting systems like DATEV, SAP or Microsoft Dynamics via CSV export or, for DATEV, direct transfer.
Once created, the booking details can no longer be modified or deleted.
Enabling Bookkeeping Data for Finalized Invoices
Best Practice: Generating Bookkeeping Data
Invoice Bookkeeping Data Structure
Bookkeeping data is structured in booking periods and booking details, where booking periods represent bookkeeping months, and booking details represent the records in an accounting ledger.
Technically, booking periods and booking details are in a master-detail relationship.
Booking Period
A booking period represents one month in bookkeeping. Hence, it aggregates the booking details produced for this month. Booking periods are grouped by business entities.
Be aware that the booking period status finally decides the booking detail allocation:
- Open: A booking period with the status
Open
aggregates the booking details produced for this month. -
Closed: A booking period with the status
Closed
is ignored. Any booking details produced for this period are moved to the next open booking period.
Booking detail allocation with closed booking periods
Note
Make sure to establish business processes to close booking periods according to your requirements.
The following fields are available:
Field | Data Type | Possible Values | Required | Description |
---|---|---|---|---|
Name | Text | The booking period name, is set automatically using this pattern:BUSINESS-ENTITY-YEAR-MONTH (w/ business entity)YEAR-MONTH (w/o business entity) |
||
Month | Picklist | 01 , 02 ... 12 |
The month for the booking period. | |
Year | Text (4) | 2017 |
The year for the booking period. | |
Business Entity | Text (255) | The business entity for the booking period. | ||
Status | Picklist | Open Closed |
The booking period status: A closed booking period is ignored when finalizing the invoice, any matching details for this period are moved to the next open period. |
Booking Details
A booking detail represents a record in an accounting ledger. It does, however, not necessarily refer to an individual invoice line item: usually, multiple invoice line items are combined if certain conditions match (see Combining Booking Details), or a single invoice line item may produce multiple booking details when applying revenue recognition rules.
Booking details cannot be modified once they have been created.
Booking Detail Standard Information
The following listing shows the fields that are available by default on booking details, as well as their corresponding source fields, if applicable.
Booking detail fields
Field | Required | Source Fields | Description |
---|---|---|---|
Name | The booking detail name, is set automatically based on the type using these patterns: Revenue: ACCOUNTNUMBER-INVOICENUMBER Tax: TAXRATE-INVOICENUMBER |
||
Absolute Amount | Amount | The absolute amount of the booking detail, to be used together with the debit/credit flag. | |
Account | Invoice.Account | The account for the booking detail. | |
Account Name | Invoice.AccountName | The account name as taken from the invoice. | |
Amount | InvoiceLineItem.PosTotalNet InvoiceLineItem.PosTotalTax |
The amount of the booking detail; Revenue is taken from PosTotalNet and Tax is taken from PosTotalTax of the invoice line item. |
|
Balance | The source balance for booking details of the type Payment . |
||
Bank Account ID | The internal bank account ID of the payment provider for booking details of the type Payment . |
||
Bank Account Owner | Invoice.BankAccountOwner | The bank account owner as part of the banking data. | |
BIC | Invoice.BankCode | The bank code/BIC as part of the banking data. | |
Billing City | Invoice.BillingCity | The billing city as taken from the invoice. | |
Billing Practice | The billing practice of recurring items for booking details of the type Unbilled Revenue . |
||
Booking Date | Invoice.ON_BookingDate Invoice.Date |
The booking date is derived from the invoice Date field or, if configured, from ON_BookingDate .For non-tax details, the booking date is further adjusted to the first day of the month. Optionally, it can be set to the last day of the month. To this end, you activate the global setting Use End of Month as Booking Date .If the booking detail is to be moved to the next open booking period, JustOn applies the date of the target booking period to the booking detail. |
|
Booking Period | The booking period as determined by the booking date. | ||
Booking Periods | A comma-separated list of original booking periods, set if booking details have been moved to other booking periods – for example, when canceling invoices, finalizing an invoice with unbilled revenue or updating unbilled revenue. | ||
Booking Text | The booking reference text as defined by a corresponding Booking Text custom setting. | ||
Business Entity | BookingPeriod.Tenant | The business entity of the related booking period. | |
Center | InvoiceLineItem.Center | The cost center or profit center for this booking detail. | |
Center Split Percentage | The percentage of this booking detail with regard to the center split. | ||
Contra Account Number | Invoice.DebtorNo Account.ON_DebtorNo CollectiveAccount.Account2 CollectiveAccount.BpAccount |
The (contra account) number. May be the debtor/creditor number if either the field DebtorNo on the invoice or ON_DebtorNo on the account is available, otherwise, the Contra Booking Account (Account2 ) or Business Partner Account (BpAccount ) as taken from the Collective Accounts custom setting. |
|
Credit | Amount AbsoluteAmount |
Is set for booking details that represent credits (positive values). | |
Currency | The currency for the booking detail. | ||
Debit | Amount AbsoluteAmount |
Is set for booking details that represent debits (negative values). | |
Debit/Credit Flag | Amount | Flags the absolute amount either as debit (S ) or credit (H ). |
|
Export Destination | The export target, is set automatically upon export. | ||
Exported | Selected automatically upon export completion. | ||
G/L Account Number | InvoiceLineItem.GLAccount | The general ledger account as taken from the invoice line item. | |
IBAN | Invoice.BankAccount | The bank account/IBAN as part of the banking data. | |
Invoice | Invoice.Id | The source invoice for booking details of the types Revenue and Tax . |
|
Invoice Line Items | InvoiceLineItem.Name | A comma-separated list of invoice line item names, set if the booking detail has been created from an invoice. | |
Invoice No | The invoice number as taken from the invoice via a formula. | ||
Is Gross | Is set to true for booking details of the type Revenue if Enable Accounting in Gross Values is enabled (see Enabling Bookkeeping Data Generation) and the amount is inclusive of taxes. |
||
Is Preliminary | Is set to true for booking details of the type Unbilled Revenue . |
||
Last Error | Shows export errors, is set automatically upon export. | ||
Original Booking Date | Invoice.ON_BookingDate Invoice.Date |
The original booking date is derived from the invoice Date field or, if configured, from ON_BookingDate . The value is kept separately and, as opposed to the Booking Date field, remains unchanged (irrespective of booking period shifts or other modifications) to serve as input for certain booking approaches.For unbilled revenue, the original booking date is the last day of the month for which the unbilled booking data has been built, or, if the related item or subscription ends before this date, the corresponding end date. |
|
Payment Date | The date of the original payment balance for booking details of the type Payment . |
||
Payment Provider | The payment provider for booking details of the type Payment . |
||
Region | The economic region, like EU, EMEA. | ||
Split Origin Booking Detail | The ID of the original booking detail of a center split. | ||
Subscription | The related subscription for booking details created for unbilled revenue from a subscription. | ||
Subscription Items | Item.Name | A comma-separated list of subscription item IDs, set if the booing detail has been created for unbilled revenue from a subscription. | |
Tax Base Amount | InvoiceLineItem.PosTotalNet | The amount based on which the amount of a tax booking detail is calculated. | |
Tax Code | InvoiceLineItem.TaxCode | The tax code of the applied tax rule. | |
Tax Rate | InvoiceLineItem.TaxRate | The tax rate of the invoice line item. | |
Tax Rule | InvoiceLineItem.AppliedTaxRule | The applied tax rule of the invoice line item. | |
Type | The booking detail type; possible values include Revenue , Tax (set based on invoices) and Deferred . |
||
VAT ID | Account.ON_VATNumber Account.TaxNumber |
The VAT identifier of the related account. The value is taken from the TaxNumber field of the account, or, if configured, from ON_VATNumber . |
For additional technical information about the booking detail fields (API names, data types, etc.), see the Booking Detail object reference.
Booking Detail Custom Fields
JustOn Billing & Invoice Management can copy additional fields from the invoice or an invoice line item to the booking details. All additional custom fields on the booking detail – with the same API name and data type as the source fields on the invoice or the invoice line item – invoke a copy operation on booking detail creation. Specific field prefixes (like for the ON field mechanism) are not required. JustOn first tries to copy data from the invoice, then from the invoice line item.
Booking Detail Field | Invoice Field | Invoice Line Item Field | Result |
---|---|---|---|
Billing Country | Billing Country | n/a | copy from invoice to booking detail |
Discount | n/a | Discount | copy from invoice line item to booking detail |
Duplicate | Duplicate | Duplicate | copy from invoice line item to booking detail |
Explicitly set booking detail fields → excluded from copy operation
JustOn Billing & Invoice Management sets the following fields explicitly when creating booking details according to the applied business logic. This is why they will not be copied as additional custom fields:
Booking Detail Target Field | Source Object and Field |
---|---|
Account | Invoice.Account |
AccountName | Invoice.AccountName |
AccountNo | InvoiceLineItem.GLAccount CollectiveAccount.Account |
AccountRule | AssignmentRulesGLAccount.Name CollectiveAccount.Name |
Amount | InvoiceLineItem.PosTotalNet InvoiceLineItem.PosTotalTax |
BIC | Invoice.BankCode |
Balance | Balance.Name |
BankAccountOwner | Invoice.BankAccountOwner |
BillingCity | Invoice.BillingCity |
BillingPractice | Item.BillingPractice |
BookingDate | Invoice.Date Invoice.ON_BookingDate |
BookingPeriod | dynamically set on creation |
BpAccountNo | Invoice.DebtorNo Account.ON_DebtorNo CollectiveAccount.Account2 CollectiveAccount.BpAccount |
Center | InvoiceLineItem.Center |
CostObject | InvoiceLineItem.CostObject |
CurrencyIsoCode | Invoice.CurrencyIsoCode |
CustomerCity | |
CustomerName | |
Exported | dynamically set on creation |
IBAN | Invoice.BankAccount |
InvoiceNo | Invoice.Name |
Invoice | Invoice.Id |
Name | dynamically set on creation |
PaymentDate | Balance.Date |
Region | Invoice.Region |
Subscription | Subscription.Name |
TaxCode | InvoiceLineItem.TaxCode |
TaxRate | InvoiceLineItem.TaxRate |
Type | dynamically set on creation |
VATId | Account.ON_VATNumber Account.TaxNumber |
For details, see Enabling Additional Information on Booking Details.
Specific Booking Detail Use Cases
Bookkeeping data for cancellation invoices
If the bookkeeping data generation is enabled, JustOn creates booking details as follows when finalizing a cancellation invoice:
-
For each existing booking detail of the canceled invoice, JustOn creates a new, "opposite" booking detail – based on the original booking details and not on the produced cancellation invoice –, producing reverse and reversed booking details marked as
Reversal
(see Bookkeeping Data Reversal). This also applies to split booking details as a result from revenue recognition – for example, 12 booking details created for deferred revenue will produce 12 "opposite" booking details on cancellation.Combination rules, however, apply.
Booking deferred revenue and a corresponding cancellationBe aware that by default, the new opposite booking detail includes only the original JustOn fields. If you need additional project-specific fields to be copied, you must use the custom setting Copy Additional Fields.
-
For each existing booking detail of the canceled invoice, JustOn sets the booking date to the date of the cancellation invoice if
- the booking period is
Open
, - the booking detail is not exported,
- the booking date is after the date of the cancellation invoice.
If the booking period for the date of the cancellation invoice (or a later booking period) is
Closed
, JustOn moves the affected booking details to the first day of the next open booking period.Booking details that already have been exported or transferred to DATEV remain unaltered.
- the booking period is
-
For the new, "opposite" booking details of the cancellation invoice, JustOn copies the adjusted booking dates of the booking details of the canceled invoice. That is:
- It usually sets the booking date to the date of the cancellation invoice, too.
- In case a booking period is
Closed
, JustOn also moves the affected "opposite" booking details to the first day of the next open booking period. - For the "opposite" booking detail of an exported booking detail, JustOn sets the date of the original booking detail (which remains unaltered).
-
For booking details of the type
Revenue
, JustOn appends the related account number to the name of the new booking detail. - For the amount of the new booking detail, JustOn sets the inverted amount of the existing booking detail.
-
For the booking text of the new booking detail, JustOn prepends
Cancellation:
to the original booking text.This text is a custom label. If you need a locale-specific variant, provide a corresponding translation as described in Managing Custom Labels.
Bookkeeping data for deposit invoices
As deposit invoices do usually not constitute a legally binding payment request, they are usually exempt from bookkeeping data generation. If your accounting processes, however, require to book deposit invoices as soon as they are created, you can explicitly enable the bookkeeping data generation for deposit invoices using the global setting Create Bookkeeping Data for Deposit
.
Finalizing the final invoice produces a reverse booking detail for originally booked deposit amount.
Bookkeeping data for dunning reminders
When finalizing a dunning, JustOn usually creates balances of the type Dunning Fee
for any involved flat dunning fee or percentage late fee and adds them to the account balance of the relevant account. Dunning fee balances, however, will show up as outstanding receivables. Therefore, your business may require to not immediately create dunning fee balances. In this case, you can disable the creation of dunning fee balances on dunning finalization.
Doing so, JustOn will still track dunning fees. If a dunning level defines a dunning fee or a late fee rate, it is saved in the invoice fields Expected Dunning Fee
or Expected Dunning Late Fee
. Now if a registered payment includes an additional amount to cover dunning fees, it is split into a Payment
balance that covers the original open invoice amount, and an additional Dunning Income
balance for the dunning fee amount. The two balances are assigned to the original invoice. Using this approach, a dunning fee produces a booking-relevant record only if and when it is actually paid. With a payment that covers the open invoice amount only, an invoice will still become Paid
.
Dunning income balance example
Assume this dunning statement:
Detail | Amount |
---|---|
Invoice | 100 |
Dunning fee | 10 |
With dunning fee balances disabled, JustOn creates these balance records when registering a payment of 110:
# | Type | Amount |
---|---|---|
1 | Payment | 100 |
2 | Dunning Income | 10 |
Either way, you must, consequently, generate bookkeeping data from balances to produce dedicated dunning fee bookings. To set the intended account number, you need a collective account setting where Account
specifies the required G/L account and Type
is set to Dunning Fee
or Dunning Income
, respectively. For correctly booking dunning income balances, you need, in addition, a collective account setting for payments, where Account
specifies the relevant G/L account and Type
is set to Payment
.
Info
JustOn will not create new booking details for the invoices that are subject to dunning processes. Bookkeeping data for invoices is produced on invoice finalization only.
Dunning-relevant booking details
Operation | Dunning Records | Relevant Step | Accounting Records |
---|---|---|---|
Generating draft invoice | Invoice Invoice line items |
||
Finalizing invoice | ↳ | (1) | Invoice booking details |
Generating draft dunning | Statement Statement details |
||
Finalizing dunning or Registering payment |
Dunning fee balances or Dunning income balances |
(2) | |
Creating balance booking details | ↳ | (3) | Balance booking details |
Net Bookings and Gross Bookings
The common method to handle revenues is to split the net amount from the taxes and to book them to separate accounts. Consequently, JustOn Billing & Invoice Management creates two booking details from invoice line items by default: one for the net revenue, and one for the taxes.
With respect to the account allocation, be aware that the revenue booking details are assigned their G/L account number using G/L account assignment rules, whereas the tax booking details get their booking account number via collective account settings.
Depending on the requirements of your accounting system, you can configure JustOn Billing & Invoice Management to use gross values when creating bookkeeping data. This may be necessary, for example, when using automatic accounts (Automatikkonten) in DATEV (see Automatic Accounts Support). To this end, you activate the corresponding global setting Enable Accounting in Gross Values
.
When using gross values on bookkeeping data creation, you do not need to configure a collective account setting for taxes nor a dedicated booking text for tax booking details.
Booking Text
Accountants may expect specific references to the operation from which produced booking details originate. To support this requirement, you can use booking texts. They define the content and pattern of this human-readable reference information, and JustOn then populates the Booking Detail field Booking Text
accordingly.
Implementation details
JustOn implements booking texts using the custom setting Booking Text. It includes the following information:
Field | Data Type | Description |
---|---|---|
Name | Text | Specifies the type of the booking detail, like Revenue , Tax or Payment . At the same time, the unique name for the custom setting record.Use one Booking Text setting record for each relevant booking detail type. |
Text | Text(255) | Specifies the booking reference text for the particular booking detail type. Can contain custom placeholders. |
JustOn can use placeholders to populate the booking texts with available information automatically. JustOn provides a number of default placeholders available for booking texts. Depending on the booking detail context, the placeholder sources vary:
Booking Detail Context | Booking Detail Types | Available Placeholder Sources | Booking-Related Placeholders |
---|---|---|---|
Invoice | Revenue Tax Deferred Unbilled Revenue Contra Account |
Booking Detail Account Invoice Invoice Line Item |
[BookingAccountRule] [BookingDate] [BookingTaxCode] [BookingTaxRate] [BookingType] [BpAccountNo] |
Balance | Payment Refund Prepayment Payout Write-off Contra Account |
Booking Detail Account Balance Invoice (if applicable) |
[BalanceDate] [BalancePaymentMethod] [BalancePaymentProvider] [BalanceReference] [BalanceTransactionNo] [BalanceType] |
For a list of other available, commonly used placeholders, see Custom Placeholder Information.
Remember that you can create additional custom placeholders for custom fields you may have defined. Be aware, however, that JustOn does not support formula fields on booking details (or other fields set after a booking detail has been created) as source fields for booking text placeholders.
Booking Date
When writing bookkeeping data for revenues and taxes from finalized invoices, JustOn sets a booking date, which allocates the booking detail to a booking period. In addition, the booking date is relevant for the allocation of produced tax booking details as well as deferred revenue booking details.
By default, the booking date is derived from the invoice Date
field or, if configured, from ON_BookingDate
. For non-tax details, the booking date is further adjusted to the first day of the month (or the service period month when using the Service Month
revenue recognition rule). Optionally, it can be set to the last day of the calendar month. To this end, you activate the global setting Use End of Month as Booking Date
. If the booking detail is to be moved to the next open booking period, JustOn applies the date of the target booking period to the booking detail.
Your business may require to use custom booking dates. To this end, JustOn supports the custom field ON_BookingDate
on the Invoice object to determine the relevant date. Using a formula field, for example, you can set a booking date according to your business' requirements.
Example Use Case | ON_BookingDate Formula |
---|---|
Invoice service period end | ONB2__ServicePeriodEnd__c |
Invoice payment due date | ONB2__PaymentDueDate__c |
Some business use cases may require to shift future booking details to the current month, for example, when an invoice is written off. To this end, you can configure a flow that calls the Apex class Move booking details
provided by JustOn. When your defined criteria are met, the flow moves the booking details of a given invoice to the current booking period – setting the booking date to the current date.
Applying Revenue Recognition
JustOn Billing & Invoice Management ships a number of revenue recognition rules. They control the way invoices and invoice line items are transformed into booking details.
The software determines the revenue recognition rule to be applied via the invoice line item field Recognition Rule
. If the field is not set, it uses the Default
rule.
You can use the ON field mechanism, Salesforce flows or other automation tools to have the revenue recognition rule specified automatically on the invoice line item when generating invoices.
Note
When upgrading JustOn Billing & Invoice Management from previous versions, you may have to manually add the values for new revenue recognition rules to the Recognition Rule
picklist of the Invoice Line Item object. For details, see Modifying Picklist Values.
The following revenue recognition rules are available:
Recognition Rule | Description |
---|---|
Default | Creates one revenue booking detail per invoice line item. The booking date is taken from the field ON_BookingDate of the invoice, if configured accordingly. The invoice date is used as fallback. |
Booking Month | Creates multiple revenue booking details that are evenly distributed to booking periods (calendar months) over the service period of the invoice line item (with the invoice service period as fallback). If the service period does not start at the beginning (or end at the end) of a month, the booking amount is calculated proportionally – based on the number of relevant days – for this month (see examples in Revenue Deferral to Multiple Booking Periods). If the service period starts and ends after the invoice date but still in the same month, JustOn also produces deferred revenue booking details (see example in Revenue Deferral Within One Month). If the booking amount does not divide evenly and requires the split amounts to be rounded down, the remainder is added to the first booking detail. For example, 49,99 split into four parts results in 12,52 + 12,49 + 12,49 + 12,49 .The Booking Month revenue recognition rule produces Deferred booking details to handle deferred revenue. |
Service Month | Creates multiple revenue booking details that are evenly distributed over the service period of the invoice line item (with the invoice service period as fallback), where the service period months start with the start date of the service period, like Nov 09 - Dec 08 , Dec 09 - Jan 08 , etc.If the booking amount does not divide evenly and requires the split amounts to be rounded down, the remainder is added to the first booking detail. For example, 49,99 split into four parts results in 12,52 + 12,49 + 12,49 + 12,49 .Unless used in combination with the Sync With Revenue tax recognition rule, the Service Month revenue recognition rule produces Deferred booking details to handle deferred revenue.To produce Deferred booking details with the Service Month revenue recognition rule, the invoice line item requires a billing factor > 1 or the billing unit set to Year . |
Calendar Year | Allocates revenue bookings to the calendar year of the service date or service period of the invoice line item (with the invoice service period as fallback). If the service period spans two calendar years, like 2020-10-01 – 2021-09-30 , the booking amount is distributed proportionally to the first and the second year. The remaining booking amount is moved to a new booking detail with the booking date set to the first day of the next year.The service period may only include one turn of the year, like 2020-03-01 – 2021-12-31 . That is, it must not exceed beyond the end of the second involved year.For any revenue booking moved to a future year, the Calendar Year revenue recognition rule produces a Deferred booking detail to handle deferred revenue.If the specified booking date is in the year after the service period start, the revenue recognition rule falls back to Default . |
Service Period | Creates one booking detail per invoice line item, where the booking date is taken from the service period start of the invoice line item. If the invoice specifies a custom booking date that is before the service period start date, JustOn creates additional Deferred booking details: one with the booking date taken from the booking date of the invoice (or the invoice date as fallback), and one with the booking date taken from the service period start of the invoice line item. |
Shortfall | Creates two booking details if a defined minimum price exceeds the actually incurred costs: one for actually incurred costs, and another one for the shortfall amount, that is, the difference between the actually incurred costs and the defined minimum price. |
Margin Scheme | Creates three booking details per invoice line item if margin schemes apply: one for the defined margin, one for the position total minus the margin, and one for the tax on the margin. The tax rate for the margin is stored in the field Margin Tax Rate , while the field Tax Rate is set to 0 . |
Permanent Month | Creates Revenue booking details for each month of a service month-based payment plan, using the installment calculation algorithm to distribute the amount over the service period of the invoice line item.If the service period does not start at the beginning (or end at the end) of a month, the Permanent Month revenue recognition rule proportionally calculates the booking amount – based on the number of relevant days –- for the relevant month, and considers the remainder as deferred revenue, producing a corresponding Deferred booking detail.Intended to be used in combination with installments where Period is set to Service Month .Since the Permanent Month revenue recognition rule creates Tax booking details for each period, the tax recognition rule Sync With Revenue must not be used. |
Permanent Quarter | Creates Revenue booking details for the first month of each quarter of a service quarter-based payment plan and Deferred booking details for the remaining two months of the quarter, using the installment calculation algorithm to distribute the amount over the service period of the invoice line item.If the service period does not start at the beginning (or end at the end) of a month, the Permanent Quarter revenue recognition rule proportionally calculates the booking amount – based on the number of relevant days –- for the relevant month, and considers the remainder as deferred revenue, producing a corresponding Deferred booking detail.Intended to be used in combination with installments where Period is set to Service Quarter .Since the Permanent Quarter revenue recognition rule creates Tax booking details for each period, the tax recognition rule Sync With Revenue must not be used. |
Applying Tax Recognition
JustOn Billing & Invoice Management supports tax recognition rules. They control the booking detail creation for taxes.
The software determines the tax recognition rule to be applied via the invoice line item field Tax Recognition Rule
. If the field is not set, it uses the Default
rule.
You can use the ON field mechanism, Salesforce flows or other automation tools to have the tax recognition rule specified automatically on the invoice line item when generating invoices.
The following tax recognition rules are available:
Tax Recognition Rule | Description |
---|---|
Default | Creates one booking detail for each tax applied to an invoice line item. The booking date is taken from the invoice line item field ON_BookingDate , with the invoice date used as fallback.If you use gross values when creating bookkeeping data, JustOn does not create tax booking details. |
Sync With Revenue | Creates an individual tax booking detail for each revenue booking detail that is created using the Service Month revenue recognition rule, disabling the booking of deferred revenue. The booking date is taken from the revenue booking detail.If you use gross values when creating bookkeeping data, JustOn does not create tax booking details, and the global setting Accounting Gross Taxes on First Month is ignored. |
Info
Be aware that in the context of taxation and tax recognition, taxation rules decide how to process invoice line items that span multiple time-based tax rules. For businesses in Germany, the timing of the tax origin determines which taxation rule to apply. This may depend on the type of product or service you invoice. Contact your tax consultant to define the appropriate way for your business.
The example 4 below and the article How to model "permanent" invoices? illustrate the behavior.
Bookkeeping Data Generation
If the bookkeeping data generation is enabled, JustOn splits invoices and their invoice line items upon finalization, producing several booking details. This is a three-step process:
(1) Creating booking details
(2) Assigning booking details to booking periods
(3) Combining booking details
The booking detail generation examples below illustrate the default booking detail generation and the revenue distribution using the Monthly
revenue recognition rule.
(1) Creating Booking Details
If enabled, JustOn Billing & Invoice Management creates booking details upon invoice finalization.
Depending on your business or accounting requirements, you can create booking details applying either the Default
or a specific revenue recognition rule. The rule is determined via the invoice line item field Recognition Rule
. If the field is not set, JustOn uses the Default
rule.
Irrespective of the revenue recognition rule, JustOn creates separate booking details for the taxes of an invoice line item. By default, the booking date is derived from the invoice Date
field or, if configured, from ON_BookingDate
. Be aware that if you use gross values when creating bookkeeping data (see Enabling Gross Value Bookings), JustOn does not create tax details.
Optionally, you can configure the booking detail creation for taxes by applying a tax recognition rule on the line item.
(2) Assigning Booking Details to Booking Periods
Each booking detail is assigned to a booking period, where the specified booking date determines the target period. If the target period does not yet exist, it is created automatically. If the period is closed, the booking detail is assigned to the next open period.
JustOn supports custom booking dates. If not set, the invoice date is used as fallback.
(3) Combining Booking Details
JustOn Billing & Invoice Management combines booking details that are assigned to the same booking period if the following data match:
- the invoice number
- the applied tax rate
- the G/L account information
- the center information
- the cost object information
- the revenue recognition rule
In other words, this means that JustOn writes a separate booking detail if one of the relevant values differs.
Info
Combining booking details may complicate the ability to track the underlying source data. To disclose the data origin, booking details include fields that list the sources used to build them:
InvoiceLineItems
: Comma-separated list of invoice line item names, set if the booking detail has been created from an invoiceSubscriptionItems
: Comma-separated list of subscription item IDs, set if the booing detail has been created from a subscription (unbilled revenue)BookingPeriods
: Comma-separated list of original booking periods, set if booking details have been moved to other booking periods – for example, when canceling invoices, finalizing an invoice with unbilled revenue or updating unbilled revenue
Booking Detail Generation Examples
Default
recognition rule
Consider the following example: One invoice with four invoice line items and the Default
recognition rule results in four booking details, split by G/L account and revenue/tax.
Invoice line items
# | G/L Account | Pos Total Net | Pos Total Tax | Tax Rate | Invoice No. |
---|---|---|---|---|---|
1 | 0001 | 10,00 | 0,70 | 7% | R12345 |
2 | 0001 | 20,00 | 1,40 | 7% | R12345 |
3 | 0002 | 30,00 | 5,70 | 19% | R12345 |
4 | 0002 | 40,00 | 7,60 | 19% | R12345 |
Resulting booking details
# | Type | Account No. | Amount | Tax Rate | Name |
---|---|---|---|---|---|
1 | Revenue | 0001 | 30,00 | 7% | 0001-R12345 |
2 | Revenue | 0002 | 70,00 | 19% | 0002-R12345 |
3 | Tax | 2,10 | 7% | 7.0-R12345 | |
4 | Tax | 13,30 | 19% | 19.0-R12345 |
Booking details split by G/L account and revenue/tax with Default recognition rule
Combined Default
/Booking Month
recognition rule
Now assume, in addition, that the invoice's service period covers ten months and that the fourth invoice line item is subject to the Booking Month
recognition rule. Doing so produces Deferred
booking details to handle deferred revenue, which requires a dedicated G/L account.
The same invoice line items on the invoice will now produce 12 booking details: additional four for the item's revenue portions, which are to be distributed over four months, and another four for the deferred revenue. The item's tax is not split, and, following the example, combined with the 19% tax of item #3.
# | Type | Account No. | Amount | Tax Rate | Name |
---|---|---|---|---|---|
1 | Revenue | 0001 | 30,00 | 7% | 0001-R12345 |
2 | Revenue | 0002 | 30,00 | 19% | 0002-R12345 |
3..6 | Revenue | 0002 | 10,00 | 19% | 0002-R12345 |
7 | Deferred | 0003 | 30,00 | 19% | 0003-R12345 |
8..10 | Deferred | 0003 | -10,00 | 19% | 0003-R12345 |
11 | Tax | 2,10 | 7% | 7.0-R12345 | |
12 | Tax | 13,30 | 19% | 19.0-R12345 |
Booking details split by G/L account and revenue/tax with combined Default/Monthly recognition rule
Combined Default
/Booking Month
recognition rule with gross values
Now consider the following additional condition: You create gross booking details, for example, when using automatic accounts in DATEV. That is, you select the option Enable Accounting in Gross Values
. Consequently, your booking details are not split by revenue/tax, only by G/L account and by booking period according to the Booking Month
recognition rule.
The four invoice line items
# | G/L Account | Pos Total Gross | Recognition Rule | Tax Rate | Invoice No. |
---|---|---|---|---|---|
1 | 0001 | 10,70 | Default | 7% | R12345 |
2 | 0001 | 21,40 | Default | 7% | R12345 |
3 | 0002 | 35,70 | Default | 19% | R12345 |
4 | 0002 | 47,60 | Month | 19% | R12345 |
produce 10 booking details:
# | Type | Account No. | Amount | Tax Rate | Name |
---|---|---|---|---|---|
1 | Revenue | 0001 | 32,10 | 7% | 0001-R12345 |
2 | Revenue | 0002 | 35,70 | 19% | 0002-R12345 |
3..6 | Revenue | 0002 | 11,90 | 19% | 0002-R12345 |
7 | Deferred | 0003 | 30,00 | 19% | 0003-R12345 |
8..10 | Deferred | 0003 | -10,00 | 19% | 0003-R12345 |
The tax amount for invoice line item #4 is proportionally added to the corresponding (distributed) revenue booking details (#3..6). The deferred revenue booking details (#7..10), however, always represent net values.
Gross booking details split by G/L account with combined Default/Monthly recognition rule
Combined Service Month
revenue recognition rule with Sync With Revenue
tax recognition rule
Some business use cases require both revenue and tax to be distributed across the service period on a monthly base. To this end, you combine the Service Month
revenue recognition rule with the Sync With Revenue
tax recognition rule, disabling the booking of deferred revenue.
This allows, for example, to cover larger service periods partially on a regular base. Assume an invoice with a service period of one year and one invoice line item:
G/L Account | Recognition Rule | Tax Recognition Rule | Pos Total Net | Pos Total Tax | Tax Rate | Invoice No. |
---|---|---|---|---|---|---|
0001 | Service Month | Sync With Revenue | 60,00 | 11,40 | 19% | R12345 |
Now combining the Service Month
revenue recognition rule with the Sync With Revenue
tax recognition rule produces 24 booking details:
# | Type | Account No. | Amount | Tax Rate | Name |
---|---|---|---|---|---|
1,3,5..23 | Revenue | 0001 | 5,00 | 19% | 0001-R12345 |
2,4,6..24 | Tax | 0,95 | 19% | 19.0-R12345 |
Applying a staged payment plan (installments) to the invoice, you can, in addition, request synchronized payments.
Booking details split by revenue/tax with monthly revenue recognition and synchronized tax distribution
Service Period-Based Bookings
JustOn Billing & Invoice Management can generate booking details where the booking date is taken from the service period start date of the invoice line item instead of the billing date. To support this scenario, you apply the recognition rule Service Period
.
Info
The support for service period-based booking details is available as of JustOn 2.59.
Assume the following example: There is an invoice with the booking date 2019-03-01
and the following invoice line items:
# | Quantity | Price | Tax | Service Period Start | Service Period End |
---|---|---|---|---|---|
1 | 1 | 1000,00 | 19% | 2019-03-01 | 2019-06-30 |
2 | 1 | 1000,00 | 19% | 2019-05-01 | 2019-08-31 |
Using the Service Period
recognition rule produces the following booking details:
# | Booking Date | Amount | Type |
---|---|---|---|
1 | 2019-03-01 | 1000,00 | Revenue |
2 | 2019-03-01 | 190,00 | Tax |
3 | 2019-05-01 | 1000,00 | Revenue |
4 | 2019-05-01 | 190,00 | Tax |
The Service Period
recognition rule enables deferred revenue bookings if the invoice specifies a custom booking date that is before the service period start date of the involved invoice line items. In this case, JustOn creates additional Deferred
booking details: one with the booking date taken from the booking date of the invoice (or the invoice date as fallback), and one with the booking date taken from the service period start of the invoice line item. To this end, deferred revenue booking must not be disabled, that is, you must use the Default
tax recognition rule.
The following example illustrates this behavior:
There is an invoice with the booking date 2019-03-01
and the following invoice line item:
Quantity | Price | Tax | Service Period Start | Service Period End |
---|---|---|---|---|
1 | 1000,00 | 19% | 2019-05-01 | 2019-08-31 |
Using the Service Period
recognition rule, combined with deferred revenue booking, produces the following booking details:
# | Booking Date | Amount | Type |
---|---|---|---|
1 | 2019-03-01 | 1000,00 | Deferred |
2 | 2019-03-01 | 190,00 | Tax |
3 | 2019-05-01 | 1000,00 | Revenue |
4 | 2019-05-01 | -1000,00 | Deferred |
Payment Date-Based Tax Bookings
Your accounting may require to book taxes at the payment date. To support this scenario, you can force JustOn Billing & Invoice Management to move tax booking details to the payment date.
Info
The support for payment date-based tax booking is available as of JustOn 2.59.
Enabling the corresponding global setting Move Tax Booking Details to Payment Date
activates the following behavior:
- When creating tax booking details using the recognition rule
Booking Month
, JustOn moves them to the last month of the invoice service period. - When registering a payment on the invoice, JustOn moves all tax booking details to the month of the payment date.
The following conditions for tax details apply:
- Tax details must have a positive amount.
- The booking period must be open.
- The tax detail is not exported.
- The month of the payment date must precede the current tax detail booking date.
Enabling Payment Date-Based Tax Bookings
Regenerating Booking Details
Certain business use cases may require to regenerate booking details, for example, when the configuration was incorrect (G/L account, cost center/profit center, recognition rule, etc.), or when the bookkeeping data generation was not enabled on invoice finalization. JustOn Billing & Invoice Management allows to use the Invoice Import and Fix feature to recreate booking details if they have not been exported.
When regenerating booking details, JustOn Billing & Invoice Management
- deletes existing booking details from the relevant invoice,
- creates new booking details for the relevant invoice and assigns them to booking periods – the same way as for the invoice finalization, based on the current invoice data and using the current configuration (combination rules may apply).
Note
If one of the existing booking details of an invoice is already exported, JustOn Billing & Invoice Management will skip the invoice completely and will not regenerate any booking details for this invoice.
Info
Be aware of the following specifics:
When regenerating the booking details for a cancellation invoice, JustOn Billing & Invoice Management processes the information of the related canceled invoice – the same way as described in Bookkeeping Data for Cancellation Invoices.
Make sure that the related canceled invoice is correct before starting the fix invoice process for the cancellation invoice.
JustOn Billing & Invoice Management will not regenerate booking details produced from sub invoices (partial invoices and progress invoices) and their related final invoices.
To fix such booking details, users must cancel the existing invoices and create new ones.
Enabling Booking Detail Regeneration
Bookkeeping Data Reversal
Some business processes produce reverse booking details for invoice or subscription-based booking details, including, for example:
- Canceling an invoice, see Specific Booking Detail Use Cases
- Finalizing a final invoice with previous deposit revenue bookings, see Specific Booking Detail Use Cases
- Finalizing an invoice with unbilled revenue bookings, see Subscription Bookkeeping Data Workflow
- Updating existing unbilled revenue bookings, see Unbilled Revenue Update
JustOn marks both the reverse and the reversed (original) booking details setting the checkbox Reversal
. This clearly identifies the booking details that are subject to a reversal operation, facilitating proper reports on the relevant data.
Info
By default, the new opposite booking detail includes only the original JustOn fields. If you need additional project-specific fields to be copied, you must use the custom setting Copy Additional Fields.