b2m-utils 0.0.284 → 0.0.286
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/functions/index.d.ts +1 -0
- package/build/functions/matchTariffs/index.d.ts +29 -0
- package/build/index.esm.js +112 -1
- package/build/index.esm.js.gz +0 -0
- package/build/index.esm.js.map +1 -1
- package/build/index.js +119 -0
- package/build/index.js.gz +0 -0
- package/build/index.js.map +1 -1
- package/build/types/Invoice/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CteCost } from "../../types";
|
|
2
|
+
export declare const TARIFF_MAPPING: Record<string, string[]>;
|
|
3
|
+
export interface MatchedTariff {
|
|
4
|
+
chargedName: string;
|
|
5
|
+
chargedValue: number;
|
|
6
|
+
auditedName: string;
|
|
7
|
+
auditedValue: number;
|
|
8
|
+
difference: number;
|
|
9
|
+
status: 'MATCHED' | 'CHARGED_ONLY' | 'AUDITED_ONLY';
|
|
10
|
+
}
|
|
11
|
+
export interface AuditedTariff {
|
|
12
|
+
feeName: string;
|
|
13
|
+
total: number;
|
|
14
|
+
approvedValue?: number;
|
|
15
|
+
description?: string;
|
|
16
|
+
[key: string]: any;
|
|
17
|
+
}
|
|
18
|
+
export interface RatecardFeeAliasMapping {
|
|
19
|
+
feeId: number;
|
|
20
|
+
feeName: string;
|
|
21
|
+
aliases: string;
|
|
22
|
+
}
|
|
23
|
+
export declare const parseAliases: (aliasesString: string) => string[];
|
|
24
|
+
export declare const buildDynamicMapping: (ratecardAliases: RatecardFeeAliasMapping[]) => Record<string, string[]>;
|
|
25
|
+
export declare const findAuditedMatch: (chargedFee: CteCost, auditedFees: AuditedTariff[], dynamicMapping?: Record<string, string[]>) => AuditedTariff | null;
|
|
26
|
+
export declare const matchAllTariffs: (chargedFees: CteCost[], auditedFees: AuditedTariff[], dynamicMapping?: Record<string, string[]>) => MatchedTariff[];
|
|
27
|
+
export declare const addTariffMapping: (auditedTariffName: string, chargedTariffNames: string[]) => void;
|
|
28
|
+
export declare const getTariffVariations: (auditedTariffName: string) => string[];
|
|
29
|
+
export declare const isTariffMatch: (chargedName: string, auditedTariffName: string) => boolean;
|
package/build/index.esm.js
CHANGED
|
@@ -7892,5 +7892,116 @@ var setFormattedDatesInObjects = function (objectFormat) { return __awaiter(void
|
|
|
7892
7892
|
});
|
|
7893
7893
|
}); };
|
|
7894
7894
|
|
|
7895
|
-
|
|
7895
|
+
var TARIFF_MAPPING = {
|
|
7896
|
+
"Frete Rodo LTL Valor fixo": ["Frete", "Frete peso", "Frete Rodo", "Frete LTL", "Frete Rodo LTL"],
|
|
7897
|
+
"Pedagio cada 100kg / fração": ["Pedagio", "Pedágio", "Pedagio cada 100kg", "Pedágio cada 100kg", "Valor pedagio"],
|
|
7898
|
+
"ICMS Alíquota": ["ICMS", "ICMS Alíquota", "Imposto ICMS", "ICMS Imposto", "IMP REPASSADO"],
|
|
7899
|
+
"AdValorem % Valor NF": ["AdValorem", "Ad valorem", "Advalorem", "AdValorem NF", "Ad Valorem NF"],
|
|
7900
|
+
"GRIS % Valor NF": ["GRIS", "GRIS NF", "Seguro GRIS", "Seguro", "GRIS Seguro"],
|
|
7901
|
+
"Taxa de despacho": ["Despacho", "Taxa despacho", "Despacho aduaneiro", "Despache"],
|
|
7902
|
+
"Taxa de armazenagem": ["Armazenagem", "Armazenagem", "Estocagem", "Armazém"],
|
|
7903
|
+
"Taxa de coleta": ["Coleta", "Taxa coleta", "Coleta e entrega"],
|
|
7904
|
+
"Taxa de entrega": ["Entrega", "Taxa entrega", "Entrega urbana"],
|
|
7905
|
+
"Taxa de embarque": ["Embarque", "Taxa embarque", "Embarque/desembarque"],
|
|
7906
|
+
"TRT % Frete": ["TRT %", "TRT Percentual", "TRT percentual"],
|
|
7907
|
+
"TRT Min": ["TRT", "TRT Min", "TRT mínimo", "TRT minimo"],
|
|
7908
|
+
"TDE % Frete": ["TDE %", "TDE Percentual", "TDE percentual"],
|
|
7909
|
+
"TDE Min": ["TDE", "TDE Min", "TDE mínimo", "TDE minimo"],
|
|
7910
|
+
"Frete % Valor NF": ["Valor frete", "Valor Frete", "Frete valor", "Frete Valor", "Valor do frete"],
|
|
7911
|
+
"Taxa por conhecimento Valor fixo": ["Taxa por conhecimento", "Despacho", "DESPACHO"],
|
|
7912
|
+
"TSO % Valor NF": ["POS", "TSO"],
|
|
7913
|
+
"TSO Min": ["POS", "TSO", "TSO mínimo", "TSO minimo"],
|
|
7914
|
+
"Suframa por CTE/CRT": ["Suframa", "Suframa por CTE"],
|
|
7915
|
+
};
|
|
7916
|
+
var parseAliases = function (aliasesString) {
|
|
7917
|
+
return aliasesString
|
|
7918
|
+
.split(';')
|
|
7919
|
+
.map(function (alias) { return alias.trim(); })
|
|
7920
|
+
.filter(function (alias) { return alias.length > 0; });
|
|
7921
|
+
};
|
|
7922
|
+
var buildDynamicMapping = function (ratecardAliases) {
|
|
7923
|
+
var mapping = {};
|
|
7924
|
+
for (var _i = 0, ratecardAliases_1 = ratecardAliases; _i < ratecardAliases_1.length; _i++) {
|
|
7925
|
+
var alias = ratecardAliases_1[_i];
|
|
7926
|
+
mapping[alias.feeName] = parseAliases(alias.aliases);
|
|
7927
|
+
}
|
|
7928
|
+
return mapping;
|
|
7929
|
+
};
|
|
7930
|
+
var findAuditedMatch = function (chargedFee, auditedFees, dynamicMapping) {
|
|
7931
|
+
var directMatch = auditedFees.find(function (audited) { var _a, _b; return ((_a = audited.feeName) === null || _a === void 0 ? void 0 : _a.toLowerCase().trim()) === ((_b = chargedFee.name) === null || _b === void 0 ? void 0 : _b.toLowerCase().trim()); });
|
|
7932
|
+
if (directMatch)
|
|
7933
|
+
return directMatch;
|
|
7934
|
+
for (var _i = 0, auditedFees_1 = auditedFees; _i < auditedFees_1.length; _i++) {
|
|
7935
|
+
var auditedFee = auditedFees_1[_i];
|
|
7936
|
+
var possibleChargedNames = (dynamicMapping === null || dynamicMapping === void 0 ? void 0 : dynamicMapping[auditedFee.feeName]) ||
|
|
7937
|
+
TARIFF_MAPPING[auditedFee.feeName];
|
|
7938
|
+
if (possibleChargedNames) {
|
|
7939
|
+
var isMatch = possibleChargedNames.some(function (possibleName) { var _a; return ((_a = chargedFee.name) === null || _a === void 0 ? void 0 : _a.toLowerCase().trim()) === possibleName.toLowerCase().trim(); });
|
|
7940
|
+
if (isMatch) {
|
|
7941
|
+
return auditedFee;
|
|
7942
|
+
}
|
|
7943
|
+
}
|
|
7944
|
+
}
|
|
7945
|
+
return null;
|
|
7946
|
+
};
|
|
7947
|
+
var matchAllTariffs = function (chargedFees, auditedFees, dynamicMapping) {
|
|
7948
|
+
var results = [];
|
|
7949
|
+
var usedCharged = new Set();
|
|
7950
|
+
var usedAudited = new Set();
|
|
7951
|
+
chargedFees.forEach(function (charged) {
|
|
7952
|
+
var _a, _b;
|
|
7953
|
+
var auditedMatch = findAuditedMatch(charged, auditedFees, dynamicMapping);
|
|
7954
|
+
if (auditedMatch) {
|
|
7955
|
+
var difference = +charged.value - +((_a = auditedMatch.approvedValue) !== null && _a !== void 0 ? _a : auditedMatch.total);
|
|
7956
|
+
results.push({
|
|
7957
|
+
chargedName: charged.name,
|
|
7958
|
+
chargedValue: charged.value,
|
|
7959
|
+
auditedName: auditedMatch.feeName,
|
|
7960
|
+
auditedValue: (_b = auditedMatch.approvedValue) !== null && _b !== void 0 ? _b : auditedMatch.total,
|
|
7961
|
+
difference: Math.round(difference * 100) / 100,
|
|
7962
|
+
status: 'MATCHED'
|
|
7963
|
+
});
|
|
7964
|
+
usedCharged.add(charged.name);
|
|
7965
|
+
usedAudited.add(auditedMatch.feeName);
|
|
7966
|
+
}
|
|
7967
|
+
});
|
|
7968
|
+
chargedFees.filter(function (charged) { return !usedCharged.has(charged.name); })
|
|
7969
|
+
.forEach(function (charged) {
|
|
7970
|
+
results.push({
|
|
7971
|
+
chargedName: charged.name,
|
|
7972
|
+
chargedValue: charged.value,
|
|
7973
|
+
auditedName: 'NÃO AUDITADO',
|
|
7974
|
+
auditedValue: 0,
|
|
7975
|
+
difference: charged.value,
|
|
7976
|
+
status: 'CHARGED_ONLY'
|
|
7977
|
+
});
|
|
7978
|
+
});
|
|
7979
|
+
auditedFees.filter(function (audited) { return !usedAudited.has(audited.feeName); })
|
|
7980
|
+
.forEach(function (audited) {
|
|
7981
|
+
var _a, _b;
|
|
7982
|
+
results.push({
|
|
7983
|
+
chargedName: 'NÃO COBRADO',
|
|
7984
|
+
chargedValue: 0,
|
|
7985
|
+
auditedName: audited.feeName,
|
|
7986
|
+
auditedValue: (_a = audited.approvedValue) !== null && _a !== void 0 ? _a : audited.total,
|
|
7987
|
+
difference: -((_b = audited.approvedValue) !== null && _b !== void 0 ? _b : audited.total),
|
|
7988
|
+
status: 'AUDITED_ONLY'
|
|
7989
|
+
});
|
|
7990
|
+
});
|
|
7991
|
+
return results;
|
|
7992
|
+
};
|
|
7993
|
+
var addTariffMapping = function (auditedTariffName, chargedTariffNames) {
|
|
7994
|
+
TARIFF_MAPPING[auditedTariffName] = chargedTariffNames;
|
|
7995
|
+
};
|
|
7996
|
+
var getTariffVariations = function (auditedTariffName) {
|
|
7997
|
+
return TARIFF_MAPPING[auditedTariffName] || [auditedTariffName];
|
|
7998
|
+
};
|
|
7999
|
+
var isTariffMatch = function (chargedName, auditedTariffName) {
|
|
8000
|
+
var variations = getTariffVariations(auditedTariffName);
|
|
8001
|
+
return variations.some(function (variation) {
|
|
8002
|
+
return variation.toLowerCase().trim() === chargedName.toLowerCase().trim();
|
|
8003
|
+
});
|
|
8004
|
+
};
|
|
8005
|
+
|
|
8006
|
+
export { ApplicationColumnNameEnum, ApplicationEnum, CarrierDocumentConfigTypeKeyEnum, CountryEnum, CteStatusEnum, CteVehicleTypeEnum, CurrencyEnum, DocumentTypeEnum, DomainConfigurationEnum, DomainTypeEnum, EXPORT_CTE_COLUMN_LABELS, EXPORT_CTE_TYPE_LABELS, ExportCteColumn, ExportCteTypeEnum, FeeCalculationTypeEnum, FeeCategoryEnum, FeeEnum, FreightRegionEnum, ImapHostsEnum, InputTypeEnum, ModalEnum, NotificationTypeEnum, PermissionEnum, RatecardConditionalFeeTypeEnum, RatecardFeeConfigKeyEnum, RatecardFeeConfigTypeEnum, RatecardModalEnum, SlaRegionEnum, SpotStatusEnum, TARIFF_MAPPING, TrackProcessProviderTypeEnum, addTariffMapping, applyRedeliveryMultiplier, buildDynamicMapping, calculateFee, calculateIcms, convertNumberToCurrency, filterSiblingFees, findAuditedMatch, formatDateString, getAllFeesForCalculation, getAuditTotalFromCte, getConfigurationFromDomain, getContractFromFreight, getContractRouteFromFreight, getCookies, getCteDateRange, getCteLane, getCteLaneFeesTotal, getCtesFeesResult, getDataFromToken, getFilteredFeesToAudit, getFormattedFreightPlaceName, getLaneFeesToCalc, getLaneFromRatecard, getNormalizedCityName, getRatecardFromCte, getRouteDeliveryTimeFromFreight, getRouteOnTimeFromFreight, getTariffVariations, isTariffMatch, matchAllTariffs, normalizeString, parseAliases, setFormattedDatesInObjects, verifyConditionalFee, verifyDefaultFees };
|
|
7896
8007
|
//# sourceMappingURL=index.esm.js.map
|
package/build/index.esm.js.gz
CHANGED
|
Binary file
|