Berechnungsregeln

Der Regelabschnitt "Sub Calculate" stellt das Kernstück der Steuerberechnungen dar. Der Abschnitt besteht aus vielen Subroutinen zum Ausführen verschiedener Berechnungen. Beispiel: Das System ruft zuerst Daten aus den Vorjahressalden als Anfangssalden für das laufende Jahr ab. Die Saldenbilanzdaten und die Buchdaten werden automatisch abgestimmt, um sicherzustellen, dass die angepasste Saldenbilanz (gesamt) der richtige Ausgangspunkt für die Steuerrückstellung ist. Dann wird der Steuerautomationsvorgang ausgeführt, um die Daten in den Konten für Dauerabweichungen und in den Konten für vorübergehende Abweichungen sowie andere Steuerkonten einzurichten. Das System berechnet Steuerverluste und Steuergutschriften für die nationale Rückstellung. Außerdem werden Anpassungen ans Vorjahr und sonstige Anpassungen berechnet. Auf jedes Konto wird der entsprechende Steuersatz angewendet, um den Steueraufwand für die Periode zu berechnen.

Steuerberechnungen werden nur auf der übergeordneten Entityebene durchgeführt, wenn die benutzerdefinierte TaxCalc-Eigenschaft für die Entity auf "Ja" festgelegt ist. Anderenfalls werden Steuerberechnungen nicht durchgeführt.

Die folgenden Berechnungen werden für alle Entitys durchgeführt, wenn die Konten für die Dateneingabe gültig sind.

  • Anfangssalden berechnen

  • Anpassung ans Vorjahr für Konten für vorübergehende Abweichungen berechnen

  • Automatische Anpassungen berechnen

  • Automatisierungswerte berechnen

  • Steuerverluste und -gutschriften (nach Jahr des Ablaufs) berechnen

Die folgenden Berechnungen werden für alle Entitys durchgeführt, für die die Steuerberechnung für die übergeordnete Entity und die Basisentity aktiviert ist.

  • Kernsteuerberechnungen

  • TARF-Berechnungen

  • Validierungen

  • FIN18-Berechnungen

In der folgenden Tabelle werden gültige Konten für Entitys angezeigt. Wenn das Konto gültig ist, wird es für Berechnungen berücksichtigt.

Konto Übergeordnete Entity Basisentity
Konto wurde eine Gruppe zugewiesen Entity wurden keine Gruppen zugewiesen – Nein

Entity wurde Gruppe zugewiesen:

  • Gruppe stimmt überein - Ja

  • Gruppe stimmt nicht überein – Nein

Entity wurden keine Gruppen zugewiesen – Gültig

Entity wurde Gruppe zugewiesen:

  • Gruppe stimmt überein - Gültig

  • Gruppe stimmt nicht überein:

    • Nicht gültig, wenn die Gruppe in einer ihrer Vorgängerketten gefunden wird

    • Gültig, wenn die Gruppe nicht in einer ihrer Vorgängerketten gefunden wird

Konto wurde keine Gruppe zugewiesen Nein Ja

Jede Subroutine führt im Rahmen des Steuerrückstellungsvorgangs bestimmte Berechnungen aus.

Die folgenden Subroutinen werden innerhalb von "Sub Calculate" aufgerufen.

Sub Calculate

  • Call Calculate_ExchangeRates

  • Call Clear_ValidationCellText

  • Call Calculate_OpenBalances

  • Call Calculate_AutoAdjustment

  • Call Calculate_TaxLossesNational

  • Call Calculate_TaxCreditsNational

  • Call Calculate_RTA

  • Call Calculate_TaxAutomation

  • Call Calculate_TaxCalculations

    • Call Calculate_NatRegcoreTax

    • Call Calculate_AssetLiab

    • Call Calculate_VAAllocation

    • Call Calculate_Reclass

    • Call Calculate_TempEquity

    • Call Calculate_ETR

  • Call Calculate_TARF

  • Call Calculate_Validations

  • Call Clear_Zeros

  • Call Set_ImpactStatus


