...
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.
...
Invoice API Name | Invoice Field Label | Invoice Item API Name + Logic |
---|
GrossAmountB3Outstanding__c
| Outstanding Gross Amount B3 | GrossAmountB3delta__c
Additional Condition:
NonMedia__c == falseis not set |
GrossAmountB2Outstanding__c
| Outstanding Gross Amount B2 | GrossAmountB2delta__c
Additional Condition:
NonMedia__c == is false |
GrossAmountB1Outstanding__c
| Outstanding Gross Amount B1 | GrossAmountB1delta__c
Additional Condition:
NonMedia__c == is false |
InvoicedAmountNet1Outstanding__c
| Outstanding Invoiced Amount N1 | InvoicedAmountNet1delta__c
Additional Condition:
NonMedia__c == is false |
InvoicedAmountNet2Outstanding__c
| Outstanding Invoiced Amount N2 | InvoicedAmountNet2delta__c
Additional Condition:
NonMedia__c == is false |
InvoicedAmountNet3Outstanding__c
| Outstanding Invoiced Amount N3 | InvoicedAmountNet3delta__c
Additional Condition:
NonMedia__c == is false |
NonMediaAmountOutstanding__c
| Outstanding Non-Media Amount | InvoicedAmountNet3delta__c
Additional Condition:
NonMedia__c == is true |
DstAmountOutstanding__c
| Outstanding DST Amount | DstAmountdelta__c
Additional Condition:
DstRelevant__c == true && DstExempt__c == is false |
NonTaxableAmountDstOutstanding__c
| Outstanding Nontaxable Amount (DST) | Based on TaxableAmountType__c :
InvoicedAmountNet2delta__c or
InvoicedAmountNet3delta__c Additional Condition:
DstRelevant__c == is false || DstExempt__c == is true
|
TaxableAmountDstOutstanding__c
| Outstanding Taxable Amount (DST) | Based on TaxableAmountType__c :
InvoicedAmountNet2delta__c or
InvoicedAmountNet3delta__c Additional Condition:
DstRelevant__c == is true && DstExempt__c == is false
|
VATAmount1Outstanding__c
| Outstanding VAT Amount (Type 1 (A)) | VATAmountdelta__c
Additional Condition:
VATExempt__c == is false && VATType__c = is '1'
|
VATAmount1BOutstanding__c
| Outstanding VAT Amount (Type 1 (B)) | VATAmountBdelta__c
Additional Condition:
VATExempt__c == is false && VATType__c = is '1'
|
VATAmount2Outstanding__c
| Outstanding VAT Amount (Type 2 (A)) | VATAmountdelta__c
Additional Condition:
VATExempt__c == is false && VATType__c = is '2'
|
VATAmount2BOutstanding__c
| Outstanding VAT Amount (Type 2 (B)) | VATAmountBdelta__c
Additional Condition:
VATExempt__c == is false && VATType__c = is '2'
|
TaxableAmountVatType1Outstanding__c
| Outstanding Taxable Amount (VAT Type 1) | Based on TaxableAmountType__c:
InvoicedAmountNet2Delta__c + DstAmountDelta__c
or
InvoicedAmountNet3Delta__c + DstAmountDelta__c
Additional Condition:
VATExempt__c == is false && VATType__c == is '1'
|
TaxableAmountVatType2Outstanding__c
| Outstanding Taxable Amount (VAT Type 2) | Based on TaxableAmountType__c:
InvoicedAmountNet2Delta__c + DstAmountDelta__c
or
InvoicedAmountNet3Delta__c + DstAmountDelta__c
Additional Condition:
VATExempt__c == is false && VATType__c == is '2'
|
NonTaxableAmountTotalOutstanding__c
| Outstanding Nontaxable Amount (VAT Total) | Based on TaxableAmountType__c :
InvoicedAmountNet2delta__c + DstAmountDelta__c or
InvoicedAmountNet3delta__c + DstAmountDelta__c Additional Condition:
VATExempt__c == is true or TaxableAmountType__c not supported or VATType__c not supported
|
QR code feature users should map the correct amount to the ESR reference.
Following The following invoice fields will calculate the outstanding + the already paid amount:
Invoice Field API Name | Invoice Field Label | Invoice Item API Name + Logic |
---|
GrossAmountB3__c
| Gross Amount B3 | GrossAmountB3__c
Additional Condition:
NonMedia__c == is false |
GrossAmountB2__c
| Gross Amount B2 | GrossAmountB2__c
Additional Condition:
NonMedia__c == is false |
GrossAmountB1__c
| Gross Amount B1 | GrossAmountB1__c
Additional Condition:
NonMedia__c == is false |
InvoicedAmountNet1__c
| Invoiced Amount N1 | InvoicedAmountNet1__c
Additional Condition:
NonMedia__c == is false |
InvoicedAmountNet2__c
| Invoiced Amount N2 | InvoicedAmountNet2__c
Additional Condition:
NonMedia__c == is false |
InvoicedAmountNet3__c
| Invoiced Amount N3 | InvoicedAmountNet3__c
Additional Condition:
NonMedia__c == is false |
NonMediaAmount__c
| Non-Media Amount | InvoicedAmountNet3__c
Additional Condition:
NonMedia__c == is true |
DstAmount__c
| DST Amount | DstAmount__c
Additional Condition:
DstRelevant__c == is true && DstExempt__c == is false |
NonTaxableAmountDst__c
| Nontaxable Amount (DST) | Based on TaxableAmountType__c :
InvoicedAmountNet2__c or
InvoicedAmountNet3__c Additional Condition:
DstRelevant__c == is false || DstExempt__c == is true
|
TaxableAmountDst__c
| Taxable Amount (DST) | Based on TaxableAmountType__c :
InvoicedAmountNet2__c or
InvoicedAmountNet3__c Additional Condition:
DstRelevant__c == is true && DstExempt__c == is false
|
VATAmount1__c
| VAT Amount (Type 1 (A)) | VATAmount__c
Additional Condition:
VATExempt__c == is false && VATType__c = '1'
|
VATAmount1B__c
| VAT Amount (Type 1 (B)) | VATAmountB__c
Additional Condition:
VATExempt__c == is false && VATType__c = '1'
|
VATAmount2__c
| VAT Amount (Type 2 (A)) | VATAmount__c
Additional Condition:
VATExempt__c == is false && VATType__c = is '2'
|
VATAmount2B__c
| VAT Amount (Type 2 (B)) | VATAmountB__c
Additional Condition:
VATExempt__c == is false && VATType__c = is '2'
|
TaxableAmountVatType1__c
| Taxable Amount (VAT Type 1) | Based on TaxableAmountType__c :
InvoicedAmountNet2__c + DstAmount__c or
InvoicedAmountNet3__c + DstAmount__c Additional Condition:
VATExempt__c == is false && VATType__c == is '1'
|
TaxableAmountVatType2__c
| Taxable Amount (VAT Type 2) | Based on TaxableAmountType__c :
InvoicedAmountNet2__c + DstAmount__c or
InvoicedAmountNet3__c + DstAmount__c Additional Condition:
VATExempt__c == is false && VATType__c == is '2'
|
NonTaxableAmountTotal__c
| Nontaxable Amount (VAT Total) | Based on TaxableAmountType__c :
InvoicedAmountNet2__c + DstAmount__c or
InvoicedAmountNet3__c + DstAmount__c Additional Condition:
VATExempt__c == true or TaxableAmountType__c not supported or VATType__c not supported
|
...
Formula | Delta API Name | Delta Label | Normal Formula API Name (can be taken as reference) |
---|
NonTaxableAmountDstDelta__c + TaxableAmountDstOutstanding__c + DstAmountOutstanding__c
| InvoicedAmountDstOutstanding__c
| Outstanding Invoiced Amount Gross (DST) | InvoicedAmountDst__c
|
VATAmount1Outstanding__c + VATAmount1BOutstanding__c
| VatTotalType1Outstanding__c
| Outstanding VAT Total (Type 1) | VatTotalType1__c
|
VATAmount2Outstanding__c + VATAmount2BOutstanding__c
| VatTotalType2Outstanding__c
| Outstanding VAT Total (Type 2) | VatTotalType2__c
|
TaxableAmountVatType1Outstanding__c + TaxableAmountVatType2Outstanding__c
| TaxableAmountTotalOutstanding__c
| Outstanding Taxable Amount (VAT Total) | TaxableAmountTotal__c
|
VatTotalType1Outstanding__c + VatTotalType2Outstanding__c
| VatTotalOutstanding__c
| Outstanding VAT Total | VatTotal__c
|
TaxableAmountTotalOutstanding__c + VatTotalOutstanding__c + NonTaxableAmountTotalOutstanding__c
| InvoicedAmountTotalOutstanding__c
| Outstanding Invoiced Amount Gross (Total) | InvoicedAmountTotal__c
|
ROUND(InvoicedAmountTotalOutstanding__c * Early_Payment_Discount__c,2)
| EarlyPaymentDiscountAbsOutstanding__c
| Outstanding Early Payment Discount abs. | EarlyPaymentDiscountAbs__c
|
InvoicedAmountTotaOutstanding__c - EarlyPaymentDiscountAbsOutstanding__c
| InvoicedAmountGrossInclEpdOutstanding__c
| Outstanding Invoiced Amount Gross (incl. EPD) | InvoicedAmountGrossInclEpd__c
|
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:
...
Following validations are in place for Media campaign and Campaign items for when the pre-invoice generation is triggered
Media Champaign Campaign Conditions | Error Message |
---|
MediaCampaign__c.PaymentInterval__c is not filledset
| Missing fields: Payment Interval, Payment Start, ...
|
MediaCampaign__c.PaymentStart__c is not filledset
|
MediaCampaign__c.PaymentDueDate__c is not filledset
|
MediaCampaign__c.Campaign_Start_Date__c is not filledset
|
MediaCampaign__c.Campaign_End_Date__c is not filledset
|
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 Campaign 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:
Weekly invoicing is not supported for Media Buying. |
|
...
Info |
---|
The “Update delivery data” button has been removed from the Invoice object and this action of updating . 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 campaign 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 the optimizer, the pre-invoice gets updated automatically |
...
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
For Linear, negative Invoiced Quantity 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.
...