Expenses Distribution Config
Name: ExpensesDistributionConfig
Configura la Distribución de Gastos por función para un período contable: recibe una lista de configuraciones (una por función de origen), permite excluir los saldos de ciertas cuentas contables para que no se repartan, y reparte el gasto hacia las funciones destino de forma equitativa (a partes iguales) o variable (según el peso asignado a cada función).
Devuelve un resultado por cada función de origen.
Parametros
| NAME | FORMATO | DESCRIPTION | EXAMPLE | REQUERIDO |
|---|---|---|---|---|
| PeriodYear | Número | Período contable. Debe existir para la entidad legal. | 2025 | ✅ |
Contenido
El cuerpo de la petición (<Content>) contiene la lista ExpensesDistributionConfigList, con uno o más elementos ExpensesDistributionConfig.
ExpensesDistributionConfig
| NAME | FORMATO | DESCRIPTION | EXAMPLE | REQUERIDO |
|---|---|---|---|---|
| Step | Número | Etapa de la distribución. El valor debe estar entre 1 a 7. | 1 | ✅ |
| SourceFuncCode | Texto | Código de la función de origen. Debe existir. | 113111 | ✅ |
| SourceFundCode | Texto | Código del fondo de origen. Debe existir. | 10 | ✅ |
| ExcludedAccountCodeList | Texto | Lista de códigos de cuentas a excluir, separados por coma. Cada cuenta debe existir. | 1234005,2311001 | ➖ |
| DebitAccountCode | Texto | Código de la cuenta de débito. Debe existir. | 6200001 | ✅ |
| CreditAccountCode | Texto | Código de la cuenta de crédito. Debe existir. | 6100001 | ✅ |
| DestinationFuncList | Lista | Lista de funciones destino (DestinationFunc) hacia las que se distribuye el gasto. | Ver tabla abajo | ✅ |
DestinationFunc
| NAME | FORMATO | DESCRIPTION | EXAMPLE | REQUERIDO |
|---|---|---|---|---|
| FuncCode | Texto | Código de la función destino. Debe existir. | 113124 | ✅ |
| DistributionParam | Número | Parámetro de distribución para la función destino. Debe ser un valor entero. | 1 | ✅ |
Nota:
- Los parámetros de distribución deben ser valores enteros positivos.
- Para el cálculo se suman todos los parametros y se cálcula por porcentaje por el valor.
Porcentaje(i) = DistributionParam(i) / Σ DistributionParam × 100
Param1 = 60
Param2 = 80
Param3 = 10
Suma = 60 + 80 + 10 = 150
Func A: 60 / 150 × 100 = 40%
Func B: 80 / 150 × 100 = 53.33%
Func C: 10 / 150 × 100 = 6.67%
Request
<?xml version="1.0" encoding="utf-8" ?>
<AASIS>
<Context>
<AccountingEntity>{{legal_entity_code}}</AccountingEntity>
<Certificate>{{certificate}}</Certificate>
</Context>
<Component>
<Name>ExpensesDistributionConfig</Name>
</Component>
<Parameters>
<ExpensesDistributionConfigParams>
<PeriodYear>2025</PeriodYear>
</ExpensesDistributionConfigParams>
</Parameters>
<Content>
<ExpensesDistributionConfigList>
<ExpensesDistributionConfig>
<Step>1</Step>
<SourceFuncCode>113111</SourceFuncCode>
<SourceFundCode>10</SourceFundCode>
<ExcludedAccountCodeList>1234005,2311001</ExcludedAccountCodeList>
<DebitAccountCode>6200001</DebitAccountCode>
<CreditAccountCode>6100001</CreditAccountCode>
<DestinationFuncList>
<DestinationFunc>
<FuncCode>113124</FuncCode>
<DistributionParam>50</DistributionParam>
</DestinationFunc>
<DestinationFunc>
<FuncCode>113141</FuncCode>
<DistributionParam>25</DistributionParam>
</DestinationFunc>
<DestinationFunc>
<FuncCode>113142</FuncCode>
<DistributionParam>25</DistributionParam>
</DestinationFunc>
</DestinationFuncList>
</ExpensesDistributionConfig>
<ExpensesDistributionConfig>
<Step>2</Step>
<SourceFuncCode>113142</SourceFuncCode>
<SourceFundCode>10</SourceFundCode>
<DebitAccountCode>6200001</DebitAccountCode>
<CreditAccountCode>6100001</CreditAccountCode>
<DestinationFuncList>
<DestinationFunc>
<FuncCode>113611</FuncCode>
<DistributionParam>10</DistributionParam>
</DestinationFunc>
<DestinationFunc>
<FuncCode>113612</FuncCode>
<DistributionParam>10</DistributionParam>
</DestinationFunc>
<DestinationFunc>
<FuncCode>113813</FuncCode>
<DistributionParam>10</DistributionParam>
</DestinationFunc>
</DestinationFuncList>
</ExpensesDistributionConfig>
</ExpensesDistributionConfigList>
</Content>
</AASIS>
Response
Se devuelve un elemento ExpensesDistributionResult por cada configuración procesada. El campo Message contiene Ok cuando la configuración se guardó correctamente.
<?xml version="1.0" encoding="iso-8859-1"?>
<AASIS>
...
<Result>
<ExpensesDistributionConfigResult>
<ArrayOfExpensesDistributionResult>
<ExpensesDistributionResult>
<Message>Ok</Message>
<SourceFuncCode>113111</SourceFuncCode>
</ExpensesDistributionResult>
<ExpensesDistributionResult>
<Message>Ok</Message>
<SourceFuncCode>113142</SourceFuncCode>
</ExpensesDistributionResult>
</ArrayOfExpensesDistributionResult>
</ExpensesDistributionConfigResult>
</Result>
<Messages />
</AASIS>
Response con error
Cuando una configuración falla (por ejemplo, si la función de origen ya está registrada en esa etapa), el mensaje de error se incluye tanto en el
ExpensesDistributionResult correspondiente como en la sección <Messages><Exceptions>.
<?xml version="1.0" encoding="iso-8859-1"?>
<AASIS>
...
<Result>
<ExpensesDistributionConfigResult>
<ArrayOfExpensesDistributionResult>
<ExpensesDistributionResult>
<Result>Ok</Result>
<SourceFuncCode>113111</SourceFuncCode>
</ExpensesDistributionResult>
<ExpensesDistributionResult>
<Result>La función de origen 113142 - Evangelismo Semana Santa Infantil - Materiales ya existe en la etapa 2.</Result>
<SourceFuncCode>113142</SourceFuncCode>
</ExpensesDistributionResult>
</ArrayOfExpensesDistributionResult>
</ExpensesDistributionConfigResult>
</Result>
<Messages>
<Exceptions>
<string>La función de origen 113142 - Evangelismo Semana Santa Infantil - Materiales ya existe en la etapa 2.</string>
</Exceptions>
</Messages>
</AASIS>