La sección de reglas Subcálculo es el núcleo de los cálculos de impuestos. Consta de muchas subrutinas para realizar diversos cálculos. Por ejemplo, el sistema se inicia extrayendo datos de los balances del año anterior como balances de apertura para el año actual. El sistema concilia automáticamente los datos del libro y los datos del balance de comprobación para asegurarse de que el punto de partida correcto para el aprovisionamiento de impuestos es el total ajustado del balance de comprobación. A continuación, ejecuta el proceso de automatización de impuestos para configurar los datos en las cuentas de diferencias temporales y permanentes, así como en otras cuentas fiscales. El sistema calcula las pérdidas fiscales y los créditos para el aprovisionamiento nacional. También calcula los ajustes de devengo y otros ajustes. La tasa de impuestos adecuada se aplica a cada cuenta para calcular los gastos en impuestos para el periodo.
Los cálculos de impuestos se realizan en el nivel de entidad padre solo si la entidad tiene la propiedad definida por el usuario TaxCalc establecida en Sí. De lo contrario, no se realizarán los cálculos de impuestos.
Los siguientes cálculos se realizarán para todas las entidades si las cuentas son válidas para la entrada de datos.
Cálculo de balances de apertura
Cálculo de RTA para cuentas de diferencias temporales
Cálculo de ajustes automáticos
Cálculo de valores de automatización
Cálculo de pérdidas fiscales y créditos de impuestos (por año de vencimiento)
Los siguientes cálculos se realizarán para las entidades en las que el cálculo de impuestos esté habilitado para la entidad base y padre.
Cálculos de impuestos principales
Cálculos de TARF
Validaciones
Cálculos de FIN18
En la siguiente tabla se muestran cuentas válidas para las entidades. Si la cuenta es válida, se tiene en cuenta para los cálculos.
Cuenta | Entidad padre | Entidad base |
---|---|---|
La cuenta tiene un grupo asignado | No hay ningún grupo asignado a la entidad - No
Grupo asignado a la entidad:
|
No hay ningún grupo asignado a la entidad - Válida Grupo asignado a la entidad:
|
No se ha asignado ningún grupo a la cuenta | No | Sí |
Cada subrutina realiza cálculos específicos como parte del proceso de aprovisionamiento de impuestos.
En Sub Calculate, se llama a las siguientes subrutinas.
Sub Calculate
Llamada a Calculate_ExchangeRates
Llamada a Clear_ValidationCellText
Llamada a Calculate_OpenBalances
Llamada a Calculate_AutoAdjustment
Llamada a Calculate_TaxLossesNational
Llamada a Calculate_TaxCreditsNational
Llamada a Calculate_RTA
Llamada a Calculate_TaxAutomation
Llamada a Calculate_TaxCalculations
Llamada a Calculate_NatRegcoreTax
Llamada a Calculate_AssetLiab
Llamada a Calculate_VAAllocation
Llamada a Calculate_Reclass
Llamada a Calculate_TempEquity
Llamada a Calculate_ETR
Llamada a Calculate_TARF
Llamada a Calculate_Validations
Llamada a Clear_Zeros
Llamada a Set_ImpactStatus
Detalles adicionales para cada subrutina:
Sub Calculate ActiveRegion
Determina si la región está activa si se introduce al menos una de las tres tasas de impuestos regionales.
Sub Calculate_AssetLiab
Determina si el impuesto diferido es un activo o pasivo.
Determina si el impuesto diferido es actual o no actual.
Sub Calculate_AutoAdjustments
Calcula los ajustes automáticamente para conciliar los datos del libro y los datos del balance de comprobación.
Sub Calculate_BlendedTaxApportionment
Calcula el prorrateo de impuestos mixto para la región mixta.
Establece el prorrateo mixto de impuestos en el 100% si no se introduce ningún prorrateo regional.
Sub Calculate_BVTCoreTax
Realiza cálculos de impuestos para cuentas BVT.
Flujo de cálculos de impuestos principales para BVT:
Si no se especifica ninguna cuenta vinculada para la cuenta BVT, no se realizan los cálculos de impuestos.
La cuenta BVT actual debe ser válida para el miembro DataCategory AllBVTTax y el miembro RollForward BVTTaxCalc.
Si la cuenta vinculada es de impuestos efectuados, no se aplica ninguna tasa de impuestos.
Si no se especifica ninguna tasa de impuesto de reemplazo para la cuenta vinculada, se aplica la tasa de impuesto de cierre actual/no actual (según la cuenta vinculada) y, si no se especifica ninguna tasa de cierre, se omite.
El NBR se calcula en función de la propiedad de la cuenta vinculada. Si la cuenta vinculada tiene establecido NBR - Sí, se calcula el NBR; de lo contrario, se omite.
Los cálculos se convierten a la tasa de cierre.
Sub Calculate_ExchangeRates
Obtiene los tipos de cambio de apertura a partir de los tipos de cierre del año anterior.
Configura los tipos de cambio que se van a utilizar para la conversión.
Sub Calculate_Exchange Rates se ejecuta desde Sub Calculate.
Sub Calculate_ETR
Calcula la tasa de impuestos efectiva estatutaria, regional y consolidada.
Establece el prorrateo mixto de impuestos en el 100% si no se introduce ningún prorrateo regional.
Sub Calculate_OpeningBalances
Calcula los balances de apertura para los datos de impuestos/de libro/ de balance de comprobación.
Los balances de apertura se recuperan a partir de los balances de cierre del año anterior.
Los balances de apertura para los balances de cierre de escenario, año y periodo actuales se obtienen de distintos elementos de escenario, año y periodo mediante el cumplimiento de las siguientes condiciones.
Si no se especifica ningún escenario dinámico mediante la pantalla personalizada Balances de apertura, se tendrá en cuenta el miembro de escenario especificado en la propiedad definida por el usuario ("SrcSc"). Si no se especifica ningún miembro en la propiedad definida por el usuario, se utilizará el miembro de escenario actual.
Si no se especifica ningún año de origen en la propiedad definida por el usuario ("SrcYr"), se utilizará el año anterior.
Si no se especifica ningún periodo de origen en la propiedad definida por el usuario ("SrcP"), se utilizará el último periodo (P12).
Después de rellenar los balances de apertura para el escenario actual, se modificará el estado de los escenarios futuros dependientes correspondientes.
Sub Calculate_OpenBalances se ejecuta desde Sub Calculate.
Sub Calculate_NatRegCoreTax
Calcula el gasto en impuestos nacional.
Calcula los cambios de tasas desde la apertura.
Calcula los cambios de tasas desde el periodo actual.
Realiza la retrocesión de patrimonio.
Realiza la reclasificación para el movimiento de equidad.
Calcula el impuesto regional.
Cálculo de NBR.
Calcula el cambio del tipo de cambio a la apertura en NBR.
Calcula los impuestos regionales como deducción del aprovisionamiento nacional.
Sub Calculate_Reclass
Calcula la reclasificación de RollForward para activos y pasivos.
Sub Calculate_TaxAutomation
Calcula la automatización de impuestos.
Sub Calculate_TARF
Las cuentas del libro tienen que introducirse en la jurisdicción nacional, pero para la regla de TARF, se leen de Nacional y se escriben en US_Blended de Regional.
Realiza los cálculos de Diferimiento de cuenta fiscal.
Sub Calculate_TaxCreditsNational
Calcula los créditos de impuestos para el aprovisionamiento nacional.
Sub Calculate_TaxLossesNational
Calcula las pérdidas fiscales para el aprovisionamiento nacional.
Sub Calculate_TempEquity
Calcula las cuentas de equidad temporales en TBBS.
Sub Calculate_VAAllocation
Calcula la asignación de la provisión de valoración.
Sub Calculate_Validations
Calcula las validaciones siguientes:
Valida que TaxLossCFS en CYAdj es positivo.
Valida que TaxLossesTotal al cierre es igual a TaxLosses/CreditTotal en TaxLossCreditTotal.
Valida que CurrentTaxExpense en CY menos NDefTaxTotal en CYTotal es igual a SETRTaxEffect.
Valida que RCurrentTaxExpense en CY menos RDefTaxTotal en CYTotal es igual a RETRTotal en RETRTaxEffec.
Valida que CurrentTaxExpense en CY menos NDefTaxTotal en CYTotal más RCurrentTaxExpense en CY más RDefTaxTotal en CYTotal es igual a CETRTotal en CETRTaxEffect.
Sub Clear_ValidationCellText
Borra todas las entradas de texto de las celdas de validación escritas desde el anterior proceso de validación.
Sub Clear_FXApport
Borra el FXCY generado del prorrateo.
Sub Clear_Zeros
Borra todas las entradas de datos con valor cero.
Sub Set_ImpactStatus
Establece el estado del impacto para periodos futuros a lo largo de los años cuando se realizan cambios en el año anterior del último periodo.
Marcadores de posición para la ejecución de código personalizado anterior y posterior
Las siguientes subrutinas se pueden utilizar para escribir la lógica previa y posterior durante cálculos de impuestos específicos.
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()
Marcador de posición para la ejecución de código personalizado posterior
La siguiente subrutina se puede utilizar para escribir la lógica posterior durante conversiones de monedas.
Translate_Custom ()
Puede agregar el código personalizado en las subrutinas predefinidas para el procesamiento previo/posterior de datos antes del segmento de cálculo especificado.