@erp-galoper/types 1.0.1933 → 1.0.1935

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.
Files changed (2) hide show
  1. package/openapi.ts +1584 -220
  2. package/package.json +1 -1
package/openapi.ts CHANGED
@@ -616,6 +616,11 @@ export interface paths {
616
616
  * Optional ``syncableOnlineItems``: standalone/template items only — same gate as
617
617
  * ``should_attempt_product_sync_to_store`` on at least one active store; variants excluded.
618
618
  *
619
+ * ``landedCostFilter`` controls landed cost service items (service items with a landed cost expense category):
620
+ * - ``exclude`` (default): omit landed cost items from the list
621
+ * - ``only``: return only landed cost service items
622
+ * - ``include``: return every item
623
+ *
619
624
  * Responses:
620
625
  * - 200: ItemListSchema
621
626
  * - 400: {"message": "Error applying filter {error}", "code": "invalidFilterFormat"}
@@ -12163,6 +12168,214 @@ export interface paths {
12163
12168
  patch?: never;
12164
12169
  trace?: never;
12165
12170
  };
12171
+ "/api/v1/purchase/landed-cost-allocations/": {
12172
+ parameters: {
12173
+ query?: never;
12174
+ header?: never;
12175
+ path?: never;
12176
+ cookie?: never;
12177
+ };
12178
+ /**
12179
+ * List Landed Cost Allocations
12180
+ * @description List landed cost allocations (LCA) for the current branch.
12181
+ *
12182
+ * **Headers:** `X-Current-Branch` (required)
12183
+ *
12184
+ * **Query:** standard pagination (`page`, `pageSize`), grid `filters`, optional `search`.
12185
+ *
12186
+ * **Permission key:** `landedcostallocation = [ view ]`
12187
+ *
12188
+ * ### Responses
12189
+ * - **200**: LandedCostAllocationListSchema
12190
+ * - **400**: invalidFilterFormat, paginationError
12191
+ * - **403**: permissionDenied, noModuleAccess, noBranchAccess
12192
+ */
12193
+ get: operations["landed_cost_views_list_landed_cost_allocations"];
12194
+ put?: never;
12195
+ /**
12196
+ * Create Landed Cost Allocation
12197
+ * @description Create a landed cost allocation.
12198
+ *
12199
+ * **No header-level GRN** — each item links a bill line to a GRN item line; multiple GRNs per document are allowed.
12200
+ *
12201
+ * ### Common 400 error codes
12202
+ * - itemsRequired
12203
+ * - purchaseInvoiceItemDoesNotExist
12204
+ * - goodsReceiptNoteItemDoesNotExist
12205
+ * - notLandedCostItem
12206
+ * - landedCostCategoryRequired
12207
+ * - purchaseInvoiceShouldBePosted
12208
+ * - purchaseInvoiceShouldBeApproved
12209
+ * - grnBranchMismatch
12210
+ * - grnMustBeApproved
12211
+ * - serviceItemNotAllowed
12212
+ * - mixedAllocationMethod
12213
+ * - allocatedAmountExceedsRemaining
12214
+ * - landedCostFullyAllocated
12215
+ *
12216
+ * **Permission key:** `landedcostallocation = [ add ]`
12217
+ */
12218
+ post: operations["landed_cost_views_create_landed_cost_allocation"];
12219
+ delete?: never;
12220
+ options?: never;
12221
+ head?: never;
12222
+ patch?: never;
12223
+ trace?: never;
12224
+ };
12225
+ "/api/v1/purchase/landed-cost-allocations/calculate-allocation/": {
12226
+ parameters: {
12227
+ query?: never;
12228
+ header?: never;
12229
+ path?: never;
12230
+ cookie?: never;
12231
+ };
12232
+ get?: never;
12233
+ put?: never;
12234
+ /**
12235
+ * Calculate Landed Cost Allocation
12236
+ * @description Preview allocation amounts **without saving**.
12237
+ *
12238
+ * **Returns 400** with `errors` when validation fails; **200** with preview data when valid.
12239
+ *
12240
+ * ### Common 400 error codes
12241
+ * - itemsRequired
12242
+ * - purchaseInvoiceItemDoesNotExist
12243
+ * - goodsReceiptNoteItemDoesNotExist
12244
+ * - notLandedCostItem
12245
+ * - landedCostCategoryRequired
12246
+ * - purchaseInvoiceShouldBePosted
12247
+ * - purchaseInvoiceShouldBeApproved
12248
+ * - grnBranchMismatch
12249
+ * - grnMustBeApproved
12250
+ * - serviceItemNotAllowed
12251
+ * - mixedAllocationMethod
12252
+ * - allocatedAmountExceedsRemaining
12253
+ * - landedCostFullyAllocated
12254
+ *
12255
+ * **Permission key:** `landedcostallocation = [ add ]`
12256
+ */
12257
+ post: operations["landed_cost_views_calculate_landed_cost_allocation"];
12258
+ delete?: never;
12259
+ options?: never;
12260
+ head?: never;
12261
+ patch?: never;
12262
+ trace?: never;
12263
+ };
12264
+ "/api/v1/purchase/landed-cost-allocations/{id}/": {
12265
+ parameters: {
12266
+ query?: never;
12267
+ header?: never;
12268
+ path?: never;
12269
+ cookie?: never;
12270
+ };
12271
+ /**
12272
+ * Get Landed Cost Allocation
12273
+ * @description Get one LCA by id including all allocation lines and derived `goodsReceiptNotes` list.
12274
+ *
12275
+ * ### Responses
12276
+ * - **200**: LandedCostAllocationDetailSchema
12277
+ * - **403**: permissionDenied, noModuleAccess, noBranchAccess
12278
+ * - **404**: landedCostAllocationDoesNotExist
12279
+ *
12280
+ * **Permission key:** `landedcostallocation = [ view ]`
12281
+ */
12282
+ get: operations["landed_cost_views_get_landed_cost_allocation"];
12283
+ /**
12284
+ * Update Landed Cost Allocation
12285
+ * @description Replace a **draft** LCA (full PUT — send complete `items` array and header fields).
12286
+ *
12287
+ * Re-run `calculate-allocation/` after edits when any row uses `allocationMethod = quantity`.
12288
+ *
12289
+ * ### Responses
12290
+ * - **200**: landedCostAllocationUpdated
12291
+ * - **400**: same item validation codes as create
12292
+ * - **403**: permissionDenied, landedCostAllocationShouldBeDraft
12293
+ * - **404**: landedCostAllocationDoesNotExist
12294
+ *
12295
+ * **Permission key:** `landedcostallocation = [ change ]`
12296
+ */
12297
+ put: operations["landed_cost_views_update_landed_cost_allocation"];
12298
+ post?: never;
12299
+ /**
12300
+ * Delete Landed Cost Allocation
12301
+ * @description Delete an LCA. Reverses inventory and PI allocation effects when the document is not draft.
12302
+ *
12303
+ * ### Responses
12304
+ * - **204**: deleted
12305
+ * - **400**: invalidPassword, noPasswordProvided
12306
+ * - **403**: permissionDenied, cantMakeActionOnLockedDocument
12307
+ * - **404**: landedCostAllocationDoesNotExist
12308
+ *
12309
+ * **Permission key:** `landedcostallocation = [ delete ]`
12310
+ */
12311
+ delete: operations["landed_cost_views_delete_landed_cost_allocation"];
12312
+ options?: never;
12313
+ head?: never;
12314
+ patch?: never;
12315
+ trace?: never;
12316
+ };
12317
+ "/api/v1/purchase/landed-cost-allocations/{id}/reset-to-draft/": {
12318
+ parameters: {
12319
+ query?: never;
12320
+ header?: never;
12321
+ path?: never;
12322
+ cookie?: never;
12323
+ };
12324
+ get?: never;
12325
+ put?: never;
12326
+ /**
12327
+ * Reset Landed Cost Allocation To Draft
12328
+ * @description Reset a **submitted**, **sent**, or **posted** LCA back to draft.
12329
+ *
12330
+ * Reverses inventory landed-cost effects, clears line posting snapshots, restores PI bill-line remaining,
12331
+ * and cancels approval tracking.
12332
+ *
12333
+ * ### Responses
12334
+ * - **200**: landedCostAllocationResetToDraft
12335
+ * - **400**: invalidPassword, noPasswordProvided
12336
+ * - **403**: permissionDenied, landedCostAllocationShouldBePostedOrSubmittedOrSent, cantMakeActionOnLockedDocument
12337
+ * - **404**: landedCostAllocationDoesNotExist
12338
+ *
12339
+ * **Permission key:** `landedcostallocation = [ resettodraft ]`
12340
+ */
12341
+ post: operations["landed_cost_views_reset_landed_cost_allocation_to_draft"];
12342
+ delete?: never;
12343
+ options?: never;
12344
+ head?: never;
12345
+ patch?: never;
12346
+ trace?: never;
12347
+ };
12348
+ "/api/v1/purchase/landed-cost-allocations/{id}/cancel/": {
12349
+ parameters: {
12350
+ query?: never;
12351
+ header?: never;
12352
+ path?: never;
12353
+ cookie?: never;
12354
+ };
12355
+ get?: never;
12356
+ put?: never;
12357
+ /**
12358
+ * Cancel Landed Cost Allocation
12359
+ * @description Cancel a landed cost allocation.
12360
+ *
12361
+ * Restores PI bill-line remaining for finalized documents, clears line posting snapshots,
12362
+ * and cancels approval tracking.
12363
+ *
12364
+ * ### Responses
12365
+ * - **200**: landedCostAllocationCanceled
12366
+ * - **400**: invalidPassword, noPasswordProvided
12367
+ * - **403**: permissionDenied, landedCostAllocationAlreadyCanceled, cantMakeActionOnLockedDocument
12368
+ * - **404**: landedCostAllocationDoesNotExist
12369
+ *
12370
+ * **Permission key:** `landedcostallocation = [ cancel ]`
12371
+ */
12372
+ post: operations["landed_cost_views_cancel_landed_cost_allocation"];
12373
+ delete?: never;
12374
+ options?: never;
12375
+ head?: never;
12376
+ patch?: never;
12377
+ trace?: never;
12378
+ };
12166
12379
  "/api/v1/purchase/payment-vouchers/calculate-equivalents/": {
12167
12380
  parameters: {
12168
12381
  query?: never;
@@ -12852,19 +13065,19 @@ export interface paths {
12852
13065
  };
12853
13066
  /**
12854
13067
  * List Goods Receipt Notes
12855
- * @description Endpoint for listing goods receipt notes
13068
+ * @description List goods receipt notes for the current branch.
12856
13069
  *
12857
- * Responses:
12858
- * - 200: GoodsReceiptListSchema
13070
+ * ### LCA integration
13071
+ * Pass `landedCostAllocation=true` to include finalized LCA rows on each GRN line.
13072
+ * Filter by `status=submitted` and `approvalStatus` in `approved` / `not_required` via grid filters.
13073
+ * Use inventory item line ids from selected GRNs as `goodsReceiptNoteItem` in the LCA grid.
12859
13074
  *
12860
- * - 403: permissionDenied
12861
- * - noModuleAccess
12862
- * - noBranchAccess
12863
- *
12864
- * - 400: paginationError
12865
- * - invalidFilterFormat
12866
- * - startDateAndEndDateAreRequiredForCustomPeriodType
13075
+ * **Headers:** `X-Current-Branch`
12867
13076
  *
13077
+ * Responses:
13078
+ * - 200: GoodsReceiptListSchema
13079
+ * - 403: permissionDenied, noModuleAccess, noBranchAccess
13080
+ * - 400: paginationError, invalidFilterFormat, startDateAndEndDateAreRequiredForCustomPeriodType
12868
13081
  * - 500: serverError
12869
13082
  *
12870
13083
  * Permission key: `goodsreceiptnote = ['view']`
@@ -12937,7 +13150,10 @@ export interface paths {
12937
13150
  };
12938
13151
  /**
12939
13152
  * Get Goods Receipt Note
12940
- * @description Endpoint for retrieving a single goods receipt note
13153
+ * @description Endpoint for retrieving a single goods receipt note.
13154
+ *
13155
+ * Each GRN line includes finalized `landedCostAllocations` when any submitted/posted/sent
13156
+ * LCA has been applied to that line.
12941
13157
  *
12942
13158
  * Responses:
12943
13159
  * - 200: GoodsReceiptNoteSchema
@@ -22806,6 +23022,20 @@ export interface paths {
22806
23022
  * - expenseAccountShouldBeSubAccountOfDefaultExpensesAccount
22807
23023
  * - defaultGeneralAccountsDoesNotExist
22808
23024
  * - limitationPeriodIsRequired
23025
+ * - expenseAccountIsRequired
23026
+ * - clearingAccountIsRequired
23027
+ * - varianceAccountIsRequired
23028
+ * - landedCostClearingAccountMustBeBalanceSheet
23029
+ * - landedCostVarianceAccountMustBeProfitAndLoss
23030
+ * - landedCostClearingAccountAndVarianceAccountMustDiffer
23031
+ * - landedCostClearingAccountDoesNotExist
23032
+ * - landedCostVarianceAccountDoesNotExist
23033
+ * - landedCostClearingAccountShouldBeSubsidiaryAccount
23034
+ * - landedCostVarianceAccountShouldBeSubsidiaryAccount
23035
+ * - landedCostClearingAccountIsNotActive
23036
+ * - landedCostVarianceAccountIsNotActive
23037
+ * - landedCostClearingAccountShouldBeInCompanyOrSecondaryCurrency
23038
+ * - landedCostVarianceAccountShouldBeInCompanyOrSecondaryCurrency
22809
23039
  *
22810
23040
  * - 403:
22811
23041
  * - permissionDenied
@@ -22867,6 +23097,20 @@ export interface paths {
22867
23097
  * - expenseAccountShouldBeSubAccountOfDefaultExpensesAccount
22868
23098
  * - defaultGeneralAccountsDoesNotExist
22869
23099
  * - limitationPeriodIsRequired
23100
+ * - expenseAccountIsRequired
23101
+ * - clearingAccountIsRequired
23102
+ * - varianceAccountIsRequired
23103
+ * - landedCostClearingAccountMustBeBalanceSheet
23104
+ * - landedCostVarianceAccountMustBeProfitAndLoss
23105
+ * - landedCostClearingAccountAndVarianceAccountMustDiffer
23106
+ * - landedCostClearingAccountDoesNotExist
23107
+ * - landedCostVarianceAccountDoesNotExist
23108
+ * - landedCostClearingAccountShouldBeSubsidiaryAccount
23109
+ * - landedCostVarianceAccountShouldBeSubsidiaryAccount
23110
+ * - landedCostClearingAccountIsNotActive
23111
+ * - landedCostVarianceAccountIsNotActive
23112
+ * - landedCostClearingAccountShouldBeInCompanyOrSecondaryCurrency
23113
+ * - landedCostVarianceAccountShouldBeInCompanyOrSecondaryCurrency
22870
23114
  * - 404:
22871
23115
  * - expenseCategoryDoesNotExist
22872
23116
  * - 403:
@@ -26648,6 +26892,12 @@ export interface components {
26648
26892
  * @enum {string}
26649
26893
  */
26650
26894
  ItemSortBy: "name" | "shortName" | "skuCode" | "type" | "usage" | "active" | "dateCreated" | "dateModified" | "family" | "brand" | "categories" | "tags" | "";
26895
+ /**
26896
+ * LandedCostFilter
26897
+ * @description Filter items list by landed cost service items.
26898
+ * @enum {string}
26899
+ */
26900
+ LandedCostFilter: "include" | "only" | "exclude";
26651
26901
  /**
26652
26902
  * LogModelName
26653
26903
  * @enum {string}
@@ -26776,11 +27026,18 @@ export interface components {
26776
27026
  */
26777
27027
  default: boolean;
26778
27028
  };
26779
- /**
26780
- * ItemCommissionCalculation
26781
- * @enum {string}
26782
- */
26783
- ItemCommissionCalculation: "netSale" | "profitMargin";
27029
+ /** ItemExpenseCategorySchema */
27030
+ ItemExpenseCategorySchema: {
27031
+ /**
27032
+ * Id
27033
+ * Format: uuid
27034
+ */
27035
+ id: string;
27036
+ /** Name */
27037
+ name: string;
27038
+ /** Islandedcost */
27039
+ isLandedCost: boolean;
27040
+ };
26784
27041
  /** ItemListSchema */
26785
27042
  ItemListSchema: {
26786
27043
  info: components["schemas"]["PageInfoSchema"];
@@ -27083,6 +27340,7 @@ export interface components {
27083
27340
  */
27084
27341
  taxes: components["schemas"]["TaxSchema"][];
27085
27342
  transactionalGroup?: components["schemas"]["TransactionalGroupSchema"] | null;
27343
+ expenseCategory?: components["schemas"]["ItemExpenseCategorySchema"] | null;
27086
27344
  /**
27087
27345
  * Isinventorytracked
27088
27346
  * @default false
@@ -27127,7 +27385,6 @@ export interface components {
27127
27385
  */
27128
27386
  openingStock?: components["schemas"]["OpeningStockGroupSchema"][] | null;
27129
27387
  costStrategy: components["schemas"]["GetCostStrategy"] | null;
27130
- commissionCalculation: components["schemas"]["ItemCommissionCalculation"] | null;
27131
27388
  inventoryMovementMethod?: components["schemas"]["INVENTORY_MOVEMENT_METHOD"] | null;
27132
27389
  /**
27133
27390
  * Candelete
@@ -27346,6 +27603,7 @@ export interface components {
27346
27603
  */
27347
27604
  taxes: components["schemas"]["TaxSchema"][];
27348
27605
  transactionalGroup?: components["schemas"]["TransactionalGroupSchema"] | null;
27606
+ expenseCategory?: components["schemas"]["ItemExpenseCategorySchema"] | null;
27349
27607
  /**
27350
27608
  * Isinventorytracked
27351
27609
  * @default false
@@ -27390,7 +27648,6 @@ export interface components {
27390
27648
  */
27391
27649
  openingStock?: components["schemas"]["OpeningStockGroupSchema"][] | null;
27392
27650
  costStrategy: components["schemas"]["GetCostStrategy"] | null;
27393
- commissionCalculation: components["schemas"]["ItemCommissionCalculation"] | null;
27394
27651
  inventoryMovementMethod?: components["schemas"]["INVENTORY_MOVEMENT_METHOD"] | null;
27395
27652
  /**
27396
27653
  * Candelete
@@ -27884,6 +28141,11 @@ export interface components {
27884
28141
  */
27885
28142
  barcodes: components["schemas"]["BarcodeSchema"][];
27886
28143
  type: components["schemas"]["ItemType"];
28144
+ /**
28145
+ * Expensecategory
28146
+ * @description Only for service items. Filter categories by isLandedCost via grid filters.
28147
+ */
28148
+ expenseCategory?: string | null;
27887
28149
  usage: components["schemas"]["ItemUsage"];
27888
28150
  /**
27889
28151
  * Unitofmeasure
@@ -28120,6 +28382,12 @@ export interface components {
28120
28382
  */
28121
28383
  barcodes: components["schemas"]["BarcodeSchema"][];
28122
28384
  type: components["schemas"]["ItemType"];
28385
+ /**
28386
+ * Expensecategory
28387
+ * @description Only applicable for service items. Assign a landed cost expense category to use this item on purchase invoices for LCA.
28388
+ * Filter categories via grid filters: `filters[0][field]=isLandedCost&filters[0][value]=true`
28389
+ */
28390
+ expenseCategory?: string | null;
28123
28391
  /**
28124
28392
  * @description - when type is service usage should be disabled and set its value to service
28125
28393
  * - when type is product usage should be either goods or works only
@@ -28358,14 +28626,6 @@ export interface components {
28358
28626
  * - visible when hasExpiryDate is true
28359
28627
  */
28360
28628
  alertDate?: number | null;
28361
- /**
28362
- * @description Hint: description for each option should be visible to users in the UI
28363
- * - Net Sales: Commission is calculated on the item price after discount, excluding tax and cost.
28364
- * - Formula (per item): (Price - Discount) × Commission Rate
28365
- * - Profit Margin: Commission is calculated on the profit of each item, after deducting both the discount and the cost of goods sold (COGS).
28366
- * - Formula (per item): (Price - Discount - Cost) × Commission Rate
28367
- */
28368
- commissionCalculation?: components["schemas"]["ItemCommissionCalculation"] | null;
28369
28629
  /**
28370
28630
  * Packages
28371
28631
  * @description Not applicable for service items - always empty list for type=service. Package and unit of measure should be unique
@@ -28636,6 +28896,11 @@ export interface components {
28636
28896
  */
28637
28897
  barcodes: components["schemas"]["UpdateBarcodeSchema"][];
28638
28898
  type?: components["schemas"]["ItemType"] | null;
28899
+ /**
28900
+ * Expensecategory
28901
+ * @description Only for service items. Filter categories by isLandedCost via grid filters.
28902
+ */
28903
+ expenseCategory?: string | null;
28639
28904
  /**
28640
28905
  * @description - when type is service usage should be disabled and set its value to service
28641
28906
  * - when type is product usage should be either goods or works only
@@ -28883,14 +29148,6 @@ export interface components {
28883
29148
  children: components["schemas"]["UpdateChildrenItemSchema"] | null;
28884
29149
  /** @description if canDelete for the item is false then this field should be disabled */
28885
29150
  costStrategy?: components["schemas"]["CostStrategy"] | null;
28886
- /**
28887
- * @description Hint: description for each option should be visible to users in the UI
28888
- * - Net Sales: Commission is calculated on the item price after discount, excluding tax and cost.
28889
- * - Formula (per item): (Price - Discount) × Commission Rate
28890
- * - Profit Margin: Commission is calculated on the profit of each item, after deducting both the discount and the cost of goods sold (COGS).
28891
- * - Formula (per item): (Price - Discount - Cost) × Commission Rate
28892
- */
28893
- commissionCalculation?: components["schemas"]["ItemCommissionCalculation"] | null;
28894
29151
  /**
28895
29152
  * @description - fifo(First In, First Out): Items purchased or produced first are sold or used first
28896
29153
  * - lifo(Last In, First Out): Items purchased or produced most recently are sold or used first
@@ -28941,6 +29198,11 @@ export interface components {
28941
29198
  */
28942
29199
  barcodes: components["schemas"]["UpdateBarcodeSchema"][];
28943
29200
  type?: components["schemas"]["ItemType"] | null;
29201
+ /**
29202
+ * Expensecategory
29203
+ * @description Only for service items. Filter categories by isLandedCost via grid filters.
29204
+ */
29205
+ expenseCategory?: string | null;
28944
29206
  /**
28945
29207
  * @description - when type is service usage should be disabled and set its value to service
28946
29208
  * - when type is product usage should be either goods or works only
@@ -29188,14 +29450,6 @@ export interface components {
29188
29450
  children: components["schemas"]["UpdateChildrenItemSchema"] | null;
29189
29451
  /** @description if canDelete for the item is false then this field should be disabled */
29190
29452
  costStrategy?: components["schemas"]["CostStrategy"] | null;
29191
- /**
29192
- * @description Hint: description for each option should be visible to users in the UI
29193
- * - Net Sales: Commission is calculated on the item price after discount, excluding tax and cost.
29194
- * - Formula (per item): (Price - Discount) × Commission Rate
29195
- * - Profit Margin: Commission is calculated on the profit of each item, after deducting both the discount and the cost of goods sold (COGS).
29196
- * - Formula (per item): (Price - Discount - Cost) × Commission Rate
29197
- */
29198
- commissionCalculation?: components["schemas"]["ItemCommissionCalculation"] | null;
29199
29453
  /**
29200
29454
  * @description - fifo(First In, First Out): Items purchased or produced first are sold or used first
29201
29455
  * - lifo(Last In, First Out): Items purchased or produced most recently are sold or used first
@@ -35899,6 +36153,29 @@ export interface components {
35899
36153
  * @enum {string}
35900
36154
  */
35901
36155
  SessionStatus: "opened" | "closed";
36156
+ /** RelatedPartyInfo */
36157
+ RelatedPartyInfo: {
36158
+ /** Id */
36159
+ id: number | string;
36160
+ /** Name */
36161
+ name: string;
36162
+ /** Accountnumber */
36163
+ accountNumber: string;
36164
+ currency: components["schemas"]["CurrencySummaryInfo"];
36165
+ /** Banks */
36166
+ banks: components["schemas"]["BankAccountsSharedSchema"][];
36167
+ };
36168
+ /** SalesPersonSharedSchema */
36169
+ SalesPersonSharedSchema: {
36170
+ /**
36171
+ * Id
36172
+ * Format: uuid
36173
+ */
36174
+ id: string;
36175
+ /** Name */
36176
+ name: string;
36177
+ relatedParty: components["schemas"]["RelatedPartyInfo"];
36178
+ };
35902
36179
  /** SessionListSchema */
35903
36180
  SessionListSchema: {
35904
36181
  info: components["schemas"]["PageInfoSchema"];
@@ -35924,6 +36201,7 @@ export interface components {
35924
36201
  /** Name */
35925
36202
  name: string;
35926
36203
  user: components["schemas"]["UserSummaryInfo"];
36204
+ defaultSalesPerson?: components["schemas"]["SalesPersonSharedSchema"] | null;
35927
36205
  /**
35928
36206
  * Startdate
35929
36207
  * Format: date-time
@@ -36122,6 +36400,19 @@ export interface components {
36122
36400
  type: string;
36123
36401
  accountType: components["schemas"]["AccountModelType"];
36124
36402
  };
36403
+ /** CommissionLevelSharedSchema */
36404
+ CommissionLevelSharedSchema: {
36405
+ /**
36406
+ * Id
36407
+ * Format: uuid
36408
+ */
36409
+ id: string;
36410
+ /** Name */
36411
+ name: string;
36412
+ /** Commissionvalue */
36413
+ commissionValue: number;
36414
+ currency: components["schemas"]["CurrencySummaryInfo"] | null;
36415
+ };
36125
36416
  /** CustomerSharedSchema */
36126
36417
  CustomerSharedSchema: {
36127
36418
  /** Phone1 */
@@ -36334,6 +36625,8 @@ export interface components {
36334
36625
  * @default []
36335
36626
  */
36336
36627
  promotionsAndOffers: components["schemas"]["PromotionsAndOffersSharedSchema"][];
36628
+ /** @description Applicable commission level for this line item. */
36629
+ commission?: components["schemas"]["CommissionLevelSharedSchema"] | null;
36337
36630
  };
36338
36631
  /** POSInvoiceSchema */
36339
36632
  POSInvoiceSchema: {
@@ -36364,6 +36657,9 @@ export interface components {
36364
36657
  barcode: string;
36365
36658
  type: components["schemas"]["InvoiceType"];
36366
36659
  session: components["schemas"]["SessionSummarySchema"];
36660
+ salesPerson?: components["schemas"]["SalesPersonSharedSchema"] | null;
36661
+ /** @description Applicable commission level for this invoice. */
36662
+ commission?: components["schemas"]["CommissionLevelSharedSchema"] | null;
36367
36663
  relatedInvoice?: components["schemas"]["PosInvoiceSummarySchema"] | null;
36368
36664
  giftReceipt?: components["schemas"]["GiftReceiptSummarySchema"] | null;
36369
36665
  /**
@@ -36624,6 +36920,7 @@ export interface components {
36624
36920
  /** Enddate */
36625
36921
  endDate?: string | null;
36626
36922
  status: components["schemas"]["SessionStatus"];
36923
+ defaultSalesPerson?: components["schemas"]["SalesPersonSharedSchema"] | null;
36627
36924
  };
36628
36925
  /** GiftReceiptItemSchema */
36629
36926
  GiftReceiptItemSchema: {
@@ -43635,6 +43932,11 @@ export interface components {
43635
43932
  dueDate?: string | null;
43636
43933
  status: components["schemas"]["DocumentStatusValue"];
43637
43934
  approvalStatus: components["schemas"]["ApprovalChoices"];
43935
+ /**
43936
+ * @description landedCost when the invoice includes a service item with a landed cost expense category; otherwise regular.
43937
+ * @default regular
43938
+ */
43939
+ invoiceType: components["schemas"]["PurchaseInvoiceTypeSchema"];
43638
43940
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
43639
43941
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
43640
43942
  /** Usdrate */
@@ -43871,7 +44173,35 @@ export interface components {
43871
44173
  quantityReturnedOrder?: number;
43872
44174
  /** Quantityreturnedinvoice */
43873
44175
  quantityReturnedInvoice?: number;
44176
+ /**
44177
+ * Landedcostremainingamount
44178
+ * @description Bill line amount still available for LCA (supplier currency).
44179
+ */
44180
+ landedCostRemainingAmount?: string | null;
44181
+ /**
44182
+ * Primarylandedcostremainingamount
44183
+ * @description Bill line amount still available for LCA (company currency). Only present when item.expenseCategory is set.
44184
+ * Decreases when LCAs are **submitted**, **posted**, or **sent**. Draft LCAs do not reduce this value.
44185
+ * Use with `isLandedCostAllocated` to show [LCA] action on PI detail.
44186
+ */
44187
+ primaryLandedCostRemainingAmount?: string | null;
44188
+ /**
44189
+ * Secondarylandedcostremainingamount
44190
+ * @description Bill line amount still available for LCA (secondary currency).
44191
+ */
44192
+ secondaryLandedCostRemainingAmount?: string | null;
44193
+ /**
44194
+ * Islandedcostallocated
44195
+ * @description True when primaryLandedCostRemainingAmount is zero (fully allocated via posted LCAs).
44196
+ * @default false
44197
+ */
44198
+ isLandedCostAllocated: boolean;
43874
44199
  };
44200
+ /**
44201
+ * PurchaseInvoiceTypeSchema
44202
+ * @enum {string}
44203
+ */
44204
+ PurchaseInvoiceTypeSchema: "regular" | "landedCost";
43875
44205
  /** PurchaseOrderSharedSchema */
43876
44206
  PurchaseOrderSharedSchema: {
43877
44207
  /**
@@ -44473,7 +44803,7 @@ export interface components {
44473
44803
  * TypeSchema
44474
44804
  * @enum {string}
44475
44805
  */
44476
- TypeSchema: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote";
44806
+ TypeSchema: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote" | "landedCostAllocation";
44477
44807
  /** PurchaseInvoiceDetailSchema */
44478
44808
  PurchaseInvoiceDetailSchema: {
44479
44809
  /**
@@ -44556,6 +44886,11 @@ export interface components {
44556
44886
  dueDate?: string | null;
44557
44887
  status: components["schemas"]["DocumentStatusValue"];
44558
44888
  approvalStatus: components["schemas"]["ApprovalChoices"];
44889
+ /**
44890
+ * @description landedCost when the invoice includes a service item with a landed cost expense category; otherwise regular.
44891
+ * @default regular
44892
+ */
44893
+ invoiceType: components["schemas"]["PurchaseInvoiceTypeSchema"];
44559
44894
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
44560
44895
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
44561
44896
  /** Usdrate */
@@ -44788,6 +45123,11 @@ export interface components {
44788
45123
  dueDate?: string | null;
44789
45124
  status: components["schemas"]["DocumentStatusValue"];
44790
45125
  approvalStatus: components["schemas"]["ApprovalChoices"];
45126
+ /**
45127
+ * @description landedCost when the invoice includes a service item with a landed cost expense category; otherwise regular.
45128
+ * @default regular
45129
+ */
45130
+ invoiceType: components["schemas"]["PurchaseInvoiceTypeSchema"];
44791
45131
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
44792
45132
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
44793
45133
  /** Usdrate */
@@ -45292,6 +45632,560 @@ export interface components {
45292
45632
  /** Password */
45293
45633
  password: string | null;
45294
45634
  };
45635
+ /** LandedCostAllocationListSchema */
45636
+ LandedCostAllocationListSchema: {
45637
+ info: components["schemas"]["PageInfoSchema"];
45638
+ /** Results */
45639
+ results: components["schemas"]["LandedCostAllocationSummarySchema"][];
45640
+ };
45641
+ /** LandedCostAllocationSummarySchema */
45642
+ LandedCostAllocationSummarySchema: {
45643
+ /**
45644
+ * Datecreated
45645
+ * Format: date-time
45646
+ */
45647
+ dateCreated: string;
45648
+ /** Datemodified */
45649
+ dateModified: string | null;
45650
+ createdBy: components["schemas"]["RecordUserSchema"];
45651
+ modifiedBy: components["schemas"]["RecordUserSchema"] | null;
45652
+ /**
45653
+ * Id
45654
+ * Format: uuid
45655
+ */
45656
+ id: string;
45657
+ /**
45658
+ * Serialnumber
45659
+ * @description Document number, e.g. LCA-HQR-2026-1.
45660
+ */
45661
+ serialNumber: string;
45662
+ branch: components["schemas"]["BranchSummaryInfo"];
45663
+ /**
45664
+ * Date
45665
+ * Format: date
45666
+ */
45667
+ date: string;
45668
+ /**
45669
+ * Totalamount
45670
+ * @description Sum of line allocated amounts (supplier currency).
45671
+ */
45672
+ totalAmount: string;
45673
+ /**
45674
+ * Primarytotalamount
45675
+ * @description Sum of line primary allocated amounts.
45676
+ */
45677
+ primaryTotalAmount: string;
45678
+ /**
45679
+ * Secondarytotalamount
45680
+ * @description Sum of line secondary allocated amounts.
45681
+ */
45682
+ secondaryTotalAmount: string;
45683
+ status: components["schemas"]["DocumentStatusValue"];
45684
+ approvalStatus: components["schemas"]["ApprovalValueChoices"];
45685
+ /** Description */
45686
+ description?: string | null;
45687
+ /** Notes */
45688
+ notes?: string | null;
45689
+ };
45690
+ /** ExpenseCategoryAccount */
45691
+ ExpenseCategoryAccount: {
45692
+ /** Id */
45693
+ id: number;
45694
+ /** Name */
45695
+ name: string;
45696
+ /** Accountnumber */
45697
+ accountNumber: string;
45698
+ };
45699
+ /** GoodsReceiptNoteItemSummarySchema */
45700
+ GoodsReceiptNoteItemSummarySchema: {
45701
+ /**
45702
+ * Id
45703
+ * Format: uuid
45704
+ */
45705
+ id: string;
45706
+ item: components["schemas"]["LcaDocumentLineItemInfoSchema"];
45707
+ /** Quantityreceived */
45708
+ quantityReceived: number;
45709
+ goodsReceiptNote: components["schemas"]["GoodsReceiptNoteSharedSchema"];
45710
+ };
45711
+ /** GoodsReceiptNoteLcaSummarySchema */
45712
+ GoodsReceiptNoteLcaSummarySchema: {
45713
+ /**
45714
+ * Id
45715
+ * Format: uuid
45716
+ */
45717
+ id: string;
45718
+ /** Serialnumber */
45719
+ serialNumber: string;
45720
+ /**
45721
+ * Items
45722
+ * @description GRN lines referenced by this allocation.
45723
+ */
45724
+ items?: components["schemas"]["LcaDocumentLineItemSummarySchema"][];
45725
+ };
45726
+ /** GoodsReceiptNoteSharedSchema */
45727
+ GoodsReceiptNoteSharedSchema: {
45728
+ /**
45729
+ * Id
45730
+ * Format: uuid
45731
+ */
45732
+ id: string;
45733
+ /** Serialnumber */
45734
+ serialNumber: string;
45735
+ };
45736
+ /** LandedCostAllocationDetailSchema */
45737
+ LandedCostAllocationDetailSchema: {
45738
+ /**
45739
+ * Datecreated
45740
+ * Format: date-time
45741
+ */
45742
+ dateCreated: string;
45743
+ /** Datemodified */
45744
+ dateModified: string | null;
45745
+ createdBy: components["schemas"]["RecordUserSchema"];
45746
+ modifiedBy: components["schemas"]["RecordUserSchema"] | null;
45747
+ /**
45748
+ * Id
45749
+ * Format: uuid
45750
+ */
45751
+ id: string;
45752
+ /**
45753
+ * Serialnumber
45754
+ * @description Document number, e.g. LCA-HQR-2026-1.
45755
+ */
45756
+ serialNumber: string;
45757
+ branch: components["schemas"]["BranchSummaryInfo"];
45758
+ /**
45759
+ * Date
45760
+ * Format: date
45761
+ */
45762
+ date: string;
45763
+ /**
45764
+ * Totalamount
45765
+ * @description Sum of line allocated amounts (supplier currency).
45766
+ */
45767
+ totalAmount: string;
45768
+ /**
45769
+ * Primarytotalamount
45770
+ * @description Sum of line primary allocated amounts.
45771
+ */
45772
+ primaryTotalAmount: string;
45773
+ /**
45774
+ * Secondarytotalamount
45775
+ * @description Sum of line secondary allocated amounts.
45776
+ */
45777
+ secondaryTotalAmount: string;
45778
+ status: components["schemas"]["DocumentStatusValue"];
45779
+ approvalStatus: components["schemas"]["ApprovalValueChoices"];
45780
+ /** Description */
45781
+ description?: string | null;
45782
+ /** Notes */
45783
+ notes?: string | null;
45784
+ /**
45785
+ * Goodsreceiptnotes
45786
+ * @description Distinct GRNs referenced by allocation lines (supports multi-GRN documents).
45787
+ */
45788
+ goodsReceiptNotes?: components["schemas"]["GoodsReceiptNoteLcaSummarySchema"][];
45789
+ /**
45790
+ * Purchaseinvoices
45791
+ * @description Distinct purchase invoices referenced by allocation lines.
45792
+ */
45793
+ purchaseInvoices?: components["schemas"]["PurchaseInvoiceLcaSummarySchema"][];
45794
+ /** Items */
45795
+ items: components["schemas"]["LandedCostAllocationItemDetailSchema"][];
45796
+ };
45797
+ /** LandedCostAllocationItemDetailSchema */
45798
+ LandedCostAllocationItemDetailSchema: {
45799
+ /**
45800
+ * Id
45801
+ * @description Present on saved documents; null in calculate preview.
45802
+ */
45803
+ id?: string | null;
45804
+ purchaseInvoiceItem: components["schemas"]["PurchaseInvoiceItemSummarySchema"];
45805
+ goodsReceiptNoteItem: components["schemas"]["GoodsReceiptNoteItemSummarySchema"];
45806
+ allocationMethod: components["schemas"]["LandedCostAllocationMethod"];
45807
+ category: components["schemas"]["LandedCostCategorySummarySchema"];
45808
+ /** Allocatedamount */
45809
+ allocatedAmount: string;
45810
+ /** Primaryallocatedamount */
45811
+ primaryAllocatedAmount: string;
45812
+ /** Secondaryallocatedamount */
45813
+ secondaryAllocatedAmount: string;
45814
+ };
45815
+ /**
45816
+ * LandedCostAllocationMethod
45817
+ * @enum {string}
45818
+ */
45819
+ LandedCostAllocationMethod: "quantity" | "manual";
45820
+ /** LandedCostAllocationResponseSchema */
45821
+ LandedCostAllocationResponseSchema: {
45822
+ /** Message */
45823
+ message: string;
45824
+ /**
45825
+ * Code
45826
+ * @description e.g. landedCostAllocationCreated, landedCostAllocationUpdated
45827
+ */
45828
+ code: string;
45829
+ data: components["schemas"]["LandedCostAllocationDetailSchema"];
45830
+ };
45831
+ /** LandedCostCategorySummarySchema */
45832
+ LandedCostCategorySummarySchema: {
45833
+ /**
45834
+ * Id
45835
+ * Format: uuid
45836
+ */
45837
+ id: string;
45838
+ /** Name */
45839
+ name: string;
45840
+ /** Islandedcost */
45841
+ isLandedCost: boolean;
45842
+ /** @description GL clearing account (informational; GL posting not active yet). */
45843
+ clearingAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
45844
+ /** @description GL variance account (informational; GL posting not active yet). */
45845
+ varianceAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
45846
+ };
45847
+ /** LcaDocumentLineItemInfoSchema */
45848
+ LcaDocumentLineItemInfoSchema: {
45849
+ /** Id */
45850
+ id?: string | null;
45851
+ /** Name */
45852
+ name: string;
45853
+ unitOfMeasure?: components["schemas"]["UnitOfMeasureSummaryInfo"] | null;
45854
+ expenseCategory?: components["schemas"]["ItemExpenseCategorySchema"] | null;
45855
+ };
45856
+ /** LcaDocumentLineItemSummarySchema */
45857
+ LcaDocumentLineItemSummarySchema: {
45858
+ /**
45859
+ * Id
45860
+ * Format: uuid
45861
+ */
45862
+ id: string;
45863
+ item: components["schemas"]["LcaDocumentLineItemInfoSchema"];
45864
+ /**
45865
+ * Landedcostremainingamount
45866
+ * @description Bill line amount still available for LCA (supplier currency). Present on purchase invoice lines only.
45867
+ */
45868
+ landedCostRemainingAmount?: string | null;
45869
+ /**
45870
+ * Primarylandedcostremainingamount
45871
+ * @description Bill line amount still available for LCA (company currency). Present on purchase invoice lines only.
45872
+ */
45873
+ primaryLandedCostRemainingAmount?: string | null;
45874
+ /**
45875
+ * Secondarylandedcostremainingamount
45876
+ * @description Bill line amount still available for LCA (secondary currency). Present on purchase invoice lines only.
45877
+ */
45878
+ secondaryLandedCostRemainingAmount?: string | null;
45879
+ };
45880
+ /** PurchaseInvoiceItemSummarySchema */
45881
+ PurchaseInvoiceItemSummarySchema: {
45882
+ /**
45883
+ * Id
45884
+ * Format: uuid
45885
+ */
45886
+ id: string;
45887
+ item: components["schemas"]["LcaDocumentLineItemInfoSchema"];
45888
+ purchaseInvoice: components["schemas"]["PurchaseInvoiceSharedSchema"];
45889
+ supplier?: components["schemas"]["ChildSupplierSharedSchema"] | null;
45890
+ };
45891
+ /** PurchaseInvoiceLcaSummarySchema */
45892
+ PurchaseInvoiceLcaSummarySchema: {
45893
+ /**
45894
+ * Id
45895
+ * Format: uuid
45896
+ */
45897
+ id: string;
45898
+ /** Serialnumber */
45899
+ serialNumber: string;
45900
+ /**
45901
+ * Items
45902
+ * @description Purchase invoice lines referenced by this allocation.
45903
+ */
45904
+ items?: components["schemas"]["LcaDocumentLineItemSummarySchema"][];
45905
+ };
45906
+ /** PurchaseInvoiceSharedSchema */
45907
+ PurchaseInvoiceSharedSchema: {
45908
+ /**
45909
+ * Id
45910
+ * Format: uuid
45911
+ */
45912
+ id: string;
45913
+ /** Serialnumber */
45914
+ serialNumber: string;
45915
+ };
45916
+ /**
45917
+ * ChangedFieldsVersionThree
45918
+ * @enum {string}
45919
+ */
45920
+ ChangedFieldsVersionThree: "amount" | "primaryAmount" | "secondaryAmount" | "primaryRate" | "secondaryRate" | "accountNumber";
45921
+ /** LandedCostAllocationCreateSchema */
45922
+ LandedCostAllocationCreateSchema: {
45923
+ /** Password */
45924
+ password?: string | null;
45925
+ /**
45926
+ * Date
45927
+ * Format: date
45928
+ * @description Allocation document date (YYYY-MM-DD). Used for fiscal year and transaction locking.
45929
+ */
45930
+ date: string;
45931
+ /**
45932
+ * Items
45933
+ * @description Allocation grid rows linking one bill line to one GRN inventory line.
45934
+ * Each row includes `allocationMethod` (`manual` | `quantity`).
45935
+ * Build the grid by crossing selected bills (PI lines) with selected GRN item lines.
45936
+ * At least one row is required. Rows can reference multiple GRNs.
45937
+ */
45938
+ items: components["schemas"]["LandedCostAllocationItemSchema"][];
45939
+ /**
45940
+ * Description
45941
+ * @description Optional header description shown on the document.
45942
+ */
45943
+ description?: string | null;
45944
+ /**
45945
+ * Notes
45946
+ * @description Optional internal notes.
45947
+ */
45948
+ notes?: string | null;
45949
+ /** @description Save as draft or submit for approval. */
45950
+ status: components["schemas"]["DocumentStatusValue"];
45951
+ };
45952
+ /** LandedCostAllocationItemSchema */
45953
+ LandedCostAllocationItemSchema: {
45954
+ /**
45955
+ * Purchaseinvoiceitem
45956
+ * Format: uuid
45957
+ * @description UUID of a **posted purchase invoice line** where the item has a landed cost `expenseCategory`.
45958
+ * Accepts a plain UUID or a summary object with an `id` field when echoing rows from calculate/detail responses.
45959
+ * Load bill lines from: `/api/v1/purchase/invoices/?type=landedCostAllocation&includeItems=true&onlyRemaining=true`.
45960
+ * Each line includes `landedCostRemainingAmount`, `primaryLandedCostRemainingAmount`,
45961
+ * `secondaryLandedCostRemainingAmount`, and `isLandedCostAllocated` (category is on `item.expenseCategory`).
45962
+ */
45963
+ purchaseInvoiceItem: string;
45964
+ /**
45965
+ * Goodsreceiptnoteitem
45966
+ * Format: uuid
45967
+ * @description UUID of an **inventory GRN line** (not a service item) that will receive part of the bill amount.
45968
+ * Accepts a plain UUID or a summary object with an `id` field when echoing rows from calculate/detail responses.
45969
+ * Load eligible GRNs from: `/api/v1/inventory/goods-receipt-notes/?landedCostAllocation=true&filters[0][field]=status&filters[0][value]=submitted&filters[1][field]=approvalStatus&filters[1][value]=approved&filters[1][value]=not_required` and use item line ids from the selected GRN(s).
45970
+ * Multiple lines may belong to **different GRNs** in the same allocation.
45971
+ */
45972
+ goodsReceiptNoteItem: string;
45973
+ /**
45974
+ * @description How this row's amount is determined:
45975
+ * - **manual** (default): send `allocatedAmount` for this row.
45976
+ * - **quantity**: omit `allocatedAmount`; backend splits the bill line's available remaining across all GRN rows sharing the same `purchaseInvoiceItem` with `allocationMethod = quantity`, weighted by `quantityReceived`.
45977
+ * All rows for the same bill line must use the same method.
45978
+ * @default manual
45979
+ */
45980
+ allocationMethod: components["schemas"]["LandedCostAllocationMethod"];
45981
+ /**
45982
+ * Allocatedamount
45983
+ * @description Allocated amount in supplier currency. Send any one of allocatedAmount, primaryAllocatedAmount,
45984
+ * or secondaryAllocatedAmount together with changedField; the system calculates the other two.
45985
+ * - **manual**: required on create/update (any one currency field).
45986
+ * - **quantity**: omit; backend splits available remaining in company currency across GRN lines.
45987
+ * Use POST /api/v1/purchase/landed-cost-allocations/calculate-allocation/ to preview before save.
45988
+ */
45989
+ allocatedAmount?: string | null;
45990
+ /**
45991
+ * Primaryallocatedamount
45992
+ * @description Allocated amount in company currency. Use with changedField when entering in primary currency.
45993
+ */
45994
+ primaryAllocatedAmount?: string | null;
45995
+ /**
45996
+ * Secondaryallocatedamount
45997
+ * @description Allocated amount in secondary currency. Use with changedField when entering in secondary currency.
45998
+ */
45999
+ secondaryAllocatedAmount?: string | null;
46000
+ /** @description Which amount field the user edited: amount (supplier), primaryAmount, or secondaryAmount. */
46001
+ changedField?: components["schemas"]["ChangedFieldsVersionThree"] | null;
46002
+ };
46003
+ /** LandedCostAllocationCalculateResponseSchema */
46004
+ LandedCostAllocationCalculateResponseSchema: {
46005
+ /**
46006
+ * Items
46007
+ * @description Preview grid rows — same shape as `items` on GET/create/update allocation responses.
46008
+ */
46009
+ items: components["schemas"]["LandedCostAllocationItemDetailSchema"][];
46010
+ /**
46011
+ * Billsummaries
46012
+ * @description Per-category/bill-line totals for balance indicators in the UI footer.
46013
+ */
46014
+ billSummaries: components["schemas"]["LandedCostBillSummarySchema"][];
46015
+ /**
46016
+ * Totalamount
46017
+ * @description Sum of supplier-currency allocated amounts.
46018
+ */
46019
+ totalAmount: string;
46020
+ /**
46021
+ * Primarytotalamount
46022
+ * @description Sum of company-currency allocated amounts.
46023
+ */
46024
+ primaryTotalAmount: string;
46025
+ /**
46026
+ * Secondarytotalamount
46027
+ * @description Sum of secondary-currency allocated amounts.
46028
+ */
46029
+ secondaryTotalAmount: string;
46030
+ };
46031
+ /** LandedCostBillSummarySchema */
46032
+ LandedCostBillSummarySchema: {
46033
+ /**
46034
+ * Purchaseinvoiceitemid
46035
+ * Format: uuid
46036
+ * @description Bill line id — one summary row per distinct bill line in the grid.
46037
+ */
46038
+ purchaseInvoiceItemId: string;
46039
+ /**
46040
+ * Purchaseinvoiceserial
46041
+ * @description PI number.
46042
+ */
46043
+ purchaseInvoiceSerial: string;
46044
+ /** Categoryid */
46045
+ categoryId?: string | null;
46046
+ /**
46047
+ * Categoryname
46048
+ * @description Category column header in the allocation grid.
46049
+ */
46050
+ categoryName?: string | null;
46051
+ /**
46052
+ * Itemname
46053
+ * @description Service item name on the bill.
46054
+ */
46055
+ itemName: string;
46056
+ /**
46057
+ * Billlineamount
46058
+ * @description Total bill line amount in company currency.
46059
+ */
46060
+ billLineAmount: string;
46061
+ /** Allocatedamount */
46062
+ allocatedAmount: string;
46063
+ /** Primaryallocatedamount */
46064
+ primaryAllocatedAmount: string;
46065
+ /** Secondaryallocatedamount */
46066
+ secondaryAllocatedAmount: string;
46067
+ /** Availableamount */
46068
+ availableAmount: string;
46069
+ /** Primaryavailableamount */
46070
+ primaryAvailableAmount: string;
46071
+ /** Secondaryavailableamount */
46072
+ secondaryAvailableAmount: string;
46073
+ /** Remainingafterallocation */
46074
+ remainingAfterAllocation: string;
46075
+ /** Primaryremainingafterallocation */
46076
+ primaryRemainingAfterAllocation: string;
46077
+ /** Secondaryremainingafterallocation */
46078
+ secondaryRemainingAfterAllocation: string;
46079
+ };
46080
+ /** LandedCostAllocationCalculateSchema */
46081
+ LandedCostAllocationCalculateSchema: {
46082
+ /**
46083
+ * Items
46084
+ * @description Same shape as create/update items (including per-row `allocationMethod`). Does not persist anything.
46085
+ */
46086
+ items: components["schemas"]["LandedCostAllocationItemSchema"][];
46087
+ /**
46088
+ * Landedcostallocationid
46089
+ * @description When editing an existing **draft** LCA, pass its id so available remaining excludes this document's current draft lines.
46090
+ * Omit on new documents.
46091
+ */
46092
+ landedCostAllocationId?: string | null;
46093
+ };
46094
+ /** LandedCostAllocationItemUpdateSchema */
46095
+ LandedCostAllocationItemUpdateSchema: {
46096
+ /**
46097
+ * Purchaseinvoiceitem
46098
+ * Format: uuid
46099
+ * @description UUID of a **posted purchase invoice line** where the item has a landed cost `expenseCategory`.
46100
+ * Accepts a plain UUID or a summary object with an `id` field when echoing rows from calculate/detail responses.
46101
+ * Load bill lines from: `/api/v1/purchase/invoices/?type=landedCostAllocation&includeItems=true&onlyRemaining=true`.
46102
+ * Each line includes `landedCostRemainingAmount`, `primaryLandedCostRemainingAmount`,
46103
+ * `secondaryLandedCostRemainingAmount`, and `isLandedCostAllocated` (category is on `item.expenseCategory`).
46104
+ */
46105
+ purchaseInvoiceItem: string;
46106
+ /**
46107
+ * Goodsreceiptnoteitem
46108
+ * Format: uuid
46109
+ * @description UUID of an **inventory GRN line** (not a service item) that will receive part of the bill amount.
46110
+ * Accepts a plain UUID or a summary object with an `id` field when echoing rows from calculate/detail responses.
46111
+ * Load eligible GRNs from: `/api/v1/inventory/goods-receipt-notes/?landedCostAllocation=true&filters[0][field]=status&filters[0][value]=submitted&filters[1][field]=approvalStatus&filters[1][value]=approved&filters[1][value]=not_required` and use item line ids from the selected GRN(s).
46112
+ * Multiple lines may belong to **different GRNs** in the same allocation.
46113
+ */
46114
+ goodsReceiptNoteItem: string;
46115
+ /**
46116
+ * @description How this row's amount is determined:
46117
+ * - **manual** (default): send `allocatedAmount` for this row.
46118
+ * - **quantity**: omit `allocatedAmount`; backend splits the bill line's available remaining across all GRN rows sharing the same `purchaseInvoiceItem` with `allocationMethod = quantity`, weighted by `quantityReceived`.
46119
+ * All rows for the same bill line must use the same method.
46120
+ * @default manual
46121
+ */
46122
+ allocationMethod: components["schemas"]["LandedCostAllocationMethod"];
46123
+ /**
46124
+ * Allocatedamount
46125
+ * @description Allocated amount in supplier currency. Send any one of allocatedAmount, primaryAllocatedAmount,
46126
+ * or secondaryAllocatedAmount together with changedField; the system calculates the other two.
46127
+ * - **manual**: required on create/update (any one currency field).
46128
+ * - **quantity**: omit; backend splits available remaining in company currency across GRN lines.
46129
+ * Use POST /api/v1/purchase/landed-cost-allocations/calculate-allocation/ to preview before save.
46130
+ */
46131
+ allocatedAmount?: string | null;
46132
+ /**
46133
+ * Primaryallocatedamount
46134
+ * @description Allocated amount in company currency. Use with changedField when entering in primary currency.
46135
+ */
46136
+ primaryAllocatedAmount?: string | null;
46137
+ /**
46138
+ * Secondaryallocatedamount
46139
+ * @description Allocated amount in secondary currency. Use with changedField when entering in secondary currency.
46140
+ */
46141
+ secondaryAllocatedAmount?: string | null;
46142
+ /** @description Which amount field the user edited: amount (supplier), primaryAmount, or secondaryAmount. */
46143
+ changedField?: components["schemas"]["ChangedFieldsVersionThree"] | null;
46144
+ /**
46145
+ * Id
46146
+ * @description Existing line id when updating a draft LCA; omit for new rows.
46147
+ */
46148
+ id?: string | null;
46149
+ };
46150
+ /** LandedCostAllocationUpdateSchema */
46151
+ LandedCostAllocationUpdateSchema: {
46152
+ /** Password */
46153
+ password?: string | null;
46154
+ /**
46155
+ * Date
46156
+ * Format: date
46157
+ * @description Document date (YYYY-MM-DD). Only allowed while status is draft.
46158
+ */
46159
+ date: string;
46160
+ /**
46161
+ * Items
46162
+ * @description Full allocation grid. Include `id` on existing rows to update in place; omit `id` for new rows.
46163
+ * Rows not sent are removed. Each row has its own `allocationMethod`.
46164
+ */
46165
+ items: components["schemas"]["LandedCostAllocationItemUpdateSchema"][];
46166
+ /** Description */
46167
+ description?: string | null;
46168
+ /** Notes */
46169
+ notes?: string | null;
46170
+ /** @description Save as draft or submit for approval. */
46171
+ status: components["schemas"]["DocumentStatusValue"];
46172
+ };
46173
+ /** LandedCostAllocationDeleteSchema */
46174
+ LandedCostAllocationDeleteSchema: {
46175
+ /**
46176
+ * Password
46177
+ * @default
46178
+ */
46179
+ password: string | null;
46180
+ };
46181
+ /** LandedCostAllocationActionsSchema */
46182
+ LandedCostAllocationActionsSchema: {
46183
+ /**
46184
+ * Password
46185
+ * @default
46186
+ */
46187
+ password: string | null;
46188
+ };
45295
46189
  /** PaymentVoucherCalculateTotalResponse */
45296
46190
  PaymentVoucherCalculateTotalResponse: {
45297
46191
  /**
@@ -45962,6 +46856,11 @@ export interface components {
45962
46856
  dueDate?: string | null;
45963
46857
  status: components["schemas"]["DocumentStatusValue"];
45964
46858
  approvalStatus: components["schemas"]["ApprovalChoices"];
46859
+ /**
46860
+ * @description landedCost when the invoice includes a service item with a landed cost expense category; otherwise regular.
46861
+ * @default regular
46862
+ */
46863
+ invoiceType: components["schemas"]["PurchaseInvoiceTypeSchema"];
45965
46864
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
45966
46865
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
45967
46866
  /** Usdrate */
@@ -46724,6 +47623,29 @@ export interface components {
46724
47623
  /** Items */
46725
47624
  items: components["schemas"]["CalculatePurchaseReturnInvoiceItemsSchema"][];
46726
47625
  };
47626
+ /** GoodsReceiptNoteItemLandedCostAllocationSchema */
47627
+ GoodsReceiptNoteItemLandedCostAllocationSchema: {
47628
+ /**
47629
+ * Id
47630
+ * Format: uuid
47631
+ * @description Landed cost allocation line id.
47632
+ */
47633
+ id: string;
47634
+ landedCostAllocation: components["schemas"]["LandedCostAllocationMinimalSchema"];
47635
+ /** Categoryname */
47636
+ categoryName: string;
47637
+ allocationMethod: components["schemas"]["LandedCostAllocationMethod"];
47638
+ /**
47639
+ * Primaryallocatedamount
47640
+ * @description Allocated amount in company currency.
47641
+ */
47642
+ primaryAllocatedAmount: string;
47643
+ /**
47644
+ * Purchaseinvoiceserial
47645
+ * @description Purchase invoice that supplied the landed cost amount.
47646
+ */
47647
+ purchaseInvoiceSerial: string;
47648
+ };
46727
47649
  /** GoodsReceiptNoteItemTrackingSchema */
46728
47650
  GoodsReceiptNoteItemTrackingSchema: {
46729
47651
  /**
@@ -46775,6 +47697,12 @@ export interface components {
46775
47697
  * @default []
46776
47698
  */
46777
47699
  tracking: components["schemas"]["GoodsReceiptNoteItemTrackingSchema"][];
47700
+ /**
47701
+ * Landedcostallocations
47702
+ * @description Finalized LCAs applied to this GRN line. Always included on GET; on list, present when `landedCostAllocation=true`.
47703
+ * @default []
47704
+ */
47705
+ landedCostAllocations: components["schemas"]["GoodsReceiptNoteItemLandedCostAllocationSchema"][];
46778
47706
  };
46779
47707
  /** GoodsReceiptNoteSchema */
46780
47708
  GoodsReceiptNoteSchema: {
@@ -46860,8 +47788,8 @@ export interface components {
46860
47788
  /** Allownegativestock */
46861
47789
  allowNegativeStock: boolean;
46862
47790
  };
46863
- /** PurchaseInvoiceSharedSchema */
46864
- PurchaseInvoiceSharedSchema: {
47791
+ /** LandedCostAllocationMinimalSchema */
47792
+ LandedCostAllocationMinimalSchema: {
46865
47793
  /**
46866
47794
  * Id
46867
47795
  * Format: uuid
@@ -47057,18 +47985,6 @@ export interface components {
47057
47985
  */
47058
47986
  cost: number;
47059
47987
  };
47060
- /** RelatedPartyInfo */
47061
- RelatedPartyInfo: {
47062
- /** Id */
47063
- id: number | string;
47064
- /** Name */
47065
- name: string;
47066
- /** Accountnumber */
47067
- accountNumber: string;
47068
- currency: components["schemas"]["CurrencySummaryInfo"];
47069
- /** Banks */
47070
- banks: components["schemas"]["BankAccountsSharedSchema"][];
47071
- };
47072
47988
  /**
47073
47989
  * RelatedPartyType
47074
47990
  * @enum {string}
@@ -48278,17 +49194,6 @@ export interface components {
48278
49194
  code: string;
48279
49195
  data: components["schemas"]["ClosingCommissionDetailWithInvoicesSchema"];
48280
49196
  };
48281
- /** SalesPersonSharedSchema */
48282
- SalesPersonSharedSchema: {
48283
- /**
48284
- * Id
48285
- * Format: uuid
48286
- */
48287
- id: string;
48288
- /** Name */
48289
- name: string;
48290
- relatedParty: components["schemas"]["RelatedPartyInfo"];
48291
- };
48292
49197
  /** CreateClosingCommission */
48293
49198
  CreateClosingCommission: {
48294
49199
  /** Password */
@@ -49029,7 +49934,7 @@ export interface components {
49029
49934
  * CommissionCalculation
49030
49935
  * @enum {string}
49031
49936
  */
49032
- CommissionCalculation: "billed" | "received";
49937
+ CommissionCalculation: "onBilling" | "onCollection";
49033
49938
  /** CommissionDetailWithLevelsSchema */
49034
49939
  CommissionDetailWithLevelsSchema: {
49035
49940
  /**
@@ -49061,7 +49966,6 @@ export interface components {
49061
49966
  */
49062
49967
  files: string[];
49063
49968
  calculation: components["schemas"]["CommissionCalculation"];
49064
- structure: components["schemas"]["CommissionStructureEnum"];
49065
49969
  /**
49066
49970
  * Startdate
49067
49971
  * Format: date
@@ -49078,6 +49982,11 @@ export interface components {
49078
49982
  /** Commissionlevels */
49079
49983
  commissionLevels: components["schemas"]["CommissionLevelsDetailSchema"][];
49080
49984
  };
49985
+ /**
49986
+ * CommissionLevelCalculation
49987
+ * @enum {string}
49988
+ */
49989
+ CommissionLevelCalculation: "netSale" | "profitMargin";
49081
49990
  /** CommissionLevelsDetailSchema */
49082
49991
  CommissionLevelsDetailSchema: {
49083
49992
  /**
@@ -49085,15 +49994,20 @@ export interface components {
49085
49994
  * Format: uuid
49086
49995
  */
49087
49996
  id: string;
49997
+ structure: components["schemas"]["CommissionStructureEnum"];
49998
+ commissionCalculation: components["schemas"]["CommissionLevelCalculation"];
49088
49999
  /** Products */
49089
50000
  products: components["schemas"]["ItemSummaryInfo"][];
49090
50001
  /** Categories */
49091
50002
  categories: components["schemas"]["ItemCategorySummaryInfo"][];
50003
+ /** Brands */
50004
+ brands: components["schemas"]["CommonBrandSchema"][];
50005
+ /** Families */
50006
+ families: components["schemas"]["CommonFamilySchema"][];
49092
50007
  /** Customer Groups */
49093
50008
  customer_groups: components["schemas"]["ContactSegmentationSharedSchema"][];
49094
50009
  /** Customers */
49095
50010
  customers: components["schemas"]["AccountSummaryInfo"][];
49096
- paymentMethod: components["schemas"]["PaymentMethodSharedSchema"] | null;
49097
50011
  /** Commissionvalue */
49098
50012
  commissionValue: number;
49099
50013
  /** Salesvolumevalue */
@@ -49116,7 +50030,7 @@ export interface components {
49116
50030
  * CommissionStructureEnum
49117
50031
  * @enum {string}
49118
50032
  */
49119
- CommissionStructureEnum: "fixed" | "category" | "tiered" | "productBased" | "paymentBased";
50033
+ CommissionStructureEnum: "fixed" | "tiered" | "product" | "category" | "family" | "brand";
49120
50034
  /** ItemCategorySummaryInfo */
49121
50035
  ItemCategorySummaryInfo: {
49122
50036
  /**
@@ -49129,9 +50043,9 @@ export interface components {
49129
50043
  };
49130
50044
  /**
49131
50045
  * SalesTierType
49132
- * @enum {string}
50046
+ * @constant
49133
50047
  */
49134
- SalesTierType: "upTo" | "above";
50048
+ SalesTierType: "above";
49135
50049
  /**
49136
50050
  * TargetPeriod
49137
50051
  * @enum {string}
@@ -49139,6 +50053,22 @@ export interface components {
49139
50053
  TargetPeriod: "weekly" | "monthly" | "quarterly" | "biAnnual" | "annual";
49140
50054
  /** CreateCommissionLevels */
49141
50055
  CreateCommissionLevels: {
50056
+ /**
50057
+ * @description In all structures user should specify commission value
50058
+ * - if structure is product user should select item(s)
50059
+ * - if structure is tiered user should select salesTierType -> salesVolumeValue -> currency
50060
+ * - if structure is category user should select category
50061
+ * - if structure is brand user should select brand(s)
50062
+ * - if structure is family user should select family(ies)
50063
+ * Note that if inventory off allowed structures are fixed and tiered with salesVolumeValue and its related fields
50064
+ */
50065
+ structure: components["schemas"]["CommissionStructureEnum"];
50066
+ /**
50067
+ * @description - Net Sales: Commission is calculated on the item price after discount, excluding tax and cost.
50068
+ * - Profit Margin: Commission is calculated on the profit of each item, after deducting both the discount and the cost of goods sold (COGS).
50069
+ * @default netSale
50070
+ */
50071
+ commissionCalculation: components["schemas"]["CommissionLevelCalculation"];
49142
50072
  /**
49143
50073
  * Commissionvalue
49144
50074
  * @description if commissionValueType is percentage, commissionValue should be greater than zero and less than or equal 100
@@ -49146,34 +50076,52 @@ export interface components {
49146
50076
  commissionValue: number;
49147
50077
  /**
49148
50078
  * Salesvolumevalue
49149
- * @description visible when structure = tiered, required when salesTierType exist
50079
+ * @description visible when structure = tiered, required when structure = tiered
49150
50080
  */
49151
50081
  salesVolumeValue?: number;
49152
50082
  /**
49153
50083
  * Currency
49154
50084
  * Format: uuid
49155
- * @description currency id, visible when structure = tiered, required when salesTierType exist
50085
+ * @description currency id, visible when structure = tiered, required when structure = tiered
49156
50086
  */
49157
50087
  currency?: string;
49158
50088
  /** @description visible when structure = tiered */
49159
50089
  salesTierType?: components["schemas"]["SalesTierType"];
49160
50090
  /**
49161
50091
  * Products
49162
- * @description - visible when structure is productBased
50092
+ * @description - visible when structure is product
49163
50093
  * - to get products use route /api/v1/inventory/items/ and filter by active=true
49164
50094
  * - product should be unique across commission levels
49165
50095
  * @default []
49166
50096
  */
49167
- products: number[];
50097
+ products: string[];
49168
50098
  /**
49169
50099
  * Categories
49170
- * @description - visible when structure is category or productBased or tiered
50100
+ * @description - visible when structure is category
49171
50101
  * - required when structure is category
49172
50102
  * - to get categories use route /api/v1/inventory/categories?type=item'
49173
50103
  * - category should be unique across commission levels
49174
50104
  * @default []
49175
50105
  */
49176
50106
  categories: string[];
50107
+ /**
50108
+ * Brands
50109
+ * @description - visible when structure is brand
50110
+ * - required when structure is brand
50111
+ * - to get brands use route /api/v1/inventory/brands/
50112
+ * - brand should be unique across commission levels
50113
+ * @default []
50114
+ */
50115
+ brands: string[];
50116
+ /**
50117
+ * Families
50118
+ * @description - visible when structure is family
50119
+ * - required when structure is family
50120
+ * - to get families use route /api/v1/inventory/families/
50121
+ * - family should be unique across commission levels
50122
+ * @default []
50123
+ */
50124
+ families: string[];
49177
50125
  /**
49178
50126
  * Customergroups
49179
50127
  * @description both customers and customerGroups can be left empty to include all active debtor child customers
@@ -49191,12 +50139,6 @@ export interface components {
49191
50139
  * @default []
49192
50140
  */
49193
50141
  customers: string[];
49194
- /**
49195
- * Paymentmethod
49196
- * Format: uuid
49197
- * @description visible and required when structure = paymentBased, to get payment methods use route /api/v1/payment-methods/
49198
- */
49199
- paymentMethod?: string;
49200
50142
  /** Target */
49201
50143
  target?: number;
49202
50144
  targetPeriod?: components["schemas"]["TargetPeriod"];
@@ -49226,17 +50168,8 @@ export interface components {
49226
50168
  * @description When upload file the type in payload should be commission
49227
50169
  */
49228
50170
  attachments: string[];
49229
- /** @description when structure is paymentBased, calculation should be billed */
50171
+ /** @description onBilling refers to fully paid invoices and onCollection refers to sales invoices where payment is not tracked */
49230
50172
  calculation: components["schemas"]["CommissionCalculation"];
49231
- /**
49232
- * @description In all structures user should specify commission value and commission value type
49233
- * - if structure is productBased user can select item(s) or categories
49234
- * - if structure is tiered user can select categories or salesTierType -> salesVolumeValue -> currency
49235
- * - if structure is paymentMethod user should select paymentMethod
49236
- * - if structure is category use should select category
49237
- * Note that if inventory off allowed structures are fixed, paymentBased and tiered with salesVolumeValue and its related fields
49238
- */
49239
- structure: components["schemas"]["CommissionStructureEnum"];
49240
50173
  /**
49241
50174
  * Startdate
49242
50175
  * Format: date
@@ -49249,7 +50182,7 @@ export interface components {
49249
50182
  endDate?: string;
49250
50183
  /**
49251
50184
  * Commissionlevels
49252
- * @description when structure is paymentBased or fixed, only one commission level is allowed
50185
+ * @description when structure is fixed, only one commission level is allowed
49253
50186
  */
49254
50187
  commissionLevels?: components["schemas"]["CreateCommissionLevels"][];
49255
50188
  };
@@ -49284,7 +50217,6 @@ export interface components {
49284
50217
  */
49285
50218
  files: string[];
49286
50219
  calculation: components["schemas"]["CommissionCalculation"];
49287
- structure: components["schemas"]["CommissionStructureEnum"];
49288
50220
  /**
49289
50221
  * Startdate
49290
50222
  * Format: date
@@ -49312,24 +50244,35 @@ export interface components {
49312
50244
  * Format: uuid
49313
50245
  */
49314
50246
  id?: string;
50247
+ /**
50248
+ * @description In all structures user should specify commission value
50249
+ * - if structure is product user should select item(s)
50250
+ * - if structure is tiered user should select salesTierType -> salesVolumeValue -> currency
50251
+ * - if structure is category user should select category
50252
+ * - if structure is brand user should select brand(s)
50253
+ * - if structure is family user should select family(ies)
50254
+ */
50255
+ structure: components["schemas"]["CommissionStructureEnum"];
50256
+ /** @default netSale */
50257
+ commissionCalculation: components["schemas"]["CommissionLevelCalculation"];
49315
50258
  /** Commissionvalue */
49316
50259
  commissionValue: number;
49317
50260
  /**
49318
50261
  * Salesvolumevalue
49319
- * @description visible when structure = tiered, required when salesTierType exist
50262
+ * @description visible when structure = tiered, required when structure = tiered
49320
50263
  */
49321
50264
  salesVolumeValue?: number;
49322
50265
  /**
49323
50266
  * Currency
49324
50267
  * Format: uuid
49325
- * @description currency id, visible when structure = tiered, required when salesTierType exist
50268
+ * @description currency id, visible when structure = tiered, required when structure = tiered
49326
50269
  */
49327
50270
  currency?: string;
49328
50271
  /** @description visible when structure = tiered */
49329
50272
  salesTierType?: components["schemas"]["SalesTierType"];
49330
50273
  /**
49331
50274
  * Products
49332
- * @description - visible when structure is productBased
50275
+ * @description - visible when structure is product
49333
50276
  * - to get products use route /api/v1/inventory/items/ and filter by active=true
49334
50277
  * - product should be unique across commission levels
49335
50278
  * @default []
@@ -49337,13 +50280,29 @@ export interface components {
49337
50280
  products: number[];
49338
50281
  /**
49339
50282
  * Categories
49340
- * @description - visible when structure is category or productBased or tiered
50283
+ * @description - visible when structure is category
49341
50284
  * - required when structure is category
49342
50285
  * - to get categories use route /api/v1/inventory/categories?type=item
49343
50286
  * - category should be unique across commission levels
49344
50287
  * @default []
49345
50288
  */
49346
50289
  categories: string[];
50290
+ /**
50291
+ * Brands
50292
+ * @description - visible when structure is brand
50293
+ * - required when structure is brand
50294
+ * - to get brands use route /api/v1/inventory/brands/
50295
+ * @default []
50296
+ */
50297
+ brands: string[];
50298
+ /**
50299
+ * Families
50300
+ * @description - visible when structure is family
50301
+ * - required when structure is family
50302
+ * - to get families use route /api/v1/inventory/families/
50303
+ * @default []
50304
+ */
50305
+ families: string[];
49347
50306
  /**
49348
50307
  * Customergroups
49349
50308
  * @description both customers and customerGroups can be left empty to include all active debtor child customers
@@ -49361,12 +50320,6 @@ export interface components {
49361
50320
  * @default []
49362
50321
  */
49363
50322
  customers: string[];
49364
- /**
49365
- * Paymentmethod
49366
- * Format: uuid
49367
- * @description visible and required when structure = paymentBased, to get payment methods use route /api/v1/payment-methods/
49368
- */
49369
- paymentMethod?: string;
49370
50323
  /** Target */
49371
50324
  target?: number;
49372
50325
  targetPeriod?: components["schemas"]["TargetPeriod"];
@@ -49387,17 +50340,8 @@ export interface components {
49387
50340
  * @description When upload file the type in payload should be commission
49388
50341
  */
49389
50342
  attachments: string[];
49390
- /** @description when structure is paymentBased, calculation should be billed */
50343
+ /** @description onBilling refers to fully paid invoices and onCollection refers to sales invoices where payment is not tracked */
49391
50344
  calculation: components["schemas"]["CommissionCalculation"];
49392
- /**
49393
- * @description In all structures user should specify comiision value and commission value type
49394
- * - if structure is productBased user can select item(s) or categories
49395
- * - if structure is tiered user can select categories or salesTierType -> salesVolumeValue -> currency
49396
- * - if structure is paymentMethod user should select paymentMethod
49397
- * - if structure is category use should select category
49398
- * Note that if inventory off allowed structures are fixed, paymentBased and tiered with salesVolumeValue and its related fields
49399
- */
49400
- structure: components["schemas"]["CommissionStructureEnum"];
49401
50345
  /**
49402
50346
  * Startdate
49403
50347
  * Format: date
@@ -49410,7 +50354,7 @@ export interface components {
49410
50354
  endDate?: string;
49411
50355
  /**
49412
50356
  * Commissionlevels
49413
- * @description when structure is paymentBased or fixed, only one commission level is allowed
50357
+ * @description when structure is fixed, only one commission level is allowed
49414
50358
  */
49415
50359
  commissionLevels?: components["schemas"]["UpdateCommissionLevels"][];
49416
50360
  };
@@ -54953,19 +55897,6 @@ export interface components {
54953
55897
  /** Password */
54954
55898
  password?: string;
54955
55899
  };
54956
- /** CommissionLevelSharedSchema */
54957
- CommissionLevelSharedSchema: {
54958
- /**
54959
- * Id
54960
- * Format: uuid
54961
- */
54962
- id: string;
54963
- /** Name */
54964
- name: string;
54965
- /** Commissionvalue */
54966
- commissionValue: number;
54967
- currency: components["schemas"]["CurrencySummaryInfo"] | null;
54968
- };
54969
55900
  /**
54970
55901
  * OnlineOrderSummarySchema
54971
55902
  * @description Summary of online order linked to a sales invoice
@@ -62552,15 +63483,6 @@ export interface components {
62552
63483
  accountNumber: string;
62553
63484
  currency: components["schemas"]["CurrencySummaryInfo"];
62554
63485
  };
62555
- /** ExpenseCategoryAccount */
62556
- ExpenseCategoryAccount: {
62557
- /** Id */
62558
- id: number;
62559
- /** Name */
62560
- name: string;
62561
- /** Accountnumber */
62562
- accountNumber: string;
62563
- };
62564
63486
  /** ExpenseCategoryDetailSchema */
62565
63487
  ExpenseCategoryDetailSchema: {
62566
63488
  /**
@@ -62579,7 +63501,7 @@ export interface components {
62579
63501
  id: string;
62580
63502
  /** Name */
62581
63503
  name: string;
62582
- expenseAccount: components["schemas"]["ExpenseCategoryAccount"];
63504
+ expenseAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
62583
63505
  prepaidExpenseAccount: components["schemas"]["ExpenseCategoryAccount"] | null;
62584
63506
  deferredExpenseAccount: components["schemas"]["ExpenseCategoryAccount"] | null;
62585
63507
  /** Haslimit */
@@ -62591,6 +63513,12 @@ export interface components {
62591
63513
  preferredSupplier: components["schemas"]["AccountWithCurrencySummaryInfo"] | null;
62592
63514
  /** Isactive */
62593
63515
  isActive: boolean;
63516
+ /** Islandedcost */
63517
+ isLandedCost: boolean;
63518
+ /** @description Present when isLandedCost is true. Subsidiary balance sheet account (account type parent name: Assets, Liabilities, Equity, Others). */
63519
+ landedCostClearingAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
63520
+ /** @description Present when isLandedCost is true. Subsidiary P&L account (account type parent name: Expenses, Income). */
63521
+ landedCostVarianceAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
62594
63522
  /** Notes */
62595
63523
  notes: string | null;
62596
63524
  /** Description */
@@ -62625,10 +63553,11 @@ export interface components {
62625
63553
  name: string;
62626
63554
  /**
62627
63555
  * Expenseaccount
62628
- * @description - expense account id
63556
+ * @description - Expense account id — **required when isLandedCost is false**, optional when isLandedCost is true
63557
+ * - Validation error when required: expenseAccountIsRequired
62629
63558
  * - get accounts using route /api/v1/chart_of_account/?branchId=1&type=expenses
62630
63559
  */
62631
- expenseAccount: number;
63560
+ expenseAccount?: number | null;
62632
63561
  /**
62633
63562
  * Prepaidexpenseaccount
62634
63563
  * @description - prepaid expense account id
@@ -62675,6 +63604,36 @@ export interface components {
62675
63604
  * @default true
62676
63605
  */
62677
63606
  isActive: boolean;
63607
+ /**
63608
+ * Islandedcost
63609
+ * @description When true, this category is used for landed cost allocation on purchase invoice service lines.
63610
+ * When true: landedCostClearingAccount and landedCostVarianceAccount are required; expenseAccount is optional.
63611
+ * When false: expenseAccount is required; landed cost accounts are ignored.
63612
+ * @default false
63613
+ */
63614
+ isLandedCost: boolean;
63615
+ /**
63616
+ * Landedcostclearingaccount
63617
+ * @description Required when isLandedCost is true.
63618
+ * Must be a **Subsidiary** chart of account whose **account type parent name** is one of:
63619
+ * Assets, Liabilities, Equity, Others (balance sheet).
63620
+ * Cannot be the same account as landedCostVarianceAccount.
63621
+ * Validation errors: clearingAccountIsRequired, landedCostClearingAccountShouldBeSubsidiaryAccount,
63622
+ * landedCostClearingAccountMustBeBalanceSheet,
63623
+ * landedCostClearingAccountAndVarianceAccountMustDiffer.
63624
+ */
63625
+ landedCostClearingAccount?: number | null;
63626
+ /**
63627
+ * Landedcostvarianceaccount
63628
+ * @description Required when isLandedCost is true.
63629
+ * Must be a **Subsidiary** chart of account whose **account type parent name** is one of:
63630
+ * Expenses, Income (profit & loss).
63631
+ * Cannot be the same account as landedCostClearingAccount.
63632
+ * Validation errors: varianceAccountIsRequired, landedCostVarianceAccountShouldBeSubsidiaryAccount,
63633
+ * landedCostVarianceAccountMustBeProfitAndLoss,
63634
+ * landedCostClearingAccountAndVarianceAccountMustDiffer
63635
+ */
63636
+ landedCostVarianceAccount?: number | null;
62678
63637
  /** Notes */
62679
63638
  notes?: string;
62680
63639
  /** Description */
@@ -62856,7 +63815,7 @@ export interface components {
62856
63815
  id: string;
62857
63816
  /** Name */
62858
63817
  name: string;
62859
- expenseAccount: components["schemas"]["ExpenseCategoryAccount"];
63818
+ expenseAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
62860
63819
  /** Haslimit */
62861
63820
  hasLimit: boolean;
62862
63821
  /** Limitamount */
@@ -62866,6 +63825,11 @@ export interface components {
62866
63825
  preferredSupplier: components["schemas"]["AccountSummaryInfo"] | null;
62867
63826
  /** Isactive */
62868
63827
  isActive: boolean;
63828
+ /**
63829
+ * Islandedcost
63830
+ * @default false
63831
+ */
63832
+ isLandedCost: boolean;
62869
63833
  };
62870
63834
  /**
62871
63835
  * ExpensePaidByEnum
@@ -63504,11 +64468,6 @@ export interface components {
63504
64468
  /** Password */
63505
64469
  password?: string;
63506
64470
  };
63507
- /**
63508
- * ChangedFieldsVersionThree
63509
- * @enum {string}
63510
- */
63511
- ChangedFieldsVersionThree: "amount" | "primaryAmount" | "secondaryAmount" | "primaryRate" | "secondaryRate" | "accountNumber";
63512
64471
  /** ExpensePaymentVoucherCalculateTotalsResponseSchema */
63513
64472
  ExpensePaymentVoucherCalculateTotalsResponseSchema: {
63514
64473
  /** Total */
@@ -65140,6 +66099,8 @@ export interface operations {
65140
66099
  syncableOnlineItems?: boolean;
65141
66100
  /** @description When fulfilling a transfer request, pass its ID so availableForSale excludes reservations from other documents but includes quantities reserved for this transfer request. */
65142
66101
  transferRequestId?: string | null;
66102
+ /** @description Filter landed cost service items: 'exclude' (default) omits them, 'only' returns only landed cost service items, 'include' returns every item. */
66103
+ landedCostFilter?: "include" | "only" | "exclude";
65143
66104
  };
65144
66105
  header?: never;
65145
66106
  path?: never;
@@ -88035,12 +88996,29 @@ export interface operations {
88035
88996
  search?: string | null;
88036
88997
  /** @description Filter by branch id */
88037
88998
  branchId: string;
88038
- /** @description default: all invoices in range; creditNote: remaining after credits/returns (supplier required); paymentVoucher: unpaid or partially paid; goodsReceiptNote: not received or partially received only. */
88039
- type?: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote";
88999
+ /**
89000
+ * @description Filter list for downstream document pickers:
89001
+ * - **default**: all invoices in date range
89002
+ * - **creditNote**: remaining after credits/returns (`supplier` required)
89003
+ * - **paymentVoucher**: unpaid or partially paid (`supplier` required)
89004
+ * - **goodsReceiptNote**: receiving_status not_received / partially_received
89005
+ * - **landedCostAllocation**: posted PIs with landed cost service lines. Use `onlyRemaining` to control whether
89006
+ * fully allocated bills are included. Always pass `includeItems=true`. Each item includes
89007
+ * `landedCostRemainingAmount`, `primaryLandedCostRemainingAmount`, `secondaryLandedCostRemainingAmount`,
89008
+ * `isLandedCostAllocated`, and `item.expenseCategory`.
89009
+ * Use item ids as `purchaseInvoiceItem` in LCA create/calculate payloads.
89010
+ */
89011
+ type?: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote" | "landedCostAllocation";
88040
89012
  /** @description supplier id, required when type is creditNote or paymentVoucher */
88041
89013
  supplier?: string;
88042
- /** @description If true, includes invoice items in the response */
89014
+ /** @description Include invoice lines. **Required true** when type=landedCostAllocation (LCA bill picker). */
88043
89015
  includeItems?: boolean;
89016
+ /**
89017
+ * @description Only applies when type=landedCostAllocation.
89018
+ * - **true** (default): only bills/lines with `primaryLandedCostRemainingAmount > 0` (LCA bill picker).
89019
+ * - **false**: include all posted landed cost bill lines, including fully allocated ones.
89020
+ */
89021
+ onlyRemaining?: boolean;
88044
89022
  };
88045
89023
  header?: never;
88046
89024
  path?: never;
@@ -88137,19 +89115,265 @@ export interface operations {
88137
89115
  };
88138
89116
  };
88139
89117
  };
88140
- purchase_purchase_invoice_views_get_purchase_invoice: {
89118
+ purchase_purchase_invoice_views_get_purchase_invoice: {
89119
+ parameters: {
89120
+ query?: {
89121
+ type?: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote" | "landedCostAllocation";
89122
+ grn?: boolean;
89123
+ };
89124
+ header?: never;
89125
+ path: {
89126
+ id: string;
89127
+ };
89128
+ cookie?: never;
89129
+ };
89130
+ requestBody?: never;
89131
+ responses: {
89132
+ /** @description OK */
89133
+ 200: {
89134
+ headers: {
89135
+ [name: string]: unknown;
89136
+ };
89137
+ content: {
89138
+ "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89139
+ };
89140
+ };
89141
+ /** @description Bad Request */
89142
+ 400: {
89143
+ headers: {
89144
+ [name: string]: unknown;
89145
+ };
89146
+ content: {
89147
+ "application/json": components["schemas"]["ErrorMessages"];
89148
+ };
89149
+ };
89150
+ /** @description Forbidden */
89151
+ 403: {
89152
+ headers: {
89153
+ [name: string]: unknown;
89154
+ };
89155
+ content: {
89156
+ "application/json": components["schemas"]["MessageResponse"];
89157
+ };
89158
+ };
89159
+ /** @description Not Found */
89160
+ 404: {
89161
+ headers: {
89162
+ [name: string]: unknown;
89163
+ };
89164
+ content: {
89165
+ "application/json": components["schemas"]["MessageResponse"];
89166
+ };
89167
+ };
89168
+ /** @description Internal Server Error */
89169
+ 500: {
89170
+ headers: {
89171
+ [name: string]: unknown;
89172
+ };
89173
+ content: {
89174
+ "application/json": components["schemas"]["MessageResponse"];
89175
+ };
89176
+ };
89177
+ };
89178
+ };
89179
+ purchase_purchase_invoice_views_update_purchase_invoice: {
89180
+ parameters: {
89181
+ query?: never;
89182
+ header?: never;
89183
+ path: {
89184
+ id: string;
89185
+ };
89186
+ cookie?: never;
89187
+ };
89188
+ requestBody: {
89189
+ content: {
89190
+ "application/json": components["schemas"]["PurchaseInvoiceUpdateSchema"];
89191
+ };
89192
+ };
89193
+ responses: {
89194
+ /** @description OK */
89195
+ 200: {
89196
+ headers: {
89197
+ [name: string]: unknown;
89198
+ };
89199
+ content: {
89200
+ "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89201
+ };
89202
+ };
89203
+ /** @description Bad Request */
89204
+ 400: {
89205
+ headers: {
89206
+ [name: string]: unknown;
89207
+ };
89208
+ content: {
89209
+ "application/json": components["schemas"]["ErrorMessages"];
89210
+ };
89211
+ };
89212
+ /** @description Forbidden */
89213
+ 403: {
89214
+ headers: {
89215
+ [name: string]: unknown;
89216
+ };
89217
+ content: {
89218
+ "application/json": components["schemas"]["MessageResponse"];
89219
+ };
89220
+ };
89221
+ /** @description Not Found */
89222
+ 404: {
89223
+ headers: {
89224
+ [name: string]: unknown;
89225
+ };
89226
+ content: {
89227
+ "application/json": components["schemas"]["MessageResponse"];
89228
+ };
89229
+ };
89230
+ /** @description Internal Server Error */
89231
+ 500: {
89232
+ headers: {
89233
+ [name: string]: unknown;
89234
+ };
89235
+ content: {
89236
+ "application/json": components["schemas"]["MessageResponse"];
89237
+ };
89238
+ };
89239
+ };
89240
+ };
89241
+ purchase_purchase_invoice_views_delete_purchase_invoice: {
89242
+ parameters: {
89243
+ query?: never;
89244
+ header?: never;
89245
+ path: {
89246
+ id: string;
89247
+ };
89248
+ cookie?: never;
89249
+ };
89250
+ requestBody: {
89251
+ content: {
89252
+ "application/json": components["schemas"]["PurchaseInvoiceDeleteSchema"];
89253
+ };
89254
+ };
89255
+ responses: {
89256
+ /** @description No Content */
89257
+ 204: {
89258
+ headers: {
89259
+ [name: string]: unknown;
89260
+ };
89261
+ content?: never;
89262
+ };
89263
+ /** @description Bad Request */
89264
+ 400: {
89265
+ headers: {
89266
+ [name: string]: unknown;
89267
+ };
89268
+ content: {
89269
+ "application/json": components["schemas"]["ErrorMessages"];
89270
+ };
89271
+ };
89272
+ /** @description Forbidden */
89273
+ 403: {
89274
+ headers: {
89275
+ [name: string]: unknown;
89276
+ };
89277
+ content: {
89278
+ "application/json": components["schemas"]["MessageResponse"];
89279
+ };
89280
+ };
89281
+ /** @description Not Found */
89282
+ 404: {
89283
+ headers: {
89284
+ [name: string]: unknown;
89285
+ };
89286
+ content: {
89287
+ "application/json": components["schemas"]["MessageResponse"];
89288
+ };
89289
+ };
89290
+ /** @description Internal Server Error */
89291
+ 500: {
89292
+ headers: {
89293
+ [name: string]: unknown;
89294
+ };
89295
+ content: {
89296
+ "application/json": components["schemas"]["MessageResponse"];
89297
+ };
89298
+ };
89299
+ };
89300
+ };
89301
+ purchase_purchase_invoice_views_cancel_purchase_invoice: {
89302
+ parameters: {
89303
+ query?: never;
89304
+ header?: never;
89305
+ path: {
89306
+ id: string;
89307
+ };
89308
+ cookie?: never;
89309
+ };
89310
+ requestBody: {
89311
+ content: {
89312
+ "application/json": components["schemas"]["PasswordSchema"];
89313
+ };
89314
+ };
89315
+ responses: {
89316
+ /** @description OK */
89317
+ 200: {
89318
+ headers: {
89319
+ [name: string]: unknown;
89320
+ };
89321
+ content: {
89322
+ "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89323
+ };
89324
+ };
89325
+ /** @description Bad Request */
89326
+ 400: {
89327
+ headers: {
89328
+ [name: string]: unknown;
89329
+ };
89330
+ content: {
89331
+ "application/json": components["schemas"]["ErrorMessages"];
89332
+ };
89333
+ };
89334
+ /** @description Forbidden */
89335
+ 403: {
89336
+ headers: {
89337
+ [name: string]: unknown;
89338
+ };
89339
+ content: {
89340
+ "application/json": components["schemas"]["MessageResponse"];
89341
+ };
89342
+ };
89343
+ /** @description Not Found */
89344
+ 404: {
89345
+ headers: {
89346
+ [name: string]: unknown;
89347
+ };
89348
+ content: {
89349
+ "application/json": components["schemas"]["MessageResponse"];
89350
+ };
89351
+ };
89352
+ /** @description Internal Server Error */
89353
+ 500: {
89354
+ headers: {
89355
+ [name: string]: unknown;
89356
+ };
89357
+ content: {
89358
+ "application/json": components["schemas"]["MessageResponse"];
89359
+ };
89360
+ };
89361
+ };
89362
+ };
89363
+ purchase_purchase_invoice_views_reset_to_draft_purchase_invoice: {
88141
89364
  parameters: {
88142
- query?: {
88143
- type?: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote";
88144
- grn?: boolean;
88145
- };
89365
+ query?: never;
88146
89366
  header?: never;
88147
89367
  path: {
88148
89368
  id: string;
88149
89369
  };
88150
89370
  cookie?: never;
88151
89371
  };
88152
- requestBody?: never;
89372
+ requestBody: {
89373
+ content: {
89374
+ "application/json": components["schemas"]["PasswordSchema"];
89375
+ };
89376
+ };
88153
89377
  responses: {
88154
89378
  /** @description OK */
88155
89379
  200: {
@@ -88198,20 +89422,18 @@ export interface operations {
88198
89422
  };
88199
89423
  };
88200
89424
  };
88201
- purchase_purchase_invoice_views_update_purchase_invoice: {
89425
+ purchase_purchase_invoice_views_export_purchase_invoice: {
88202
89426
  parameters: {
88203
- query?: never;
89427
+ query: {
89428
+ selectedCurrencies: number[];
89429
+ };
88204
89430
  header?: never;
88205
89431
  path: {
88206
89432
  id: string;
88207
89433
  };
88208
89434
  cookie?: never;
88209
89435
  };
88210
- requestBody: {
88211
- content: {
88212
- "application/json": components["schemas"]["PurchaseInvoiceUpdateSchema"];
88213
- };
88214
- };
89436
+ requestBody?: never;
88215
89437
  responses: {
88216
89438
  /** @description OK */
88217
89439
  200: {
@@ -88219,7 +89441,7 @@ export interface operations {
88219
89441
  [name: string]: unknown;
88220
89442
  };
88221
89443
  content: {
88222
- "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89444
+ "application/json": string;
88223
89445
  };
88224
89446
  };
88225
89447
  /** @description Bad Request */
@@ -88260,7 +89482,7 @@ export interface operations {
88260
89482
  };
88261
89483
  };
88262
89484
  };
88263
- purchase_purchase_invoice_views_delete_purchase_invoice: {
89485
+ purchase_purchase_invoice_views_get_purchase_invoice_difference: {
88264
89486
  parameters: {
88265
89487
  query?: never;
88266
89488
  header?: never;
@@ -88269,18 +89491,16 @@ export interface operations {
88269
89491
  };
88270
89492
  cookie?: never;
88271
89493
  };
88272
- requestBody: {
88273
- content: {
88274
- "application/json": components["schemas"]["PurchaseInvoiceDeleteSchema"];
88275
- };
88276
- };
89494
+ requestBody?: never;
88277
89495
  responses: {
88278
- /** @description No Content */
88279
- 204: {
89496
+ /** @description OK */
89497
+ 200: {
88280
89498
  headers: {
88281
89499
  [name: string]: unknown;
88282
89500
  };
88283
- content?: never;
89501
+ content: {
89502
+ "application/json": components["schemas"]["PurchaseInvoiceDifferenceSchema"];
89503
+ };
88284
89504
  };
88285
89505
  /** @description Bad Request */
88286
89506
  400: {
@@ -88320,7 +89540,7 @@ export interface operations {
88320
89540
  };
88321
89541
  };
88322
89542
  };
88323
- purchase_purchase_invoice_views_cancel_purchase_invoice: {
89543
+ purchase_purchase_invoice_views_export_purchase_invoice_pdf: {
88324
89544
  parameters: {
88325
89545
  query?: never;
88326
89546
  header?: never;
@@ -88329,11 +89549,7 @@ export interface operations {
88329
89549
  };
88330
89550
  cookie?: never;
88331
89551
  };
88332
- requestBody: {
88333
- content: {
88334
- "application/json": components["schemas"]["PasswordSchema"];
88335
- };
88336
- };
89552
+ requestBody?: never;
88337
89553
  responses: {
88338
89554
  /** @description OK */
88339
89555
  200: {
@@ -88341,7 +89557,7 @@ export interface operations {
88341
89557
  [name: string]: unknown;
88342
89558
  };
88343
89559
  content: {
88344
- "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89560
+ "application/json": string;
88345
89561
  };
88346
89562
  };
88347
89563
  /** @description Bad Request */
@@ -88359,7 +89575,7 @@ export interface operations {
88359
89575
  [name: string]: unknown;
88360
89576
  };
88361
89577
  content: {
88362
- "application/json": components["schemas"]["MessageResponse"];
89578
+ "application/json": components["schemas"]["MessageWithCode"];
88363
89579
  };
88364
89580
  };
88365
89581
  /** @description Not Found */
@@ -88368,7 +89584,7 @@ export interface operations {
88368
89584
  [name: string]: unknown;
88369
89585
  };
88370
89586
  content: {
88371
- "application/json": components["schemas"]["MessageResponse"];
89587
+ "application/json": components["schemas"]["MessageWithCode"];
88372
89588
  };
88373
89589
  };
88374
89590
  /** @description Internal Server Error */
@@ -88377,12 +89593,12 @@ export interface operations {
88377
89593
  [name: string]: unknown;
88378
89594
  };
88379
89595
  content: {
88380
- "application/json": components["schemas"]["MessageResponse"];
89596
+ "application/json": components["schemas"]["MessageWithCode"];
88381
89597
  };
88382
89598
  };
88383
89599
  };
88384
89600
  };
88385
- purchase_purchase_invoice_views_reset_to_draft_purchase_invoice: {
89601
+ purchase_purchase_invoice_views_send_purchase_invoice_by_email: {
88386
89602
  parameters: {
88387
89603
  query?: never;
88388
89604
  header?: never;
@@ -88393,7 +89609,7 @@ export interface operations {
88393
89609
  };
88394
89610
  requestBody: {
88395
89611
  content: {
88396
- "application/json": components["schemas"]["PasswordSchema"];
89612
+ "application/json": components["schemas"]["EmailContentSchema"];
88397
89613
  };
88398
89614
  };
88399
89615
  responses: {
@@ -88403,7 +89619,7 @@ export interface operations {
88403
89619
  [name: string]: unknown;
88404
89620
  };
88405
89621
  content: {
88406
- "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89622
+ "application/json": components["schemas"]["MessageResponse"];
88407
89623
  };
88408
89624
  };
88409
89625
  /** @description Bad Request */
@@ -88444,15 +89660,14 @@ export interface operations {
88444
89660
  };
88445
89661
  };
88446
89662
  };
88447
- purchase_purchase_invoice_views_export_purchase_invoice: {
89663
+ landed_cost_views_list_landed_cost_allocations: {
88448
89664
  parameters: {
88449
- query: {
88450
- selectedCurrencies: number[];
89665
+ query?: {
89666
+ /** @description Search by serial number or description. */
89667
+ search?: string | null;
88451
89668
  };
88452
89669
  header?: never;
88453
- path: {
88454
- id: string;
88455
- };
89670
+ path?: never;
88456
89671
  cookie?: never;
88457
89672
  };
88458
89673
  requestBody?: never;
@@ -88463,7 +89678,7 @@ export interface operations {
88463
89678
  [name: string]: unknown;
88464
89679
  };
88465
89680
  content: {
88466
- "application/json": string;
89681
+ "application/json": components["schemas"]["LandedCostAllocationListSchema"];
88467
89682
  };
88468
89683
  };
88469
89684
  /** @description Bad Request */
@@ -88484,8 +89699,41 @@ export interface operations {
88484
89699
  "application/json": components["schemas"]["MessageResponse"];
88485
89700
  };
88486
89701
  };
88487
- /** @description Not Found */
88488
- 404: {
89702
+ };
89703
+ };
89704
+ landed_cost_views_create_landed_cost_allocation: {
89705
+ parameters: {
89706
+ query?: never;
89707
+ header?: never;
89708
+ path?: never;
89709
+ cookie?: never;
89710
+ };
89711
+ requestBody: {
89712
+ content: {
89713
+ "application/json": components["schemas"]["LandedCostAllocationCreateSchema"];
89714
+ };
89715
+ };
89716
+ responses: {
89717
+ /** @description Created */
89718
+ 201: {
89719
+ headers: {
89720
+ [name: string]: unknown;
89721
+ };
89722
+ content: {
89723
+ "application/json": components["schemas"]["LandedCostAllocationResponseSchema"];
89724
+ };
89725
+ };
89726
+ /** @description Bad Request */
89727
+ 400: {
89728
+ headers: {
89729
+ [name: string]: unknown;
89730
+ };
89731
+ content: {
89732
+ "application/json": components["schemas"]["ErrorMessages"];
89733
+ };
89734
+ };
89735
+ /** @description Forbidden */
89736
+ 403: {
88489
89737
  headers: {
88490
89738
  [name: string]: unknown;
88491
89739
  };
@@ -88504,16 +89752,18 @@ export interface operations {
88504
89752
  };
88505
89753
  };
88506
89754
  };
88507
- purchase_purchase_invoice_views_get_purchase_invoice_difference: {
89755
+ landed_cost_views_calculate_landed_cost_allocation: {
88508
89756
  parameters: {
88509
89757
  query?: never;
88510
89758
  header?: never;
88511
- path: {
88512
- id: string;
88513
- };
89759
+ path?: never;
88514
89760
  cookie?: never;
88515
89761
  };
88516
- requestBody?: never;
89762
+ requestBody: {
89763
+ content: {
89764
+ "application/json": components["schemas"]["LandedCostAllocationCalculateSchema"];
89765
+ };
89766
+ };
88517
89767
  responses: {
88518
89768
  /** @description OK */
88519
89769
  200: {
@@ -88521,7 +89771,7 @@ export interface operations {
88521
89771
  [name: string]: unknown;
88522
89772
  };
88523
89773
  content: {
88524
- "application/json": components["schemas"]["PurchaseInvoiceDifferenceSchema"];
89774
+ "application/json": components["schemas"]["LandedCostAllocationCalculateResponseSchema"];
88525
89775
  };
88526
89776
  };
88527
89777
  /** @description Bad Request */
@@ -88542,8 +89792,30 @@ export interface operations {
88542
89792
  "application/json": components["schemas"]["MessageResponse"];
88543
89793
  };
88544
89794
  };
88545
- /** @description Not Found */
88546
- 404: {
89795
+ };
89796
+ };
89797
+ landed_cost_views_get_landed_cost_allocation: {
89798
+ parameters: {
89799
+ query?: never;
89800
+ header?: never;
89801
+ path: {
89802
+ id: string;
89803
+ };
89804
+ cookie?: never;
89805
+ };
89806
+ requestBody?: never;
89807
+ responses: {
89808
+ /** @description OK */
89809
+ 200: {
89810
+ headers: {
89811
+ [name: string]: unknown;
89812
+ };
89813
+ content: {
89814
+ "application/json": components["schemas"]["LandedCostAllocationDetailSchema"];
89815
+ };
89816
+ };
89817
+ /** @description Forbidden */
89818
+ 403: {
88547
89819
  headers: {
88548
89820
  [name: string]: unknown;
88549
89821
  };
@@ -88551,8 +89823,8 @@ export interface operations {
88551
89823
  "application/json": components["schemas"]["MessageResponse"];
88552
89824
  };
88553
89825
  };
88554
- /** @description Internal Server Error */
88555
- 500: {
89826
+ /** @description Not Found */
89827
+ 404: {
88556
89828
  headers: {
88557
89829
  [name: string]: unknown;
88558
89830
  };
@@ -88562,7 +89834,7 @@ export interface operations {
88562
89834
  };
88563
89835
  };
88564
89836
  };
88565
- purchase_purchase_invoice_views_export_purchase_invoice_pdf: {
89837
+ landed_cost_views_update_landed_cost_allocation: {
88566
89838
  parameters: {
88567
89839
  query?: never;
88568
89840
  header?: never;
@@ -88571,7 +89843,11 @@ export interface operations {
88571
89843
  };
88572
89844
  cookie?: never;
88573
89845
  };
88574
- requestBody?: never;
89846
+ requestBody: {
89847
+ content: {
89848
+ "application/json": components["schemas"]["LandedCostAllocationUpdateSchema"];
89849
+ };
89850
+ };
88575
89851
  responses: {
88576
89852
  /** @description OK */
88577
89853
  200: {
@@ -88579,7 +89855,7 @@ export interface operations {
88579
89855
  [name: string]: unknown;
88580
89856
  };
88581
89857
  content: {
88582
- "application/json": string;
89858
+ "application/json": components["schemas"]["LandedCostAllocationResponseSchema"];
88583
89859
  };
88584
89860
  };
88585
89861
  /** @description Bad Request */
@@ -88597,7 +89873,7 @@ export interface operations {
88597
89873
  [name: string]: unknown;
88598
89874
  };
88599
89875
  content: {
88600
- "application/json": components["schemas"]["MessageWithCode"];
89876
+ "application/json": components["schemas"]["MessageResponse"];
88601
89877
  };
88602
89878
  };
88603
89879
  /** @description Not Found */
@@ -88606,21 +89882,63 @@ export interface operations {
88606
89882
  [name: string]: unknown;
88607
89883
  };
88608
89884
  content: {
88609
- "application/json": components["schemas"]["MessageWithCode"];
89885
+ "application/json": components["schemas"]["MessageResponse"];
88610
89886
  };
88611
89887
  };
88612
- /** @description Internal Server Error */
88613
- 500: {
89888
+ };
89889
+ };
89890
+ landed_cost_views_delete_landed_cost_allocation: {
89891
+ parameters: {
89892
+ query?: never;
89893
+ header?: never;
89894
+ path: {
89895
+ id: string;
89896
+ };
89897
+ cookie?: never;
89898
+ };
89899
+ requestBody: {
89900
+ content: {
89901
+ "application/json": components["schemas"]["LandedCostAllocationDeleteSchema"];
89902
+ };
89903
+ };
89904
+ responses: {
89905
+ /** @description No Content */
89906
+ 204: {
89907
+ headers: {
89908
+ [name: string]: unknown;
89909
+ };
89910
+ content?: never;
89911
+ };
89912
+ /** @description Bad Request */
89913
+ 400: {
88614
89914
  headers: {
88615
89915
  [name: string]: unknown;
88616
89916
  };
88617
89917
  content: {
88618
- "application/json": components["schemas"]["MessageWithCode"];
89918
+ "application/json": components["schemas"]["ErrorMessages"];
89919
+ };
89920
+ };
89921
+ /** @description Forbidden */
89922
+ 403: {
89923
+ headers: {
89924
+ [name: string]: unknown;
89925
+ };
89926
+ content: {
89927
+ "application/json": components["schemas"]["MessageResponse"];
89928
+ };
89929
+ };
89930
+ /** @description Not Found */
89931
+ 404: {
89932
+ headers: {
89933
+ [name: string]: unknown;
89934
+ };
89935
+ content: {
89936
+ "application/json": components["schemas"]["MessageResponse"];
88619
89937
  };
88620
89938
  };
88621
89939
  };
88622
89940
  };
88623
- purchase_purchase_invoice_views_send_purchase_invoice_by_email: {
89941
+ landed_cost_views_reset_landed_cost_allocation_to_draft: {
88624
89942
  parameters: {
88625
89943
  query?: never;
88626
89944
  header?: never;
@@ -88631,7 +89949,7 @@ export interface operations {
88631
89949
  };
88632
89950
  requestBody: {
88633
89951
  content: {
88634
- "application/json": components["schemas"]["EmailContentSchema"];
89952
+ "application/json": components["schemas"]["LandedCostAllocationActionsSchema"];
88635
89953
  };
88636
89954
  };
88637
89955
  responses: {
@@ -88641,7 +89959,7 @@ export interface operations {
88641
89959
  [name: string]: unknown;
88642
89960
  };
88643
89961
  content: {
88644
- "application/json": components["schemas"]["MessageResponse"];
89962
+ "application/json": components["schemas"]["LandedCostAllocationResponseSchema"];
88645
89963
  };
88646
89964
  };
88647
89965
  /** @description Bad Request */
@@ -88671,8 +89989,52 @@ export interface operations {
88671
89989
  "application/json": components["schemas"]["MessageResponse"];
88672
89990
  };
88673
89991
  };
88674
- /** @description Internal Server Error */
88675
- 500: {
89992
+ };
89993
+ };
89994
+ landed_cost_views_cancel_landed_cost_allocation: {
89995
+ parameters: {
89996
+ query?: never;
89997
+ header?: never;
89998
+ path: {
89999
+ id: string;
90000
+ };
90001
+ cookie?: never;
90002
+ };
90003
+ requestBody: {
90004
+ content: {
90005
+ "application/json": components["schemas"]["LandedCostAllocationActionsSchema"];
90006
+ };
90007
+ };
90008
+ responses: {
90009
+ /** @description OK */
90010
+ 200: {
90011
+ headers: {
90012
+ [name: string]: unknown;
90013
+ };
90014
+ content: {
90015
+ "application/json": components["schemas"]["LandedCostAllocationResponseSchema"];
90016
+ };
90017
+ };
90018
+ /** @description Bad Request */
90019
+ 400: {
90020
+ headers: {
90021
+ [name: string]: unknown;
90022
+ };
90023
+ content: {
90024
+ "application/json": components["schemas"]["ErrorMessages"];
90025
+ };
90026
+ };
90027
+ /** @description Forbidden */
90028
+ 403: {
90029
+ headers: {
90030
+ [name: string]: unknown;
90031
+ };
90032
+ content: {
90033
+ "application/json": components["schemas"]["MessageResponse"];
90034
+ };
90035
+ };
90036
+ /** @description Not Found */
90037
+ 404: {
88676
90038
  headers: {
88677
90039
  [name: string]: unknown;
88678
90040
  };
@@ -89917,6 +91279,8 @@ export interface operations {
89917
91279
  startDate?: string | null;
89918
91280
  /** @description End date for custom range (YYYY-MM-DD), this required if the period type is custom */
89919
91281
  endDate?: string | null;
91282
+ /** @description When true, each GRN line includes finalized `landedCostAllocations` (for LCA picker/history). */
91283
+ landedCostAllocation?: boolean;
89920
91284
  };
89921
91285
  header?: never;
89922
91286
  path?: never;