The New Delta Pre-Invoice Generation feature ensures that your invoicing process is accurate and up-to-date by comparing the latest invoiced amounts with new amounts and creating delta pre-invoice items for any differences. This feature handles various aspects of invoicing, including timesheet activities, flexible payment plans, packages, and invoice contacts, making your invoicing more efficient and reliable.
...
Only financial changes are taken into consideration considered by the pre-invoice generation and the following items are being compared to evaluate if it is a financial change or not.
...
This field stores the original invoice number which was adjusted and will be shown on the Invoice PDF as a reference.
Position Reference
API Name: PositionReference__c
...
None - This creation type is the same as the related invoice item. Nothing will change when it comes to displaying this item
Flexible Payment Plan - Invoice items created based on the Flexible Payment Plan
Technical Reversal -This is the negative clone of the previous version
Delta Adjustment - This is a new version of the Invoice item after the change. This item would display the new Delta fields
The following new fields for delta invoicing are created which will calculate the outstanding amount based on changes done for Campaigns and what was already invoiced.
New Invoice API Name | New Invoice Field Label | Invoice Item API Name + Logic |
---|---|---|
| Outstanding Gross Amount B3 |
Additional Condition: |
| Outstanding Gross Amount B2 |
Additional Condition: |
| Outstanding Gross Amount B1 |
Additional Condition: |
| Outstanding Invoiced Amount N1 |
Additional Condition: |
| Outstanding Invoiced Amount N2 |
Additional Condition: |
| Outstanding Invoiced Amount N3 |
Additional Condition: |
| Outstanding Non-Media Amount |
Additional Condition: |
| Outstanding DST Amount |
Additional Condition: |
| Outstanding Nontaxable Amount (DST) | Based on
|
| Outstanding Taxable Amount (DST) | Based on
|
| Outstanding VAT Amount (Type 1 (A)) |
|
| Outstanding VAT Amount (Type 1 (B)) |
|
| Outstanding VAT Amount (Type 2 (A)) |
|
| Outstanding VAT Amount (Type 2 (B)) |
|
| Outstanding Taxable Amount (VAT Type 1) |
|
| Outstanding Taxable Amount (VAT Type 2) |
|
| Outstanding Nontaxable Amount (VAT Total) | Based on
|
QR code feature users should map the correct amount to the ESR reference.
For Non-delta and Normal Items, the following fields are relevant
Those normal roll-up fields do not include the amounts of the technical reversal items.The following invoice fields will calculate the outstanding + the already paid amount:
Invoice Field API Name | Invoice Field Label | Invoice Item API Name + Logic | |
---|---|---|---|
(This is a salesforce roll-up field and needs to be changed in the field definition) | Gross Amount B3 | GrossAmountB3__Gross Amount B3 |
Additional Condition: |
(This is a salesforce roll-up field and needs to be changed in the field definition) | Gross Amount B2 |
Additional Condition: | |
| Gross Amount B1 |
Additional Condition: | |
(This is a salesforce roll-up field and needs to be changed in the field definition) | Invoiced Amount Invoiced Amount N1 |
Additional Condition: | |
(This is a salesforce roll-up field and needs to be changed in the field definition) | Invoiced Amount N2 |
Additional Condition: | |
| Invoiced Amount N3 |
Additional Condition: | |
(This is a salesforce roll-up field and needs to be changed in the field definition) | Non-Non-Media Amount |
Additional Condition: | |
(This is calculated in the | DST Amount |
Additional Condition: | |
| Nontaxable Amount (DST) | Based on
| |
(This is calculated in the | Taxable Amount (DST) | Taxable Amount (DST) | Based on
|
(This is a salesforce roll-up field and needs to be changed in the field definition) | VAT Amount (Type 1 (A)) |
| |
| VAT Amount (Type 1 (B)) |
| |
(This is a salesforce roll-up field and needs to be changed in the field definition) | VAT Amount (VAT Amount (Type 2 (A)) |
| |
(This is a salesforce roll-up field and needs to be changed in the field definition) | VAT Amount (Type 2 (B)) |
| |
| Taxable Amount (VAT Type 1) | Based on
| |
(This is calculated in the | Taxable Amount (VAT Type 2) | Based on
| |
(This is calculated in the | Nontaxable Amount (VAT Total) | Based on
|
The general amount calculation is described here: 4.2.6.2 Amount Calculation and Discounts
Following Invoice Formula fields will are not be created for Delta, however, we need to document the formula so that customers can create their custom fieldsthey can be created as custom fields if needed.
Formula | Delta API Name | Delta Label | Normal Formula API Name | NonTaxableAmountDstDelta__(can be taken as reference) |
---|---|---|---|---|
|
| Delta Outstanding Invoiced Amount Gross (DST) |
| |
|
| Delta Outstanding VAT Total (Type 1) |
| |
|
| Delta Outstanding VAT Total (Type 2) |
| |
|
| Delta Outstanding Taxable Amount (VAT Total) |
| |
|
| Delta Outstanding VAT Total |
| |
|
| Delta Outstanding Invoiced Amount Gross (Total) |
| |
|
| Delta Outstanding Early Payment Discount abs. |
| |
|
| Delta Outstanding Invoiced Amount Gross (incl. EPD) |
|
Assigning Accounting Periods
The Delta Pre-Invoice Generation process ensures that all pre-invoices have an assigned accounting period. If Suppose accounting periods are not yet created when the pre-invoices are generated. In that case, the accounting period field will remain empty and will be updated during the next pre-invoice generation once the accounting periods are created.
...
Functionality of Status “Reviewed”:
Reviewed pre-invoices are not updated, similar to invoiced invoices.
Draft pre-invoices can be updated or reassigned as needed.
Resetting Status to Draft:
If any amounts (B3 → N3) change or new pre-invoice items match a reviewed pre-invoice or pre-invoice item get deleted, the status is reset to Draft and the pre-invoice and pre-invoice items will be updated.
Prevents creation of unnecessary additional delta pre-invoices.
Invoice Assignment Rules:
Ensures that pre-invoice assignments are managed efficiently without creating duplicate pre-invoices.
Rounding during delta preinvoice generation
...
Validations relevant to Pre-
...
invoice Generation
...
InvoiceAmount__c
GrossAmountB3__c
GrossAmountB2__c
GrossAmountB1__c
InvoicedAmountNet1__c
InvoicedAmountNet2__c
InvoicedAmountNet3__c
InvoiceSurchargeB3Abs__c
InvoiceSurchargeB2Abs__c
RateDiscount1AbsCustom__c
RateDiscount2AbsCustom__c
RateDiscount3AbsCustom__c
RateDiscount4AbsCustom__c
InvoicedQuantity__c
SalesPrice__c
Validations relevant to Pre-invoice Generation
Following validations are in place for Media campaign and Campaign items for when the pre-invoice generation is triggered
...
Media Champaign Conditions
...
Error Message
...
MediaCampaign__c.PaymentInterval__c is not filled
...
Missing fields: Payment Interval, Payment Start, ...
...
MediaCampaign__c.PaymentStart__c is not filled
...
MediaCampaign__c.PaymentDueDate__c is not filled
...
MediaCampaign__c.Campaign_Start_Date__c is not filled
...
MediaCampaign__c.Campaign_End_Date__c is not filled
...
MediaCampaign__c.PaymentInterval__c
is weekly in combination with Custom Fiscal Period enabled on Admin Settings
...
A payment interval weekly (1 week) is not supported when fiscal periods are activated.
...
Champaign Item Condition
...
Error Message
...
Campaign_Item__c.BillMe__c
is not set
...
items without bill me set will be ignored
...
/
...
PacketItem__r.BillMe__c
is not set
...
package components with bill me set will be ignored if the related package header doesn’t have bill me set
Note |
---|
Packages are not supported yet in the delta pre-invoice generation. |
...
/
...
MediaCampaign__c.PaymentInterval__c is weekly and the Billing category is Budget
...
The first encountered budget item related to a weekly media campaign will throw an error
...
Pre-invoice generation is not supported for the Budget billing category with a weekly payment interval.
Info |
---|
Using the media campaign button with standard pre-invoice generation: |
Customers can change unlimited invoicing
to true/false when the campaign items are partially or fully invoiced for delta invoicing.
...
The “Update delivery data” button has been removed from the Invoice object and this action of updating the delivered quantity is included in the PreInvoice generation and the Pre-invoice update stage is included in the old billing run. We strongly advise removing all the custom flows or actions related to this button.
When the pre-invoices are generated for the media champaign with weekly payment interval when the Admin Setting “Enable calculation of Revenue Schedules Daily“ is disabled it will create Pre-Invoices with a 0
as invoice item InvoicedQuantity__c
and QuantityDelivered__c
. Kindly report if it gives a null pointer error.
If the campaign item is changed/edited without optimizer the changes will not be reflected automatically in the pre-invoices and the run pre-invoices button has to be triggered to have the change reflected in the pre-invoice. With optimizer, the pre-invoice gets updated automatically
Absolute Surcharges and Discount
A new rounding-off logic is in place for the calculation of absolute surcharges and discounts
...
Following validations are in place for Media campaign and Campaign items for when the pre-invoice generation is triggered
Media Campaign Conditions | Error Message |
---|---|
|
|
| |
| |
| |
| |
|
|
Campaign Item Condition | Error Message | |||
---|---|---|---|---|
| items without bill me set will be ignored | / | ||
| package components with bill me set will be ignored if the related package header doesn’t have bill me set
| / | ||
| The first encountered budget item related to a weekly media campaign will throw an error | Pre-invoice generation is not supported for the Budget billing category with a weekly payment interval.
|
Customers can change unlimited invoicing
to true/false when the campaign items are partially or fully invoiced for delta invoicing.
Info |
---|
The “Update delivery data” button has been removed from the Invoice object. Updating the delivered quantity is included in the PreInvoice generation and the Pre-invoice update stage in the old billing run. We strongly advise removing all the custom flows or actions related to this button. When the pre-invoices are generated for the media campaign with weekly payment interval when the Admin Setting “Enable calculation of Revenue Schedules Daily“ is disabled it will create Pre-Invoices with a If the campaign item is changed/edited without optimizer the changes will not be reflected automatically in the pre-invoices and the run pre-invoices button has to be triggered to have the change reflected in the pre-invoice. With the optimizer, the pre-invoice gets updated automatically |
Absolute Surcharges and Discount
A new rounding-off logic is in place for the calculation of absolute surcharges and discounts
Positive absolute surcharges make use of the rounding mode
HALF_DOWN
Negative absolute surcharges make use of the rounding mode
HALF_UP
Absolute discounts make use of the rounding mode
FLOOR
Amounts based on actuals make use of the rounding mode
HALF_UP
For Linear, positive Invoiced Quantity make use of the rounding mode
HALF_DOWN
Negative absolute surcharges For Linear, negative Invoiced Quantity make use of the rounding mode
HALF_UP
Absolute discounts make use of the rounding mode
FLOOR
Amounts based on actuals make use of the rounding mode
HALF_UP
…
Due to the new absolute surcharges and absolute discount rounding logic, the user may notice a cent difference between periods.
The updated logic ensures that when the total campaign item amount matches the invoice amount (indicating the campaign item was fully invoiced), no delta pre-invoice items are created.
In cases where the campaign item amounts do not match the invoice item amounts combined, delta invoice items will still be created.
The amounts of Absolute discounts and absolute surcharges in case of unlimited invoicing are capped at the amount of Sales Price
Info |
---|
The new logic in place would produce a one-cent difference in version 2.171 and 2.172 To avoid this difference in 2.171 users can limit MC where the pre-invoice generation is run (Setting on the admin settings) The numbers in the table are just for an example |
...
...
Version 171 or lower
...
Version 172+
...
Surcharge B3 Abs used for amount calculation
...
16.66499999999999999999999999999999560010000000
...
16.665
...
Calculation used for Surcharge B3 Abs
...
Campaign Surcharge B3 / Campaign Item Sales Price * (capped) invoice item sales price
...
Campaign Item Surcharge B3 * invoice item distribution ratio
...
Amount B2 before rounding
...
1683.33499999999999999999999999999999560010000000
...
1683.335
...
Rounding Mode
...
HALF_UP
...
HALF_UP
...
Amount B2 rounded
...
1683.33
...
In cases where the campaign item amounts do not match the invoice item amounts combined, delta invoice items will still be created.
The amounts of Absolute discounts and absolute surcharges in case of unlimited invoicing are capped at the amount of Sales Price
Info |
---|
The new logic in place would produce a one-cent difference in version 2.171 and 2.172 To avoid this difference in 2.171 users can limit MC where the pre-invoice generation is run (Setting on the admin settings) The numbers in the table are just for an example |
| Version 171 or lower | Version 172+ |
---|---|---|
Surcharge B3 Abs used for amount calculation |
|
|
Calculation used for Surcharge B3 Abs |
|
|
Amount B2 before rounding |
|
|
Rounding Mode |
|
|
Amount B2 rounded |
|
|
Rounding during delta preinvoice generation
All the following values during the Pre-Invoice Generation are rounded off before the invoice items are saved to the database.
InvoiceAmount__c
GrossAmountB3__c
GrossAmountB2__c
GrossAmountB1__c
InvoicedAmountNet1__c
InvoicedAmountNet2__c
InvoicedAmountNet3__c
InvoiceSurchargeB3Abs__c
InvoiceSurchargeB2Abs__c
RateDiscount1AbsCustom__c
RateDiscount2AbsCustom__c
RateDiscount3AbsCustom__c
RateDiscount4AbsCustom__c
InvoicedQuantity__c
SalesPrice__c
Commitments
With delta invoicing enabled, the user can apply commitments / re-apply commitments to the campaign items that are partially or fully invoiced. That is, Media Campaign Action “Apply Commitments“ can be used to apply the new commitment conditions to the invoiced campaign items.
...