CFP data processing - Create entries

The process populates the tables of simulated events based on the data input tables (P&L, projected variations, balance sheet, accounting entries and objects) and then transforms them into double entries.

The system:

  • processes the “accrual” event on the P&L and the projected variations entered between the calculation start date and the estimate end date. The tax rate is entered, as well as the other rate if the accounts’ accounting model allows for this; the credit terms, weight and calendar are entered for records without “manual credit terms” and if the account’s accounting model allows for it
  • processes all other “P&L / variations” events for the P&L and projected variations for records between the calculation start date and the estimate end date. The tax rate is entered , as well as the other rate if the accounts’ accounting model allows for this with the original value present in the row being processed, if present, or with the default value of the relative event; the credit terms, weight and calendar are entered if the account’s accounting model allows for it with the original values present in the row being processed, if present, or with the default values of the relative event
  • processes the “Initial Balance Sheet” event. The tax rate, the other rate, the credit terms, the weight and the calendar are entered if the account’s accounting model allows for it. Records with “other stock” type accounts are excluded. The date of the initial balance sheet is equal to the date prior to the estimate start
  • processes all other “initial balance sheet” events for records between the estimate start and end dates. The tax rate, the other rate, the credit terms, the weight and the calendar are entered if the account’s accounting model allows for it, with the original values present in the row being processed, if present, or with the default values of the relative event. Records with “other stock” type accounts are excluded
  • processes accounting entries and objects for records between the estimate start and end dates
  • for the table of simulated events it always defines:
  • the accounting model
  • for “P&L”, “Balance sheet” and “Accounting entries” records, the accounting model is retrieved from the original account’s data processing model
  • for objects, the accounting model is the one indicated in the object’s header
  • the tax policy, as follows:
  • for “P&L”, “Balance sheet” and “Accounting entries” records, the fiscal policy is retrieved from the original account’s data processing model
  • for “Asset” type objects, the tax policy is retrieved from the data processing model of the account in the object header
  • the countervalue of all data types, excluding “Balance Sheet” and “FX hedging” data (for these data types, the countervalue is the original value)
  • direct tax ceiling calculation: replaces the original rates with rates that respect the ceiling rules
  • creates events related to the credit terms:
  • the event date is calculated as follows:
  • if credit terms month-end is active, the number of months is added to the original event date and then the month-end is calculated, and the number of days added
  • if the credit terms month-end is not active, the number of days is added to the original event date
  • the currency amount is calculated by applying the credit terms percentage to the original currency amount
  • applies the payment calendar to the events related to credit terms:
  • the calendar generates the date changes on the events related to the movement of cash deriving from the credit terms
  • the original credit terms events are written off
  • events related to the payment calendar are created
  • applies the weight to the events related to the credit terms or payment calendar:
  • the weight creates a deployment on the days of the period for events related to the movement of cash deriving from the credit terms
  • the original credit terms or calendar events are written off
  • the events related to weight are created
  • creates entries based on the simulated events
  • for accounting entries that do not use an accounting model, it makes a copy without particular processing
  • for the other rows, the accounting models are applied to the events table:
  • entries are created which do not have exceptions to the overriding of accounts on the P&L
  • then entries are created which have overriding on the accounts in the P&L
  • enters data to the account for entries related to non-deductible taxes. If the “non-deductible account” option is not active, then the account is the original account for the entry, otherwise, it is the “non-deductible tax” account indicated in the tax policy (in this case the entity and the counterparty custom dimension 2 are not defined)
  • generates the billing of indirect taxes:
  • for accounting entries or projected variations entered on the indirect tax account of a group tax policy, the entity and the CTP custom dimension 2 are entered, as specified in the execution plan or tax rules (tax definition)
  • defines the billing entries with the “transitory invoice variation” account
  • every period end:
  • an event is created to write off the value of the tax for the period on the “transitory billing variation” account
  • based on the events created in the previous point, it bills the tax on the “VAT account: debit billing variation” or “VAT account: credit billing variation” on the basis of the sign (debit if positive, credit if negative). For standard tax policies (not fees-based) if the policy does the “Group indirect taxes calculation” then it enters the CTP entity on the basis of the execution plan or tax definition
  • for fees-based policies, the system transfers the value of the entries for the previous month from the fees indirect tax account to the indirect tax account of the standard policy. If the standard policy does the “Group indirect taxes calculation” then the CTP entity is defined on the basis of the execution plan or tax definition. Therefore, every month-end, the entries for the month and the previous month for fees are on the standard policy indirect tax account, and the entries for the month for fees are on the fees-based policy indirect tax account.

After creating the entries the system alerts the user to any set up errors encountered during the calculation.

In particular, the system reports:

  • if the weight is used for creating events with “keep monthly values”, the weight must have at least one record for every period processed (blocking error: “The weight must have the detail for the specified scenario / period”)
  • if the weight is used for creating events with “maintain annual values”, the weight must have at least one record for every scenario processed (blocking error: “The weight must have the detail for the specified scenario ”)
  • if the weight is used for splitting payments or collections, the weight must have at least one record for every period processed (blocking error: “The weight must have the detail for the specified scenario / period”)
  • if the payment calendar is used to split payments or collections, the calendar must have details for the entire period of time necessary for the calculation (blocking error: “The calendar must have the detail for the specified date”)
  • the tuples of entities / accounts / custom dimensions / currencies entered must have the accounting model associated in the accounting rule (blocking error: “The accounting model must have been defined in the accounting rule for the tuple”)
  • tuples of entities / accounts / custom dimensions / currencies entered which have an accounting model providing for credit terms must have the “credit terms” field defined (blocking error: “The credit terms weren't inserted for the tuple even though the accounting model expects them”)
  • tuples of entities / accounts / custom dimensions / currencies entered which have credit terms providing for cash outstanding amounts and/or bills of exchange, the accounting model associated with the tuple must have the section on cash outstanding and/or unpaid bills of exchange defined (blocking error: “The credit terms were inserted for the tuple with unexpected events in the accounting model”)
  • tuples of entities / accounts / custom dimensions / currencies entered which have an accounting model providing for tax must have the “tax rate” field entered (blocking error: “The tax rate wasn’t inserted for the tuple even though the accounting model expects it”)
  • tuples of entities / accounts / custom dimensions / currencies entered which have an accounting model providing for tax must have the “other tax rate” field entered (blocking error: “The other tax rate wasn’t inserted for the tuple even though the accounting model expects it”)
  • tuples of entities / accounts / custom dimensions / currencies entered which have the “tax rate” field entered must have the indirect tax policy assigned in the accounting rule (blocking error: “The tax rate was inserted for the tuple even though the tax policy has not been defined in the accounting rule”)
  • tuples of entities / accounts / custom dimensions / currencies entered which have the “other tax rate” field entered must have the other indirect tax policy assigned in the accounting rule (blocking error: “The other tax rate was inserted for the tuple even though the other tax policy has not been defined in the accounting rule”)
  • for tuples of entities / accounts / custom dimensions / currencies entered which manage the cash schedule, it checks that the total collection/payment is equal to the value indicated in the initial balance sheet (non-blocking error: “The total of the disinvestment for the tuple is different from the value specified in the Initial Balance Sheet”)
  • for tuples of entities / accounts / custom dimensions / currencies entered, it checks that the event exists in the accounting model associated with the same tuple (blocking error: “An event that is unexpected in the accounting model was managed for the tuple”)