Você está aqui:
InsPolicyService:calculateTaxesAndFees
Use esse serviço para calcular e salvar impostos e taxas em um ativo de destino (política).
As informações de impostos e taxas são salvas no objeto de ativo (política) e nos campos AssetCoverage__c, AssetInsuredItem__c e AssetPartyRelationship__c.
Esse serviço também economiza impostos itensados conforme descrito na etapa 3 abaixo.
Esse serviço é compatível com o Salesforce Financial Services Cloud.
Como funciona
-
O serviço pega o
assetId, oeffectiveDate(ouEffectiveDate_cna política de destino, ou a data de hoje se o valor for nulo). -
Com base nos itens de impostos e tarifas associados à apólice, às coberturas e/ou aos itens segurados, o cálculo simples é especificado ou chama o procedimento de cálculo ou o Procedimento de integração necessário para calcular os impostos e tarifas.
NotaEsse serviço também pode chamar sistemas externos para calcular impostos e tarifas. Especifique esses sistemas ao configurar impostos e taxas.
-
Se saveChanges estiver definido (ou padronizado) como
true, salvará os impostos e taxas calculados de uma de três maneiras.-
Se um
AssetItemtiver calculado impostos e taxas, o serviço salva um registro deAssetPricingAdjustment__cque representa esse imposto/taxa.O registro de
AssetPricingAdjustment__ccontém o valor calculado (Amount__c), osAssetItemassociados (AssetCoverageId__c/AssetInsuredItemId__c/AssetPartyRelationshipId__c) eAsset(AssetId__c) , o tipo (imposto ou taxa;AdjustmentType__c) e o imposto/taxa associado (PriceListEntryId__c).O
AssetPricingAdjustment__ctem umAssetItemassociado, portanto, o campoApplicableItemType__ctambém será definido. Essa configuração indica qual tipo de item é aplicável: Cobertura, Item seguro ou Relacionamento de parte.Se a opção
transactionIdfor especificada, oAssetTransactionId__ccampo será definido como o valor detransactionId. -
Se um
AssetItemou seus filhos tiverem impostos calculados, a soma dos impostos calculados sobre si mesmo e seus filhos será armazenada no campo deTaxAmount__c. -
Se uma
AssetItemou seus filhos tiverem taxas calculadas, a soma das taxas calculadas sobre si mesmo e seus filhos será armazenada no campo deFeeAmount__c.
-
-
No nível de Ativo, a soma de todos os valores de impostos e taxas é armazenada nos campos
TotalTaxAmount__ceTotalFeeAmount__c, respectivamente. -
Se o ativo-alvo (política) não for a versão original da apólice, os valores dos impostos e das taxas serão divididos proporcionalmente com base nas
EffectiveDate__ceExpirationDate__cdo ativo. Os valores dos impostos e taxas proporcionais para umaAssetItemsão armazenados nos camposProratedTaxAmount__ceProratedFeeAmount__c. Os valores de impostos e taxas proporcionais para o ativo são armazenados nos camposTotalTaxForTerm__ceTotalFeeForTerm__c. -
Se uma opção de
transactionIdfor fornecida, a alteração nos montantes de impostos e taxas proporcionais totais (a soma dos montantes de impostos e taxas proporcionais entre a versão do ativo de destino e todas as versões anteriores do ativo) entre a versão do ativo atual e as versões anteriores do ativo será armazenada nos camposTaxAmount__ceFeeAmount__cda transação de destino, respectivamente.
Opções remotas
Opção |
Descrição |
|---|---|
|
Obrigatório ID do ativo (política) para o qual esse serviço calculará impostos e tarifas. |
|
Opcional A transação especificada será atualizada com valores de taxa e imposto calculados. |
|
Opcional Calcula apenas impostos e taxas associados às jurisdições fornecidas. |
|
Opcional Calcule impostos e taxas que estão em vigor apenas na data especificada. Se não for fornecido, o valor usará como padrão a |
|
Opcional
Padrão para Se Se |
JSON de saída
O serviço retorna os impostos e tarifas itensados na hierarquia de produtos/filhos. Aqui está um exemplo:
{
"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
}]
}

