@erp-galoper/types 1.0.1934 → 1.0.1936

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 +1452 -103
  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,6 +27026,18 @@ export interface components {
26776
27026
  */
26777
27027
  default: boolean;
26778
27028
  };
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
+ };
26779
27041
  /** ItemListSchema */
26780
27042
  ItemListSchema: {
26781
27043
  info: components["schemas"]["PageInfoSchema"];
@@ -27078,6 +27340,7 @@ export interface components {
27078
27340
  */
27079
27341
  taxes: components["schemas"]["TaxSchema"][];
27080
27342
  transactionalGroup?: components["schemas"]["TransactionalGroupSchema"] | null;
27343
+ expenseCategory?: components["schemas"]["ItemExpenseCategorySchema"] | null;
27081
27344
  /**
27082
27345
  * Isinventorytracked
27083
27346
  * @default false
@@ -27340,6 +27603,7 @@ export interface components {
27340
27603
  */
27341
27604
  taxes: components["schemas"]["TaxSchema"][];
27342
27605
  transactionalGroup?: components["schemas"]["TransactionalGroupSchema"] | null;
27606
+ expenseCategory?: components["schemas"]["ItemExpenseCategorySchema"] | null;
27343
27607
  /**
27344
27608
  * Isinventorytracked
27345
27609
  * @default false
@@ -27877,6 +28141,11 @@ export interface components {
27877
28141
  */
27878
28142
  barcodes: components["schemas"]["BarcodeSchema"][];
27879
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;
27880
28149
  usage: components["schemas"]["ItemUsage"];
27881
28150
  /**
27882
28151
  * Unitofmeasure
@@ -28113,6 +28382,12 @@ export interface components {
28113
28382
  */
28114
28383
  barcodes: components["schemas"]["BarcodeSchema"][];
28115
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;
28116
28391
  /**
28117
28392
  * @description - when type is service usage should be disabled and set its value to service
28118
28393
  * - when type is product usage should be either goods or works only
@@ -28621,6 +28896,11 @@ export interface components {
28621
28896
  */
28622
28897
  barcodes: components["schemas"]["UpdateBarcodeSchema"][];
28623
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;
28624
28904
  /**
28625
28905
  * @description - when type is service usage should be disabled and set its value to service
28626
28906
  * - when type is product usage should be either goods or works only
@@ -28918,6 +29198,11 @@ export interface components {
28918
29198
  */
28919
29199
  barcodes: components["schemas"]["UpdateBarcodeSchema"][];
28920
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;
28921
29206
  /**
28922
29207
  * @description - when type is service usage should be disabled and set its value to service
28923
29208
  * - when type is product usage should be either goods or works only
@@ -43647,6 +43932,11 @@ export interface components {
43647
43932
  dueDate?: string | null;
43648
43933
  status: components["schemas"]["DocumentStatusValue"];
43649
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"];
43650
43940
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
43651
43941
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
43652
43942
  /** Usdrate */
@@ -43883,7 +44173,35 @@ export interface components {
43883
44173
  quantityReturnedOrder?: number;
43884
44174
  /** Quantityreturnedinvoice */
43885
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;
43886
44199
  };
44200
+ /**
44201
+ * PurchaseInvoiceTypeSchema
44202
+ * @enum {string}
44203
+ */
44204
+ PurchaseInvoiceTypeSchema: "regular" | "landedCost";
43887
44205
  /** PurchaseOrderSharedSchema */
43888
44206
  PurchaseOrderSharedSchema: {
43889
44207
  /**
@@ -44485,7 +44803,7 @@ export interface components {
44485
44803
  * TypeSchema
44486
44804
  * @enum {string}
44487
44805
  */
44488
- TypeSchema: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote";
44806
+ TypeSchema: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote" | "landedCostAllocation";
44489
44807
  /** PurchaseInvoiceDetailSchema */
44490
44808
  PurchaseInvoiceDetailSchema: {
44491
44809
  /**
@@ -44568,6 +44886,11 @@ export interface components {
44568
44886
  dueDate?: string | null;
44569
44887
  status: components["schemas"]["DocumentStatusValue"];
44570
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"];
44571
44894
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
44572
44895
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
44573
44896
  /** Usdrate */
@@ -44800,6 +45123,11 @@ export interface components {
44800
45123
  dueDate?: string | null;
44801
45124
  status: components["schemas"]["DocumentStatusValue"];
44802
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"];
44803
45131
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
44804
45132
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
44805
45133
  /** Usdrate */
@@ -45304,6 +45632,560 @@ export interface components {
45304
45632
  /** Password */
45305
45633
  password: string | null;
45306
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
+ };
45307
46189
  /** PaymentVoucherCalculateTotalResponse */
45308
46190
  PaymentVoucherCalculateTotalResponse: {
45309
46191
  /**
@@ -45974,6 +46856,11 @@ export interface components {
45974
46856
  dueDate?: string | null;
45975
46857
  status: components["schemas"]["DocumentStatusValue"];
45976
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"];
45977
46864
  paymentStatus: components["schemas"]["PaymentStatusChoices"];
45978
46865
  receivingStatus: components["schemas"]["ReceivingStatusChoices"];
45979
46866
  /** Usdrate */
@@ -46736,6 +47623,29 @@ export interface components {
46736
47623
  /** Items */
46737
47624
  items: components["schemas"]["CalculatePurchaseReturnInvoiceItemsSchema"][];
46738
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
+ };
46739
47649
  /** GoodsReceiptNoteItemTrackingSchema */
46740
47650
  GoodsReceiptNoteItemTrackingSchema: {
46741
47651
  /**
@@ -46787,6 +47697,12 @@ export interface components {
46787
47697
  * @default []
46788
47698
  */
46789
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"][];
46790
47706
  };
46791
47707
  /** GoodsReceiptNoteSchema */
46792
47708
  GoodsReceiptNoteSchema: {
@@ -46872,8 +47788,8 @@ export interface components {
46872
47788
  /** Allownegativestock */
46873
47789
  allowNegativeStock: boolean;
46874
47790
  };
46875
- /** PurchaseInvoiceSharedSchema */
46876
- PurchaseInvoiceSharedSchema: {
47791
+ /** LandedCostAllocationMinimalSchema */
47792
+ LandedCostAllocationMinimalSchema: {
46877
47793
  /**
46878
47794
  * Id
46879
47795
  * Format: uuid
@@ -62567,15 +63483,6 @@ export interface components {
62567
63483
  accountNumber: string;
62568
63484
  currency: components["schemas"]["CurrencySummaryInfo"];
62569
63485
  };
62570
- /** ExpenseCategoryAccount */
62571
- ExpenseCategoryAccount: {
62572
- /** Id */
62573
- id: number;
62574
- /** Name */
62575
- name: string;
62576
- /** Accountnumber */
62577
- accountNumber: string;
62578
- };
62579
63486
  /** ExpenseCategoryDetailSchema */
62580
63487
  ExpenseCategoryDetailSchema: {
62581
63488
  /**
@@ -62594,7 +63501,7 @@ export interface components {
62594
63501
  id: string;
62595
63502
  /** Name */
62596
63503
  name: string;
62597
- expenseAccount: components["schemas"]["ExpenseCategoryAccount"];
63504
+ expenseAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
62598
63505
  prepaidExpenseAccount: components["schemas"]["ExpenseCategoryAccount"] | null;
62599
63506
  deferredExpenseAccount: components["schemas"]["ExpenseCategoryAccount"] | null;
62600
63507
  /** Haslimit */
@@ -62606,6 +63513,12 @@ export interface components {
62606
63513
  preferredSupplier: components["schemas"]["AccountWithCurrencySummaryInfo"] | null;
62607
63514
  /** Isactive */
62608
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;
62609
63522
  /** Notes */
62610
63523
  notes: string | null;
62611
63524
  /** Description */
@@ -62640,10 +63553,11 @@ export interface components {
62640
63553
  name: string;
62641
63554
  /**
62642
63555
  * Expenseaccount
62643
- * @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
62644
63558
  * - get accounts using route /api/v1/chart_of_account/?branchId=1&type=expenses
62645
63559
  */
62646
- expenseAccount: number;
63560
+ expenseAccount?: number | null;
62647
63561
  /**
62648
63562
  * Prepaidexpenseaccount
62649
63563
  * @description - prepaid expense account id
@@ -62690,6 +63604,36 @@ export interface components {
62690
63604
  * @default true
62691
63605
  */
62692
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;
62693
63637
  /** Notes */
62694
63638
  notes?: string;
62695
63639
  /** Description */
@@ -62871,7 +63815,7 @@ export interface components {
62871
63815
  id: string;
62872
63816
  /** Name */
62873
63817
  name: string;
62874
- expenseAccount: components["schemas"]["ExpenseCategoryAccount"];
63818
+ expenseAccount?: components["schemas"]["ExpenseCategoryAccount"] | null;
62875
63819
  /** Haslimit */
62876
63820
  hasLimit: boolean;
62877
63821
  /** Limitamount */
@@ -62881,6 +63825,11 @@ export interface components {
62881
63825
  preferredSupplier: components["schemas"]["AccountSummaryInfo"] | null;
62882
63826
  /** Isactive */
62883
63827
  isActive: boolean;
63828
+ /**
63829
+ * Islandedcost
63830
+ * @default false
63831
+ */
63832
+ isLandedCost: boolean;
62884
63833
  };
62885
63834
  /**
62886
63835
  * ExpensePaidByEnum
@@ -63519,11 +64468,6 @@ export interface components {
63519
64468
  /** Password */
63520
64469
  password?: string;
63521
64470
  };
63522
- /**
63523
- * ChangedFieldsVersionThree
63524
- * @enum {string}
63525
- */
63526
- ChangedFieldsVersionThree: "amount" | "primaryAmount" | "secondaryAmount" | "primaryRate" | "secondaryRate" | "accountNumber";
63527
64471
  /** ExpensePaymentVoucherCalculateTotalsResponseSchema */
63528
64472
  ExpensePaymentVoucherCalculateTotalsResponseSchema: {
63529
64473
  /** Total */
@@ -65155,6 +66099,8 @@ export interface operations {
65155
66099
  syncableOnlineItems?: boolean;
65156
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. */
65157
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";
65158
66104
  };
65159
66105
  header?: never;
65160
66106
  path?: never;
@@ -88050,12 +88996,29 @@ export interface operations {
88050
88996
  search?: string | null;
88051
88997
  /** @description Filter by branch id */
88052
88998
  branchId: string;
88053
- /** @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. */
88054
- 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";
88055
89012
  /** @description supplier id, required when type is creditNote or paymentVoucher */
88056
89013
  supplier?: string;
88057
- /** @description If true, includes invoice items in the response */
89014
+ /** @description Include invoice lines. **Required true** when type=landedCostAllocation (LCA bill picker). */
88058
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;
88059
89022
  };
88060
89023
  header?: never;
88061
89024
  path?: never;
@@ -88152,19 +89115,265 @@ export interface operations {
88152
89115
  };
88153
89116
  };
88154
89117
  };
88155
- 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: {
88156
89364
  parameters: {
88157
- query?: {
88158
- type?: "default" | "creditNote" | "paymentVoucher" | "goodsReceiptNote";
88159
- grn?: boolean;
88160
- };
89365
+ query?: never;
88161
89366
  header?: never;
88162
89367
  path: {
88163
89368
  id: string;
88164
89369
  };
88165
89370
  cookie?: never;
88166
89371
  };
88167
- requestBody?: never;
89372
+ requestBody: {
89373
+ content: {
89374
+ "application/json": components["schemas"]["PasswordSchema"];
89375
+ };
89376
+ };
88168
89377
  responses: {
88169
89378
  /** @description OK */
88170
89379
  200: {
@@ -88213,20 +89422,18 @@ export interface operations {
88213
89422
  };
88214
89423
  };
88215
89424
  };
88216
- purchase_purchase_invoice_views_update_purchase_invoice: {
89425
+ purchase_purchase_invoice_views_export_purchase_invoice: {
88217
89426
  parameters: {
88218
- query?: never;
89427
+ query: {
89428
+ selectedCurrencies: number[];
89429
+ };
88219
89430
  header?: never;
88220
89431
  path: {
88221
89432
  id: string;
88222
89433
  };
88223
89434
  cookie?: never;
88224
89435
  };
88225
- requestBody: {
88226
- content: {
88227
- "application/json": components["schemas"]["PurchaseInvoiceUpdateSchema"];
88228
- };
88229
- };
89436
+ requestBody?: never;
88230
89437
  responses: {
88231
89438
  /** @description OK */
88232
89439
  200: {
@@ -88234,7 +89441,7 @@ export interface operations {
88234
89441
  [name: string]: unknown;
88235
89442
  };
88236
89443
  content: {
88237
- "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89444
+ "application/json": string;
88238
89445
  };
88239
89446
  };
88240
89447
  /** @description Bad Request */
@@ -88275,7 +89482,7 @@ export interface operations {
88275
89482
  };
88276
89483
  };
88277
89484
  };
88278
- purchase_purchase_invoice_views_delete_purchase_invoice: {
89485
+ purchase_purchase_invoice_views_get_purchase_invoice_difference: {
88279
89486
  parameters: {
88280
89487
  query?: never;
88281
89488
  header?: never;
@@ -88284,18 +89491,16 @@ export interface operations {
88284
89491
  };
88285
89492
  cookie?: never;
88286
89493
  };
88287
- requestBody: {
88288
- content: {
88289
- "application/json": components["schemas"]["PurchaseInvoiceDeleteSchema"];
88290
- };
88291
- };
89494
+ requestBody?: never;
88292
89495
  responses: {
88293
- /** @description No Content */
88294
- 204: {
89496
+ /** @description OK */
89497
+ 200: {
88295
89498
  headers: {
88296
89499
  [name: string]: unknown;
88297
89500
  };
88298
- content?: never;
89501
+ content: {
89502
+ "application/json": components["schemas"]["PurchaseInvoiceDifferenceSchema"];
89503
+ };
88299
89504
  };
88300
89505
  /** @description Bad Request */
88301
89506
  400: {
@@ -88335,7 +89540,7 @@ export interface operations {
88335
89540
  };
88336
89541
  };
88337
89542
  };
88338
- purchase_purchase_invoice_views_cancel_purchase_invoice: {
89543
+ purchase_purchase_invoice_views_export_purchase_invoice_pdf: {
88339
89544
  parameters: {
88340
89545
  query?: never;
88341
89546
  header?: never;
@@ -88344,11 +89549,7 @@ export interface operations {
88344
89549
  };
88345
89550
  cookie?: never;
88346
89551
  };
88347
- requestBody: {
88348
- content: {
88349
- "application/json": components["schemas"]["PasswordSchema"];
88350
- };
88351
- };
89552
+ requestBody?: never;
88352
89553
  responses: {
88353
89554
  /** @description OK */
88354
89555
  200: {
@@ -88356,7 +89557,7 @@ export interface operations {
88356
89557
  [name: string]: unknown;
88357
89558
  };
88358
89559
  content: {
88359
- "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89560
+ "application/json": string;
88360
89561
  };
88361
89562
  };
88362
89563
  /** @description Bad Request */
@@ -88374,7 +89575,7 @@ export interface operations {
88374
89575
  [name: string]: unknown;
88375
89576
  };
88376
89577
  content: {
88377
- "application/json": components["schemas"]["MessageResponse"];
89578
+ "application/json": components["schemas"]["MessageWithCode"];
88378
89579
  };
88379
89580
  };
88380
89581
  /** @description Not Found */
@@ -88383,7 +89584,7 @@ export interface operations {
88383
89584
  [name: string]: unknown;
88384
89585
  };
88385
89586
  content: {
88386
- "application/json": components["schemas"]["MessageResponse"];
89587
+ "application/json": components["schemas"]["MessageWithCode"];
88387
89588
  };
88388
89589
  };
88389
89590
  /** @description Internal Server Error */
@@ -88392,12 +89593,12 @@ export interface operations {
88392
89593
  [name: string]: unknown;
88393
89594
  };
88394
89595
  content: {
88395
- "application/json": components["schemas"]["MessageResponse"];
89596
+ "application/json": components["schemas"]["MessageWithCode"];
88396
89597
  };
88397
89598
  };
88398
89599
  };
88399
89600
  };
88400
- purchase_purchase_invoice_views_reset_to_draft_purchase_invoice: {
89601
+ purchase_purchase_invoice_views_send_purchase_invoice_by_email: {
88401
89602
  parameters: {
88402
89603
  query?: never;
88403
89604
  header?: never;
@@ -88408,7 +89609,7 @@ export interface operations {
88408
89609
  };
88409
89610
  requestBody: {
88410
89611
  content: {
88411
- "application/json": components["schemas"]["PasswordSchema"];
89612
+ "application/json": components["schemas"]["EmailContentSchema"];
88412
89613
  };
88413
89614
  };
88414
89615
  responses: {
@@ -88418,7 +89619,7 @@ export interface operations {
88418
89619
  [name: string]: unknown;
88419
89620
  };
88420
89621
  content: {
88421
- "application/json": components["schemas"]["PurchaseInvoiceWithEntriesSchema"];
89622
+ "application/json": components["schemas"]["MessageResponse"];
88422
89623
  };
88423
89624
  };
88424
89625
  /** @description Bad Request */
@@ -88459,15 +89660,14 @@ export interface operations {
88459
89660
  };
88460
89661
  };
88461
89662
  };
88462
- purchase_purchase_invoice_views_export_purchase_invoice: {
89663
+ landed_cost_views_list_landed_cost_allocations: {
88463
89664
  parameters: {
88464
- query: {
88465
- selectedCurrencies: number[];
89665
+ query?: {
89666
+ /** @description Search by serial number or description. */
89667
+ search?: string | null;
88466
89668
  };
88467
89669
  header?: never;
88468
- path: {
88469
- id: string;
88470
- };
89670
+ path?: never;
88471
89671
  cookie?: never;
88472
89672
  };
88473
89673
  requestBody?: never;
@@ -88478,7 +89678,7 @@ export interface operations {
88478
89678
  [name: string]: unknown;
88479
89679
  };
88480
89680
  content: {
88481
- "application/json": string;
89681
+ "application/json": components["schemas"]["LandedCostAllocationListSchema"];
88482
89682
  };
88483
89683
  };
88484
89684
  /** @description Bad Request */
@@ -88499,8 +89699,41 @@ export interface operations {
88499
89699
  "application/json": components["schemas"]["MessageResponse"];
88500
89700
  };
88501
89701
  };
88502
- /** @description Not Found */
88503
- 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: {
88504
89737
  headers: {
88505
89738
  [name: string]: unknown;
88506
89739
  };
@@ -88519,16 +89752,18 @@ export interface operations {
88519
89752
  };
88520
89753
  };
88521
89754
  };
88522
- purchase_purchase_invoice_views_get_purchase_invoice_difference: {
89755
+ landed_cost_views_calculate_landed_cost_allocation: {
88523
89756
  parameters: {
88524
89757
  query?: never;
88525
89758
  header?: never;
88526
- path: {
88527
- id: string;
88528
- };
89759
+ path?: never;
88529
89760
  cookie?: never;
88530
89761
  };
88531
- requestBody?: never;
89762
+ requestBody: {
89763
+ content: {
89764
+ "application/json": components["schemas"]["LandedCostAllocationCalculateSchema"];
89765
+ };
89766
+ };
88532
89767
  responses: {
88533
89768
  /** @description OK */
88534
89769
  200: {
@@ -88536,7 +89771,7 @@ export interface operations {
88536
89771
  [name: string]: unknown;
88537
89772
  };
88538
89773
  content: {
88539
- "application/json": components["schemas"]["PurchaseInvoiceDifferenceSchema"];
89774
+ "application/json": components["schemas"]["LandedCostAllocationCalculateResponseSchema"];
88540
89775
  };
88541
89776
  };
88542
89777
  /** @description Bad Request */
@@ -88557,8 +89792,30 @@ export interface operations {
88557
89792
  "application/json": components["schemas"]["MessageResponse"];
88558
89793
  };
88559
89794
  };
88560
- /** @description Not Found */
88561
- 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: {
88562
89819
  headers: {
88563
89820
  [name: string]: unknown;
88564
89821
  };
@@ -88566,8 +89823,8 @@ export interface operations {
88566
89823
  "application/json": components["schemas"]["MessageResponse"];
88567
89824
  };
88568
89825
  };
88569
- /** @description Internal Server Error */
88570
- 500: {
89826
+ /** @description Not Found */
89827
+ 404: {
88571
89828
  headers: {
88572
89829
  [name: string]: unknown;
88573
89830
  };
@@ -88577,7 +89834,7 @@ export interface operations {
88577
89834
  };
88578
89835
  };
88579
89836
  };
88580
- purchase_purchase_invoice_views_export_purchase_invoice_pdf: {
89837
+ landed_cost_views_update_landed_cost_allocation: {
88581
89838
  parameters: {
88582
89839
  query?: never;
88583
89840
  header?: never;
@@ -88586,7 +89843,11 @@ export interface operations {
88586
89843
  };
88587
89844
  cookie?: never;
88588
89845
  };
88589
- requestBody?: never;
89846
+ requestBody: {
89847
+ content: {
89848
+ "application/json": components["schemas"]["LandedCostAllocationUpdateSchema"];
89849
+ };
89850
+ };
88590
89851
  responses: {
88591
89852
  /** @description OK */
88592
89853
  200: {
@@ -88594,7 +89855,7 @@ export interface operations {
88594
89855
  [name: string]: unknown;
88595
89856
  };
88596
89857
  content: {
88597
- "application/json": string;
89858
+ "application/json": components["schemas"]["LandedCostAllocationResponseSchema"];
88598
89859
  };
88599
89860
  };
88600
89861
  /** @description Bad Request */
@@ -88612,7 +89873,7 @@ export interface operations {
88612
89873
  [name: string]: unknown;
88613
89874
  };
88614
89875
  content: {
88615
- "application/json": components["schemas"]["MessageWithCode"];
89876
+ "application/json": components["schemas"]["MessageResponse"];
88616
89877
  };
88617
89878
  };
88618
89879
  /** @description Not Found */
@@ -88621,21 +89882,63 @@ export interface operations {
88621
89882
  [name: string]: unknown;
88622
89883
  };
88623
89884
  content: {
88624
- "application/json": components["schemas"]["MessageWithCode"];
89885
+ "application/json": components["schemas"]["MessageResponse"];
88625
89886
  };
88626
89887
  };
88627
- /** @description Internal Server Error */
88628
- 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: {
88629
89914
  headers: {
88630
89915
  [name: string]: unknown;
88631
89916
  };
88632
89917
  content: {
88633
- "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"];
88634
89937
  };
88635
89938
  };
88636
89939
  };
88637
89940
  };
88638
- purchase_purchase_invoice_views_send_purchase_invoice_by_email: {
89941
+ landed_cost_views_reset_landed_cost_allocation_to_draft: {
88639
89942
  parameters: {
88640
89943
  query?: never;
88641
89944
  header?: never;
@@ -88646,7 +89949,7 @@ export interface operations {
88646
89949
  };
88647
89950
  requestBody: {
88648
89951
  content: {
88649
- "application/json": components["schemas"]["EmailContentSchema"];
89952
+ "application/json": components["schemas"]["LandedCostAllocationActionsSchema"];
88650
89953
  };
88651
89954
  };
88652
89955
  responses: {
@@ -88656,7 +89959,7 @@ export interface operations {
88656
89959
  [name: string]: unknown;
88657
89960
  };
88658
89961
  content: {
88659
- "application/json": components["schemas"]["MessageResponse"];
89962
+ "application/json": components["schemas"]["LandedCostAllocationResponseSchema"];
88660
89963
  };
88661
89964
  };
88662
89965
  /** @description Bad Request */
@@ -88686,8 +89989,52 @@ export interface operations {
88686
89989
  "application/json": components["schemas"]["MessageResponse"];
88687
89990
  };
88688
89991
  };
88689
- /** @description Internal Server Error */
88690
- 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: {
88691
90038
  headers: {
88692
90039
  [name: string]: unknown;
88693
90040
  };
@@ -89932,6 +91279,8 @@ export interface operations {
89932
91279
  startDate?: string | null;
89933
91280
  /** @description End date for custom range (YYYY-MM-DD), this required if the period type is custom */
89934
91281
  endDate?: string | null;
91282
+ /** @description When true, each GRN line includes finalized `landedCostAllocations` (for LCA picker/history). */
91283
+ landedCostAllocation?: boolean;
89935
91284
  };
89936
91285
  header?: never;
89937
91286
  path?: never;