Usted está aquí:
InsPolicyService:calculateTaxesAndFees
Utilice este servicio para calcular y ahorrar impuestos y comisiones en un activo de destino (póliza).
La información de impuestos y comisiones se guarda en el objeto de activo (póliza) y en los campos AssetCoverage__c, AssetInsuredItem__c y AssetPartyRelationship__c.
Este servicio también guarda impuestos desglosados como se describe en el paso 3 a continuación.
Este servicio admite Salesforce Financial Services Cloud.
Funcionamiento
-
El servicio toma el
assetId, eleffectiveDate(oEffectiveDate_cen la política de destino, o la fecha de hoy si el valor es nulo). -
Basándose en los elementos de impuestos y comisiones asociados con la póliza, las coberturas y/o los elementos asegurados, realiza el cálculo sencillo especificado o llama al procedimiento de cálculo o Procedimiento de integración requerido para calcular los impuestos y las comisiones.
NotaEste servicio también puede llamar a sistemas externos para calcular impuestos y comisiones. Especifique estos sistemas cuando configure impuestos y comisiones.
-
Si saveChanges está establecido (o predeterminado) en
true, guarda los impuestos y las comisiones calculados de una de las tres formas siguientes.-
Si un
AssetItemcalculó impuestos y comisiones, el servicio guarda un registro deAssetPricingAdjustment__cque representa esos impuestos/comisiones.El registro de
AssetPricingAdjustment__ccontiene el importe calculado (Amount__c), elAssetItemasociado (AssetCoverageId__c/AssetInsuredItemId__c/AssetPartyRelationshipId__c) y elAsset(AssetId__c), el tipo (impuestos o comisiones;AdjustmentType__c) y los impuestos/comisiones asociados (PriceListEntryId__c).AssetPricingAdjustment__ctiene unAssetItemasociado, de modo que el campoApplicableItemType__ctambién se establecerá. Esta configuración indica qué tipo de artículo es aplicable: Cobertura, Elemento asegurado o Relación de parte.Si se especifica la opción de
transactionId, elAssetTransactionId__ccampo se establece en el valor detransactionId. -
Si un
AssetItemo sus secundarios calcularon impuestos, la suma de los impuestos calculados sobre sí mismo y sus secundarios se almacenará en el campoTaxAmount__c. -
Si un
AssetItemo sus secundarios calcularon comisiones, la suma de las comisiones calculadas para sí mismo y sus secundarios se almacenará en el campoFeeAmount__c.
-
-
En el nivel Activo, la suma de todos los importes de impuestos y comisiones se almacenan en los campos
TotalTaxAmount__cyTotalFeeAmount__c, respectivamente. -
Si el activo de destino (póliza) no es la versión original de la póliza, los importes de impuestos y comisiones se prorratearán en función de la
EffectiveDate__cyExpirationDate__cdel activo. Los importes de impuestos y comisiones prorrateados para unAssetItemse almacenan en los camposProratedTaxAmount__cyProratedFeeAmount__c. Los importes de impuestos y comisiones prorrateados para el activo se almacenan en los camposTotalTaxForTerm__cyTotalFeeForTerm__c. -
Si se proporciona una opción de
transactionId, el cambio en los importes de impuestos y comisiones prorrateados totales (la suma de los importes de impuestos y comisiones prorrateados en la versión de activo de destino y todas las versiones anteriores del activo) entre la versión de activo actual y las versiones de activo anteriores se almacenan en los camposTaxAmount__cyFeeAmount__cde la transacción de destino, respectivamente.
Opciones remotas
Opción |
Descripción |
|---|---|
|
Obligatorio Id. del activo (póliza) para el que este servicio calculará impuestos y comisiones. |
|
Opcional La transacción especificada se actualizará con importes de impuestos y comisiones calculados. |
|
Opcional Calcula los impuestos y las tarifas asociados únicamente con las jurisdicciones proporcionadas. |
|
Opcional Calcule los impuestos y las comisiones que están vigentes solo en la fecha especificada. Si no se proporciona, el valor toma como valor predeterminado el |
|
Opcional
Toma como valor predeterminado Si Si es |
JSON de salida
El servicio devuelve los impuestos y comisiones desglosados en la jerarquía de productos/productos secundarios. A continuación se ofrece un ejemplo:
{
"productId": 1,
"productName": "Product",
"ProductCode": "P",
"taxesAndFees": [{
"Id": 1,
"Amount__c": 10,
"PriceListEntryId__c": 11,
"AdjustmentType__c": "Tax"
}, {
"Id": 2,
"Amount__c": 15,
"PriceListEntryId__c": 12,
"AdjustmentType__c": "Fee"
}],
"taxAmount": 25
"feeAmount": 30
"childProducts": [{
"productId": 2,
"productName": "Insured Item",
"ProductCode": "II",
"instanceKey": "My Insured Item",
"taxesAndFees": [{
"Id": 3,
"Amount__c": 15,
"PriceListEntryId__c": 16,
"AdjustmentType__c": "Tax"
}],
"taxAmount": 15
}, {
"productId": 3,
"productName": "Coverage",
"ProductCode": "C",
"taxesAndFees": [{
"Id": 4,
"Amount__c": 15,
"PriceListEntryId__c": 21
"AdjustmentType__c": "Fee"
}],
"feeAmount": 15
}]
}