Diagramm mit Berechnungssubroutinen

Weitere Details für jede Subroutine:

  • Sub Calculate ActiveRegion

    Ermitteln, ob die Region aktiv ist, wenn mindestens einer der drei regionalen Steuersätze eingegeben wird

  • Sub Calculate_AssetLiab

    Ermitteln, ob sich die latenten Steuern auf Vermögenswerte oder Verbindlichkeiten beziehen

    Ermitteln, ob die latenten Steuern aktiv oder passiv sind

  • Sub Calculate_AutoAdjustments

    Automatische Anpassungen zum Abstimmen der Buch- und Saldenbilanzdaten berechnen

  • Sub Calculate_BlendedTaxApportionment

    Kombinierte Steueraufteilung für die kombinierte Region berechnen

    Legen Sie die kombinierte Steueraufteilung auf 100 % fest, wenn keine regionale Steueraufteilung eingegeben wird.

  • Sub Calculate_BVTCoreTax

    Steuerberechnungen für BVT-Konten ausführen

    Fluss der BVT-Kernsteuerberechnungen:

    • Wenn für das BVT-Konto kein verknüpftes Konto angegeben ist, werden Steuerberechnungen nicht durchgeführt.

    • Das aktuelle BVT-Konto muss für das AllBVTTax-DataCategory- und das BVTTaxCalc-RollForward-Element gültig sein.

    • Wenn für das verknüpfte Konto die Steuer gezahlt wurde, wird kein Steuersatz angewendet.

    • Wenn für das verknüpfte Konto kein Überschreibungssteuersatz angegeben ist, wird der Current/NonCurrent-Endsteuersatz (auf Basis des verknüpften Kontos) angewendet. Wird kein Endsatz angegeben, wird er übersprungen.

    • Der NBR wird auf Basis der Eigenschaft für das verknüpfte Konto berechnet. Wenn das verknüpfte Konto einen NBR aufweist – Ja, dann wird der NBR berechnet. Anderenfalls wird der NBR übersprungen.

    • Berechnungen werden zum Endsatz umgerechnet.

  • Sub Calculate_ExchangeRates

    Eröffnungskurse aus den Schlusskursen des Vorjahres abrufen

    Richten Sie die für die Umrechnung zu verwendenden Wechselkurse ein.

    "Sub Calculate_ExchangeRates" wird über "Sub Calculate" ausgeführt.

  • Sub Calculate_ETR

    Effektiven Regelsteuersatz regional und konsolidierten effektiven Steuersatz berechnen

    Legen Sie die kombinierte Steueraufteilung auf 100 % fest, wenn keine regionale Steueraufteilung eingegeben wird.

  • Sub Calculate_OpeningBalances

    Anfangssalden für Saldenbilanz-, Buch- und Steuerdaten berechnen

    Die Anfangssalden werden aus den Endsalden des Vorjahres abgerufen.

    Anfangssalden für die aktuellen Endsalden für Szenario / Jahr / Periode werden aus den unterschiedlichen Elementen für Szenario, Jahr und Periode abgerufen, indem die nachstehenden Bedingungen erfüllt werden.

    • Wenn kein dynamisches Szenarioelement über das benutzerdefinierte Fenster "Anfangssalden" angegeben wurde, wird das in der benutzerdefinierten Eigenschaft ("SrcSc") angegebene Szenarioelement verwendet. Wenn in der benutzerdefinierten Eigenschaft kein Element angegeben ist, dann wird das aktuelle Szenarioelement verwendet.

    • Wenn in der benutzerdefinierten Eigenschaft ("SrcYr") kein Element für das Quelljahr angegeben ist, dann wird das Element für das Vorjahr verwendet.

    • Wenn in der benutzerdefinierten Eigenschaft ("SrcP") kein Element für die Quellperiode angegeben ist, dann wird das Element für die letzte Periode (P12) verwendet.

    Nachdem die Anfangssalden für das aktuelle Szenario aufgefüllt wurden, hat dies Auswirkungen auf den Status der entsprechenden abhängigen künftigen Szenarios.

    "Sub Calculate_OpenBalances" wird über "Sub Calculate" ausgeführt.

  • Sub Calculate_NatRegCoreTax

    Nationalen Steueraufwand berechnen

    Satzänderungen von Anfang berechnen

    Satzänderungen von aktueller Periode berechnen

    Eigenkapitalrückbuchung ausführen

    Neueinstufungen für Eigenkapitalbewegungen ausführen

    Regionale Steuern berechnen

    NBR-Berechnung (Nettoüberschuss Region)

    Anfangssatzänderung von Nettoüberschuss Region berechnen

    Regionale Steuern als Abzüge für die nationale Rückstellung berechnen

  • Sub Calculate_Reclass

    RollForward-Neueinstufung für Vermögenswerte und Verbindlichkeiten berechnen

  • Sub Calculate_TaxAutomation

    Steuerautomatisierung berechnen

  • Sub Calculate_TARF

    Buchungskonten müssen in nationalen Jurisdiction-Elementen erfasst werden, aber in Bezug auf die TARF-Regel werden die Daten aus "National" gelesen und in "Regional US_Blended" geschrieben.

    TARF-Berechnungen (Tax Account RollForward) ausführen

  • Sub Calculate_TaxCreditsNational

    Steuergutschriften für die nationale Rückstellung berechnen

  • Sub Calculate_TaxLossesNational

    Steuerverluste für die nationale Rückstellung berechnen

  • Sub Calculate_TempEquity

    Vorübergehende Eigenkapitalkonten in TBBS berechnen

  • Sub Calculate_VAAllocation

    Wertberichtigungsumlage berechnen

  • Sub Calculate_Validations

    Die folgenden Validierungen können berechnet werden:

    • Validieren, ob TaxLossCFS (CYAdj) ein positiver Wert ist

    • Validieren, ob TaxLossesTotal (Abschluss) gleich TaxLosses/CreditTotal (TaxLossCreditTotal)

    • Validieren, ob CurrentTaxExpense (CY) minus NDefTaxTotal (CYTotal) gleich SETRTaxEffect

    • Validieren, ob RCurrentTaxExpense (CY) minus RDefTaxTotal (CYTotal) gleich RETRTotal (RETRTaxEffect)

    • Validieren, ob CurrentTaxExpense (CY) minus NDefTaxTotal (CYTotal) plus RCurrentTaxExpense (CY) plus RDefTaxTotal (CYTotal) gleich CETRTotal (CETRTaxEffect)

  • Sub Clear_ValidationCellText

    Alle aus dem vorherigen Validierungsvorgang geschriebenen Validierungszellentext-Einträge löschen

  • Sub Clear_FXApport

    Generierte FXCY-Aufteilung (Fremdwährung laufendes Jahr) löschen

  • Sub Clear_Zeros

    Alle Einträge mit Nulldaten löschen

  • Sub Set_ImpactStatus

    Legen Sie für zukünftige Perioden den Status für die Auswirkungen über Jahre fest, wenn Änderungen an der letzten Periode des Vorjahres vorgenommen wurden.

Platzhalter für Vor- und Nachverarbeitung des benutzerdefinierten Codes

Die folgenden Subroutinen können verwendet werden, um eine Logik für die Vor- und Nachverarbeitung während spezifischer Steuerberechnungen zu schreiben.

  • 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()

Platzhalter für Nachverarbeitung des benutzerdefinierten Codes

Die folgende Subroutine kann verwendet werden, um eine Logik für die Nachverarbeitung während Währungsumrechnungen zu schreiben.

Translate_Custom ()

Sie können den benutzerdefinierten Code in den vordefinierten Subroutinen für die Vor- und Nachverarbeitung von Daten vor dem angegebenen Berechnungssegment hinzufügen.