@zerocarbon/erp-config-sdk 1.0.32 → 1.0.33

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/dist/index.d.ts CHANGED
@@ -163,11 +163,13 @@ interface Bill {
163
163
  nestedSubCategory: string;
164
164
  amountCalculated: number;
165
165
  multiplicationFactor: number;
166
+ billAmount?: number;
166
167
  massData?: number;
167
168
  config?: {
168
169
  type?: string;
169
170
  id?: string;
170
171
  name?: string;
172
+ [key: string]: any;
171
173
  };
172
174
  }
173
175
  interface Meta {
@@ -1205,6 +1207,10 @@ interface BillMatchingConfig {
1205
1207
  type: boolean;
1206
1208
  };
1207
1209
  }
1210
+ interface CreateBillOptions {
1211
+ billAmount?: number;
1212
+ config?: Record<string, any>;
1213
+ }
1208
1214
  declare const BILL_CALCULATION_CONFIGS: BillCalculationConfig[];
1209
1215
  declare const DEFAULT_BILL_MATCHING_CONFIG: BillMatchingConfig;
1210
1216
  declare class BillManager {
@@ -1214,7 +1220,7 @@ declare class BillManager {
1214
1220
  filterBills(options: BillFilterOptions): Bill[];
1215
1221
  private matchField;
1216
1222
  findBillsForEmissionItem(emissionItem: ProcessedEmissionItem, category: string, year: number, month: number, scope: string, plantId?: string): Bill[];
1217
- createBill(userId: string, category: string, activityData: number, emissionItem: ProcessedEmissionItem, year: number, month: number, scope: string, industry?: string, vendorConfig?: any, massData?: number, plantId?: string): Omit<Bill, "_id">;
1223
+ createBill(userId: string, category: string, activityData: number, emissionItem: ProcessedEmissionItem, year: number, month: number, scope: string, industry?: string, vendorConfig?: any, massData?: number, plantId?: string, options?: CreateBillOptions): Omit<Bill, "_id">;
1218
1224
  private getCalculationConfig;
1219
1225
  private calculateEmissions;
1220
1226
  private getMultiplicationFactor;
@@ -1257,6 +1263,7 @@ interface EmissionSource {
1257
1263
  totalEmissions: number;
1258
1264
  amount: string;
1259
1265
  activityData: number;
1266
+ billAmount?: number;
1260
1267
  isEditing: boolean;
1261
1268
  tempActivityData?: number;
1262
1269
  bill?: Bill;
@@ -6539,4 +6546,4 @@ declare namespace index {
6539
6546
  }
6540
6547
 
6541
6548
  export { ALL_SCOPES_3_RCO, API_ENDPOINTS, API_SCOPE3_CEMENT_CONFIG, BILL_CALCULATION_CONFIGS, BULK_BILL_AGENT_PROFILES, BillManager, CCTS_ALLSCOPES_CEMENT, CCTS_CALCINATION_PRODUCTS, CCTS_ELECTRICITY_PRODUCTS, CCTS_FIRE_EXTINGUISHER_PRODUCTS, CCTS_FUEL_COMBUSTION_PRODUCTS, CCTS_LPG_PRODUCTS, CCTS_MINING_OPERATIONS_PRODUCTS, CCTS_ONSITE_POWER_PRODUCTS, CCTS_PURCHASED_ELECTRICITY, CCTS_REFRIGERANTS, CCTS_SCOPE1_CEMENT, CCTS_SCOPE2_CEMENT, CCTS_SF6_PRODUCTS, CCTS_TABLE_COLUMNS, DEFAULT_BILL_MATCHING_CONFIG, EmissionSourceGenerator, FRONTEND_INDUSTRY_CONFIGS, HTTP_STATUS, INDUSTRIES_CONFIG, INDUSTRY_MAPPING, INDUSTRY_SPECIFIC_FIELDS, INTENSITY_FIELD_LABELS, ISO_CATEGORIES_PACKAGING, index as Industries, UI_FEATURES, WATER_PRODUCTS$5 as WATER_PRODUCTS, addItemForUser, buildBulkBillAgentFinalizerPrompt, buildBulkBillAgentPromptConfig, buildBulkBillAgentRouterPrompt, buildBulkBillAgentSystemPrompt, buildBulkBillAgentWorkerPrompt, buildUserConfigItemKey, calculateCCTSEmission, calculateIntensityMetrics, categorizeApiItem, cleanValue, createBillManager, createCapitalizedMonthMapping, createEmissionSourceGenerator, createMonthMapping, debugCarbonIntensityMapping, extractBulkBillAgentProfileCandidates, extractCarbonIntensityData, formatEmissionValue, formatIntensityValue, formatKPIEmission, formatMonthlyEmission, formatPercentage, getAllConfig, getApiIndustryType, getAvailableFieldsForIndustry, getBulkBillAgentProfile, getBulkBillAgentProfilesForMappingContext, getCombinedBackendConfig, getIndustryBackendConfig, getIndustryConfig$1 as getIndustryConfig, getIndustryFieldConfig, getIntensityFormulas, getItemsForUser, getPlantNameConfig, getPrimaryBulkBillAgentProfile, getRCOConfigByName, getScope3ConfigByName, getUserNameBackendConfig, getUserNameScopeConfig, hasIntensities, isUIFeatureEnabled, listBulkBillAgentProfiles, mapIndustryToApiType, mergeUserItemsIntoIndustryConfig, normalizeConfigKeyText, normalizeConfigText, resolveEmissionFactorsForUser, sameUserConfigText, sanitizeNumber, scoreBulkBillAgentProfile, supportsIntensityCalculations, updateItemEmissionFactorForUser, updateSdkItemEmissionFactorForUser, validateCarbonIntensityData };
6542
- export type { AllConfigurations, AlloyRequest, AlloyResponse, AluminiumRequest, AluminiumResponse, ApiEndpointConfig, ApiResponse, AutomobileRequest, AutomobileResponse, AviationRequest, AviationResponse, BackendAdditionalScopeItem, BackendEmissionItem, BackendEmissions, BackendEquipmentCategory, BackendIndustries, BackendIndustryConfig, BackendProduct, BackendScope, BackendScope3Item, BackendUserConfig, BackendUserConfigs, BaseRequest, BaseResponse, Bill, BillCalculationConfig, BillFilterOptions, BillMatchingConfig, BulkBillAgentAllowedItem, BulkBillAgentMappingContext, BulkBillAgentProfile, BulkBillAgentProfileCandidate, BulkBillAgentProfileExtractionInput, BulkBillAgentProfileGroup, BulkBillAgentProfileId, BulkBillAgentProfilePage, BulkBillAgentPromptConfig, BulkBillAgentWorkerPromptInput, BusinessTravelEmission, BusinessTravelEmissionAttributes, BusinessTravelEmissionsResponse, BillsAnalyzed$1 as CarbonIntensityBillsAnalyzed, Calculations$1 as CarbonIntensityCalculations, EmissionData$2 as CarbonIntensityEmissionData, ErrorResponse$1 as CarbonIntensityErrorResponse, CarbonIntensityRequest, CarbonIntensityResponse, ChemicalRequest, ChemicalResponse, DetailedCarbonIntensityResponse, EditableItem, EmissionData$3 as EmissionData, EmissionSource, Emissions$j as Emissions, EmissionsDataAttributes, EmissionsDataResponse, FieldConfig, FoodBeveragesRequest, FoodBeveragesResponse, FormData, FormValidationResult, FrontendIndustryConfig, HospitalityRequest, HospitalityResponse, IndustryConfig$1 as IndustryConfig, EmissionData as IndustryEmissionData, IndustryFieldConfig, IndustryFieldSection, ProductionData as IndustryProductionData, IndustryType, IntensityCalculation, IntensityValue, LogisticsRequest, LogisticsResponse, ManufacturingRequest, ManufacturingResponse, Meta, MetalEnergyRequest, MetalEnergyResponse, PackagingRequest, PackagingResponse, Pagination, PetrochemicalRequest, PetrochemicalResponse, PharmaRequest, PharmaResponse, PlantNameConfig, ProcessedEmissionCategory, ProcessedEmissionItem, ProcessedScope3Data, RealEstateRequest, RealEstateResponse, BillsAnalyzed as ResponseBillsAnalyzed, Calculations as ResponseCalculations, EmissionData$1 as ResponseEmissionData, ErrorResponse as ResponseErrorResponse, ScopeConfig, ScopeProduct, ShippingRequest, ShippingResponse, SteelRequest, SteelResponse, StrapiItem, StrapiResponse, TelecommunicationRequest, TelecommunicationResponse, TextileRequest, TextileResponse, TransportationEmission, TransportationEmissionAttributes, TransportationEmissionsResponse, UserConfigApiClient, UserConfigItem, UserData, UserEmissionFactorApprovalResponse, UserEmissionFactorResolution, UtilitiesRequest, UtilitiesResponse, ValidationError, VehicleEmission, VehicleEmissionAttributes, VehicleEmissionsResponse };
6549
+ export type { AllConfigurations, AlloyRequest, AlloyResponse, AluminiumRequest, AluminiumResponse, ApiEndpointConfig, ApiResponse, AutomobileRequest, AutomobileResponse, AviationRequest, AviationResponse, BackendAdditionalScopeItem, BackendEmissionItem, BackendEmissions, BackendEquipmentCategory, BackendIndustries, BackendIndustryConfig, BackendProduct, BackendScope, BackendScope3Item, BackendUserConfig, BackendUserConfigs, BaseRequest, BaseResponse, Bill, BillCalculationConfig, BillFilterOptions, BillMatchingConfig, BulkBillAgentAllowedItem, BulkBillAgentMappingContext, BulkBillAgentProfile, BulkBillAgentProfileCandidate, BulkBillAgentProfileExtractionInput, BulkBillAgentProfileGroup, BulkBillAgentProfileId, BulkBillAgentProfilePage, BulkBillAgentPromptConfig, BulkBillAgentWorkerPromptInput, BusinessTravelEmission, BusinessTravelEmissionAttributes, BusinessTravelEmissionsResponse, BillsAnalyzed$1 as CarbonIntensityBillsAnalyzed, Calculations$1 as CarbonIntensityCalculations, EmissionData$2 as CarbonIntensityEmissionData, ErrorResponse$1 as CarbonIntensityErrorResponse, CarbonIntensityRequest, CarbonIntensityResponse, ChemicalRequest, ChemicalResponse, CreateBillOptions, DetailedCarbonIntensityResponse, EditableItem, EmissionData$3 as EmissionData, EmissionSource, Emissions$j as Emissions, EmissionsDataAttributes, EmissionsDataResponse, FieldConfig, FoodBeveragesRequest, FoodBeveragesResponse, FormData, FormValidationResult, FrontendIndustryConfig, HospitalityRequest, HospitalityResponse, IndustryConfig$1 as IndustryConfig, EmissionData as IndustryEmissionData, IndustryFieldConfig, IndustryFieldSection, ProductionData as IndustryProductionData, IndustryType, IntensityCalculation, IntensityValue, LogisticsRequest, LogisticsResponse, ManufacturingRequest, ManufacturingResponse, Meta, MetalEnergyRequest, MetalEnergyResponse, PackagingRequest, PackagingResponse, Pagination, PetrochemicalRequest, PetrochemicalResponse, PharmaRequest, PharmaResponse, PlantNameConfig, ProcessedEmissionCategory, ProcessedEmissionItem, ProcessedScope3Data, RealEstateRequest, RealEstateResponse, BillsAnalyzed as ResponseBillsAnalyzed, Calculations as ResponseCalculations, EmissionData$1 as ResponseEmissionData, ErrorResponse as ResponseErrorResponse, ScopeConfig, ScopeProduct, ShippingRequest, ShippingResponse, SteelRequest, SteelResponse, StrapiItem, StrapiResponse, TelecommunicationRequest, TelecommunicationResponse, TextileRequest, TextileResponse, TransportationEmission, TransportationEmissionAttributes, TransportationEmissionsResponse, UserConfigApiClient, UserConfigItem, UserData, UserEmissionFactorApprovalResponse, UserEmissionFactorResolution, UtilitiesRequest, UtilitiesResponse, ValidationError, VehicleEmission, VehicleEmissionAttributes, VehicleEmissionsResponse };
package/dist/index.esm.js CHANGED
@@ -38890,7 +38890,7 @@ class BillManager {
38890
38890
  return matchingBills;
38891
38891
  }
38892
38892
  // Create a bill object with proper calculation
38893
- createBill(userId, category, activityData, emissionItem, year, month, scope, industry = "cement", vendorConfig, massData, plantId) {
38893
+ createBill(userId, category, activityData, emissionItem, year, month, scope, industry = "cement", vendorConfig, massData, plantId, options = {}) {
38894
38894
  const calculationConfig = this.getCalculationConfig(industry, scope, category);
38895
38895
  const amountCalculated = this.calculateEmissions(activityData, emissionItem.emissionFactor, calculationConfig, massData);
38896
38896
  const multiplicationFactor = this.getMultiplicationFactor(emissionItem.emissionFactor, calculationConfig);
@@ -38907,8 +38907,12 @@ class BillManager {
38907
38907
  nestedSubCategory: emissionItem.item,
38908
38908
  amountCalculated: amountCalculated,
38909
38909
  multiplicationFactor: multiplicationFactor,
38910
+ billAmount: sanitizeNumber(options.billAmount),
38910
38911
  massData: massData,
38911
- config: vendorConfig || {},
38912
+ config: {
38913
+ ...(vendorConfig || {}),
38914
+ ...(options.config || {}),
38915
+ },
38912
38916
  };
38913
38917
  }
38914
38918
  // Get calculation configuration for specific context
@@ -39085,6 +39089,7 @@ const formatKPIEmission = (value) => {
39085
39089
  }
39086
39090
  };
39087
39091
 
39092
+ const sumBillAmounts = (bills) => bills.reduce((sum, bill) => sum + sanitizeNumber(bill.billAmount), 0);
39088
39093
  class EmissionSourceGenerator {
39089
39094
  constructor(billManager) {
39090
39095
  this.billManager = billManager;
@@ -39108,6 +39113,7 @@ class EmissionSourceGenerator {
39108
39113
  });
39109
39114
  const totalEmissions = matchingBills.reduce((sum, bill) => sum + sanitizeNumber(bill.amountCalculated), 0);
39110
39115
  const totalActivityData = matchingBills.reduce((sum, bill) => sum + sanitizeNumber(bill.amount), 0);
39116
+ const totalBillAmount = sumBillAmounts(matchingBills);
39111
39117
  sources.push({
39112
39118
  id: sourceId,
39113
39119
  itemName: subProduct.name,
@@ -39118,6 +39124,7 @@ class EmissionSourceGenerator {
39118
39124
  totalEmissions,
39119
39125
  amount: totalActivityData.toString(),
39120
39126
  activityData: totalActivityData,
39127
+ billAmount: totalBillAmount,
39121
39128
  isEditing: false,
39122
39129
  bill: matchingBills[0],
39123
39130
  scope: scopeConfig.scope || "scope1",
@@ -39143,6 +39150,7 @@ class EmissionSourceGenerator {
39143
39150
  const matchingBills = this.billManager.findBillsForEmissionItem(apiItem, scopeConfig.name, year, monthNumber, scopeConfig.scope || "scope3");
39144
39151
  const totalEmissions = matchingBills.reduce((sum, bill) => sum + sanitizeNumber(bill.amountCalculated), 0);
39145
39152
  const totalActivityData = matchingBills.reduce((sum, bill) => sum + sanitizeNumber(bill.amount), 0);
39153
+ const totalBillAmount = sumBillAmounts(matchingBills);
39146
39154
  sources.push({
39147
39155
  id: sourceId,
39148
39156
  itemName: apiItem.item,
@@ -39153,6 +39161,7 @@ class EmissionSourceGenerator {
39153
39161
  totalEmissions,
39154
39162
  amount: totalActivityData.toString(),
39155
39163
  activityData: totalActivityData,
39164
+ billAmount: totalBillAmount,
39156
39165
  isEditing: false,
39157
39166
  bill: matchingBills[0],
39158
39167
  scope: scopeConfig.scope || "scope3",
@@ -39185,6 +39194,7 @@ class EmissionSourceGenerator {
39185
39194
  });
39186
39195
  const totalEmissions = matchingBills.reduce((sum, bill) => sum + sanitizeNumber(bill.amountCalculated), 0);
39187
39196
  const totalActivityData = matchingBills.reduce((sum, bill) => sum + sanitizeNumber(bill.amount), 0);
39197
+ const totalBillAmount = sumBillAmounts(matchingBills);
39188
39198
  sources.push({
39189
39199
  id: sourceId,
39190
39200
  itemName: item.item,
@@ -39195,6 +39205,7 @@ class EmissionSourceGenerator {
39195
39205
  totalEmissions,
39196
39206
  amount: totalActivityData.toString(),
39197
39207
  activityData: totalActivityData,
39208
+ billAmount: totalBillAmount,
39198
39209
  isEditing: false,
39199
39210
  bill: matchingBills[0],
39200
39211
  scope: scopeConfig.scope || "scope3",