La section de règle Sub Calculate est au centre des calculs de taxes. Elle contient de nombreuses sous-routines permettant d'effectuer divers calculs. Par exemple, le système commence par extraire des données des soldes de l'exercice précédent comme soldes d'ouverture pour l'exercice en cours. Le système rapproche automatiquement les données de la balance des comptes des données du livre afin de s'assurer que le point de départ correct pour la disposition fiscale est le total de la balance des comptes ajusté. Il exécute ensuite le processus d'automatisation des taxes pour configurer des données dans les comptes d'écarts temporaires et permanents, ainsi que dans d'autres comptes de taxes. Le système calcule les pertes fiscales et les crédits d'impôt pour les provisions nationales. Il calcule également les ajustements du rendement sur les provisions et d'autres ajustements. Le taux d'imposition approprié est appliqué à chaque compte afin de calculer la charge d'impôts pour la période.
Les calculs d'impôt sont effectués au niveau de l'entité parent uniquement si la propriété définie par l'utilisateur TaxCalc est définie sur Yes pour l'entité. Sinon, les calculs d'impôt ne sont pas effectués.
Les calculs suivants sont effectués pour toutes les entités si les comptes sont valides du point de vue des données saisies.
Calcul des soldes d'ouverture
Calcul du rendement sur les provisions pour les comptes d'écarts temporaires
Calcul des ajustements automatiques
Calcul des valeurs d'automatisation
Calcul des pertes fiscales et des crédits d'impôt (par année d'expiration)
Les calculs suivants sont effectués pour les entités pour lesquelles le calcul d'impôt est activé à la fois pour l'entité parent et l'entité de base.
Calculs principaux des impôts
Calculs du RàN du compte de taxes
Validations
Calculs FIN18
Le tableau suivant présente les comptes valides pour les entités. Lorsqu'un compte est valide, il est pris en compte dans les calculs.
Compte | Entité parent | Entité de base |
---|---|---|
Un groupe est affecté au compte | Aucun groupe n'est affecté à l'entité - Non
Un groupe est affecté à l'entité :
|
Aucun groupe n'est affecté à l'entité - Valide Un groupe est affecté à l'entité :
|
Aucun groupe n'est affecté au compte | Non | Yes |
Chaque sous-routine effectue des calculs spécifiques dans le cadre du processus de provisionnement pour impôts.
Les sous-routines suivantes sont appelées dans Sub Calculate.
Sub Calculate
Appeler Calculate_ExchangeRates
Appeler Clear_ValidationCellText
Appeler Calculate_OpenBalances
Appeler Calculate_AutoAdjustment
Appeler Calculate_TaxLossesNational
Appeler Calculate_TaxCreditsNational
Appeler Calculate_RTA
Appeler Calculate_TaxAutomation
Appeler Calculate_TaxCalculations
Appeler Calculate_NatRegcoreTax
Appeler Calculate_AssetLiab
Appeler Calculate_VAAllocation
Appeler Calculate_Reclass
Appeler Calculate_TempEquity
Appeler Calculate_ETR
Appeler Calculate_TARF
Appeler Calculate_Validations
Appeler Clear_Zeros
Appeler Set_ImpactStatus
Détails supplémentaires pour chaque sous-routine :
Sub Calculate ActiveRegion
Déterminez si la région est active si au moins l'un des trois taux d'imposition régionaux est saisi.
Sub Calculate_AssetLiab
Déterminez si les impôts différés concernent les actifs ou le passif.
Déterminez si les impôts différés sont à court terme ou à long terme.
Sub Calculate_AutoAdjustments
Calculez des ajustements automatiques afin d'effectuer un rapprochement entre les données du livre et celles de la balance des comptes.
Sub Calculate_BlendedTaxApportionment
Calculez la répartition de taxe générale pour la région générale.
Définissez la répartition fiscale générale sur 100 % si aucune répartition régionale n'est saisie.
Sub Calculate_BVTCoreTax
Effectuez les calculs des impôts pour les comptes BVT.
Flux des calculs principaux des taxes BVT :
Si aucun compte lié n'est spécifié pour le compte BVT, les calculs d'impôt ne sont pas effectués.
Le compte BVT en cours doit être valide pour le membre DataCategory AllBVTTax et le membre RollForward BVTTaxCalc.
Si le compte lié est de type Avec incidence fiscale, aucun taux d'imposition n'est appliqué.
Si aucun taux d'imposition de dérogation n'est spécifié pour le compte lié, le taux d'imposition de clôture à court terme/à long terme (basé sur le compte lié) est appliqué, et si aucun taux de clôture n'est spécifié, il est ignoré.
Le bénéfice national de la région est calculé en fonction de la propriété du compte lié. Si NBR est défini sur Yes pour le compte lié, le bénéfice national de la région est calculé ; dans le cas contraire, le bénéfice national de la région est ignoré.
Les calculs sont convertis en fonction du taux de clôture.
Sub Calculate_ExchangeRates
Obtenez les taux de change d'ouverture à partir des taux de clôture de l'exercice précédent.
Configurez les taux de change à utiliser pour la conversion.
Sub Calculate_Exchange Rates est exécuté à partir de Sub Calculate.
Sub Calculate_ETR
Calculez le taux d'imposition effectif légal, régional et consolidé.
Définissez la répartition fiscale générale sur 100 % si aucune répartition régionale n'est saisie.
Sub Calculate_OpeningBalances
Calculez les soldes d'ouverture pour les données de balance des comptes/de livre/d'impôt.
Les soldes d'ouverture sont extraits des soldes de clôture de l'exercice précédent.
Les soldes d'ouverture pour les soldes de clôture Scénario/Année/Période en cours sont extraits d'autres dimensions Scénario, Année et Période selon les conditions ci-dessous.
Si aucun scénario dynamique n'est spécifié à l'aide de l'écran personnalisé Soldes d'ouverture, le membre Scenario indiqué dans la propriété définie par l'utilisateur ("SrcSc") sera pris en compte. Si aucun membre n'est indiqué dans la propriété définie par l'utilisateur, le membre Scenario actuel sera utilisé.
Si aucune année source n'est indiquée dans la propriété définie par l'utilisateur ("SrcYr"), l'année précédente sera utilisée.
Si aucune période source n'est indiquée dans la propriété définie par l'utilisateur ("SrcP"), la dernière période (P12) sera utilisée.
L'indication des soldes d'ouverture pour le scénario actuel a une incidence sur le statut des scénarios futurs dépendants pertinents.
Sub Calculate_OpenBalances est exécuté à partir de Sub Calculate.
Sub Calculate_NatRegCoreTax
Calculez la charge d'impôt nationale.
Calculez les taux de change à l'ouverture.
Calculez les taux de change de la période en cours.
Effectuez l'extourne de capitaux propres.
Procédez à la reclassification vers le mouvement de capitaux propres.
Calculez l'impôt régional.
Calculez le bénéfice net de la région.
Calculez la modification du taux d'ouverture sur le bénéfice net de la région.
Calculez les impôts régionaux en tant que déduction pour les provisions nationales.
Sub Calculate_Reclass
Calculez la reclassification de la reconduction pour les actifs et les passifs.
Sub Calculate_TaxAutomation
Calculez l'automatisation des taxes.
Sub Calculate_TARF
Les livres comptables doivent être entrés dans le membre National Jurisdiction, mais pour la règle TARF, lus à partir de National et écrits dans Regional US_Blended.
Effectuez des calculs de reconduction de compte de taxes.
Sub Calculate_TaxCreditsNational
Calculez des crédits d'impôt pour les provisions nationales.
Sub Calculate_TaxLossesNational
Calculer des pertes fiscales pour les provisions nationales.
Sub Calculate_TempEquity
Calculez les comptes de capitaux propres temporaires dans TBBS.
Sub Calculate_VAAllocation
Calculez l'allocation de provision pour moins-value.
Sub Calculate_Validations
Calculez les validations suivantes :
Validez que TaxLossCFS au niveau de CYAdj est positif.
Validez que TaxLossesTotal au niveau de Closing est égal à TaxLosses/CreditTotal au niveau de TaxLossCreditTotal.
Validez que CurrentTaxExpense au niveau de CY moins NDefTaxTotal au niveau de CYTotal est égal à SETRTaxEffect.
Validez que RCurrentTaxExpense au niveau de CY moins RDefTaxTotal au niveau de CYTotal est égal à RETRTotal au niveau de RETRTaxEffec.
Validez que CurrentTaxExpense au niveau de CY moins NDefTaxTotal au niveau de CYTotal plus RCurrentTaxExpense au niveau de CY plus RDefTaxTotal au niveau de CYTotal est égal à CETRTotal au niveau de CETRTaxEffect.
Sub Clear_ValidationCellText
Effacez toutes les entrées de commentaire de cellule de validation écrites à partir du processus de validation précédent.
Sub Clear_FXApport
Effacez le FXCY de répartition généré.
Sub Clear_Zeros
Effacez toutes les entrées de données égales à zéro.
Sub Set_ImpactStatus
Définissez le statut d'incidence pour les futures périodes tout au long des années lorsque des modifications sont apportées à la dernière période de l'année précédente.
Espaces réservés pour les actions à effectuer avant/après l'exécution de code personnalisé
Les sous-routines suivantes peuvent être utilisées pour écrire la logique des actions à effectuer avant/après les calculs d'impôt spécifiques.
Pre_OpenBalances()
Calculate_OpenBalances
Post_OpenBalances()
Pre_RTA()
Calculate_RTA
Post_RTA()
Pre_Taxautomation()
Calculate_TaxAutomation(False,False)
Post_Taxautomation()
Pre_TaxCalculations()
Calculate_TaxCalculations(False,False)
Post_TaxCalculations()
Pre_TARF()
Calculate_TARF
Post_TARF()
Pre_FIN18()
Calculate_Fin18
Post_FIN18()
Pre_Validations()
Calculate_Validations
Post_Validations()
Espace réservé pour les actions à effectuer après l'exécution de code personnalisé
La sous-routine suivante peut être utilisée pour écrire la logique des actions à effectuer après les conversions de devise.
Translate_Custom ()
Vous pouvez ajouter le code personnalisé dans les sous-routines prédéfinies pour le pré-traitement et le post-traitement des données avant le segment de calcul indiqué.