@burdenoff/microfe-movethewheels 2026.1016.3 → 2026.1016.4

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 (88) hide show
  1. package/README.md +10 -0
  2. package/dist/MoveTheWheelsRoot.js +5 -0
  3. package/dist/MoveTheWheelsRoutes.js +25 -21
  4. package/dist/components/ContainerEvidencePicker.js +55 -55
  5. package/dist/components/FleetAlertsPanel.js +2 -2
  6. package/dist/components/freight-invoice/InvoiceForm.js +366 -0
  7. package/dist/components/freight-invoice/InvoiceResults.js +240 -0
  8. package/dist/generated/consolidation-operations.d.ts +195 -265
  9. package/dist/generated/container-condition-operations.d.ts +124 -187
  10. package/dist/generated/container-operations.d.ts +59 -85
  11. package/dist/generated/empty-reuse-operations.d.ts +165 -271
  12. package/dist/generated/free-time-operations.d.ts +120 -184
  13. package/dist/generated/freight-cost-operations.d.ts +307 -476
  14. package/dist/generated/freight-invoice-operations.d.ts +1447 -0
  15. package/dist/generated/logistics-procedure-operations.d.ts +100 -156
  16. package/dist/generated/pending-pick-operations.d.ts +769 -1025
  17. package/dist/generated/shipment-status-authority-operations.d.ts +82 -103
  18. package/dist/generated/stock-binding-operations.d.ts +188 -260
  19. package/dist/generated/stock-observation-operations.d.ts +103 -138
  20. package/dist/generated/tracking-quality-operations.d.ts +27 -41
  21. package/dist/generated/trip-utilization-operations.d.ts +137 -185
  22. package/dist/generated/wspace-operations.d.ts +628 -2272
  23. package/dist/generated/wspace-types.d.ts +4 -23
  24. package/dist/hooks/useInvoiceComparisonRecovery.js +118 -0
  25. package/dist/movethewheels/components/ContainerEvidencePicker.d.ts +2 -1
  26. package/dist/movethewheels/components/freight-invoice/InvoiceForm.d.ts +19 -0
  27. package/dist/movethewheels/components/freight-invoice/InvoiceResults.d.ts +9 -0
  28. package/dist/movethewheels/hooks/useFleet.d.ts +1 -1
  29. package/dist/movethewheels/hooks/useFleetIntelligence.d.ts +1 -1
  30. package/dist/movethewheels/hooks/useInvoiceComparisonRecovery.d.ts +22 -0
  31. package/dist/movethewheels/hooks/useProcedureSelection.d.ts +1 -3
  32. package/dist/movethewheels/pages/FreightInvoicePage.d.ts +10 -0
  33. package/dist/movethewheels/utils/driverLicenseExpiry.d.ts +6 -0
  34. package/dist/movethewheels/utils/invoiceComparison.d.ts +32 -0
  35. package/dist/pages/DriverDetailsPage.js +306 -282
  36. package/dist/pages/FreightEstimatePage.js +1 -0
  37. package/dist/pages/FreightInvoicePage.js +346 -0
  38. package/dist/src/generated/consolidation-operations.js +3961 -503
  39. package/dist/src/generated/container-condition-operations.js +2968 -206
  40. package/dist/src/generated/container-operations.js +997 -99
  41. package/dist/src/generated/empty-reuse-operations.js +4811 -747
  42. package/dist/src/generated/free-time-operations.js +2824 -233
  43. package/dist/src/generated/freight-cost-operations.js +4852 -812
  44. package/dist/src/generated/freight-invoice-operations.js +4894 -0
  45. package/dist/src/generated/logistics-procedure-operations.js +2707 -360
  46. package/dist/src/generated/pending-pick-operations.js +8244 -1196
  47. package/dist/src/generated/shipment-status-authority-operations.js +1157 -84
  48. package/dist/src/generated/stock-binding-operations.js +2779 -173
  49. package/dist/src/generated/stock-observation-operations.js +1274 -91
  50. package/dist/src/generated/tracking-quality-operations.js +407 -42
  51. package/dist/src/generated/trip-utilization-operations.js +1765 -138
  52. package/dist/src/generated/wspace-operations.js +428 -706
  53. package/dist/utils/driverLicenseExpiry.js +14 -0
  54. package/dist/utils/invoiceComparison.js +272 -0
  55. package/package.json +29 -29
  56. package/src/generated/consolidation-operations.ts +60 -559
  57. package/src/generated/container-condition-operations.ts +63 -265
  58. package/src/generated/container-operations.ts +37 -132
  59. package/src/generated/empty-reuse-operations.ts +83 -824
  60. package/src/generated/free-time-operations.ts +55 -284
  61. package/src/generated/freight-cost-operations.ts +42 -848
  62. package/src/generated/freight-invoice-operations.ts +830 -0
  63. package/src/generated/logistics-procedure-operations.ts +60 -414
  64. package/src/generated/pending-pick-operations.ts +48 -1239
  65. package/src/generated/shipment-status-authority-operations.ts +33 -113
  66. package/src/generated/stock-binding-operations.ts +29 -198
  67. package/src/generated/stock-observation-operations.ts +24 -111
  68. package/src/generated/tracking-quality-operations.ts +19 -57
  69. package/src/generated/trip-utilization-operations.ts +32 -166
  70. package/src/generated/wspace-operations.ts +284 -2906
  71. package/src/generated/wspace-types.ts +2 -8
  72. package/src/movethewheels/MoveTheWheelsRoot.tsx +6 -0
  73. package/src/movethewheels/MoveTheWheelsRoutes.tsx +2 -0
  74. package/src/movethewheels/components/ContainerEvidencePicker.tsx +12 -4
  75. package/src/movethewheels/components/FleetAlertsPanel.tsx +4 -2
  76. package/src/movethewheels/components/freight-invoice/InvoiceForm.tsx +412 -0
  77. package/src/movethewheels/components/freight-invoice/InvoiceResults.tsx +162 -0
  78. package/src/movethewheels/hooks/useFleet.ts +1 -1
  79. package/src/movethewheels/hooks/useFleetIntelligence.ts +5 -1
  80. package/src/movethewheels/hooks/useInvoiceComparisonRecovery.ts +227 -0
  81. package/src/movethewheels/pages/DriverDetailsPage.tsx +35 -9
  82. package/src/movethewheels/pages/FreightEstimatePage.tsx +1 -0
  83. package/src/movethewheels/pages/FreightInvoicePage.tsx +477 -0
  84. package/src/movethewheels/utils/driverLicenseExpiry.ts +25 -0
  85. package/src/movethewheels/utils/invoiceComparison.ts +520 -0
  86. package/src/operations/freight-invoice/comparison.graphql +40 -0
  87. package/src/operations/wspace/freight-invoice-evidence.graphql +6 -0
  88. package/patches/braces@3.0.3.patch +0 -87
@@ -0,0 +1,1447 @@
1
+ import { TypedDocumentNode as DocumentNode } from '@graphql-typed-document-node/core';
2
+ /** Internal type. DO NOT USE DIRECTLY. */
3
+ type Exact<T extends {
4
+ [key: string]: unknown;
5
+ }> = {
6
+ [K in keyof T]: T[K];
7
+ };
8
+ /** Internal type. DO NOT USE DIRECTLY. */
9
+ export type Incremental<T> = T | {
10
+ [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
11
+ };
12
+ import type * as Types from './freight-invoice-operations';
13
+ export type Maybe<T> = T | null;
14
+ export type InputMaybe<T> = Maybe<T>;
15
+ /** All built-in and custom scalars, mapped to their actual values */
16
+ export type Scalars = {
17
+ ID: {
18
+ input: string;
19
+ output: string;
20
+ };
21
+ String: {
22
+ input: string;
23
+ output: string;
24
+ };
25
+ Boolean: {
26
+ input: boolean;
27
+ output: boolean;
28
+ };
29
+ Int: {
30
+ input: number;
31
+ output: number;
32
+ };
33
+ Float: {
34
+ input: number;
35
+ output: number;
36
+ };
37
+ DateTime: {
38
+ input: string;
39
+ output: string;
40
+ };
41
+ };
42
+ export type CompareMtwFreightInvoiceInput = {
43
+ correctionReason?: InputMaybe<Scalars['String']['input']>;
44
+ estimateVersionId: Scalars['ID']['input'];
45
+ evidence: Array<MtwContainerEvidenceInput>;
46
+ expectedPreviousComparisonId?: InputMaybe<Scalars['ID']['input']>;
47
+ expectedRevision: Scalars['Int']['input'];
48
+ facts: MtwFreightInvoiceFactsInput;
49
+ idempotencyKey: Scalars['String']['input'];
50
+ shipmentId: Scalars['ID']['input'];
51
+ };
52
+ /** Bounded audit snapshot of at most 10 exact evidence versions. */
53
+ export type MtwContainerEvidence = {
54
+ __typename?: 'MtwContainerEvidence';
55
+ checkedAt: Scalars['DateTime']['output'];
56
+ fileId: Scalars['ID']['output'];
57
+ sha256Hash: Scalars['String']['output'];
58
+ versionId: Scalars['ID']['output'];
59
+ };
60
+ /** Exact shared Files version. The fingerprint establishes integrity, not issuer authenticity. */
61
+ export type MtwContainerEvidenceInput = {
62
+ fileId: Scalars['ID']['input'];
63
+ versionId: Scalars['ID']['input'];
64
+ };
65
+ export type MtwContainerPagination = {
66
+ limit?: InputMaybe<Scalars['Int']['input']>;
67
+ offset?: InputMaybe<Scalars['Int']['input']>;
68
+ };
69
+ export type MtwFreightAmountBasis = 'CALCULATED' | 'SOURCED_FIXED' | 'UNKNOWN';
70
+ export type MtwFreightCategory = 'ACCESSORIAL' | 'BASE_FREIGHT' | 'BROKER' | 'DESTINATION_HANDLING' | 'DUTY_ESTIMATE' | 'FREE_TIME_EXPOSURE' | 'FUEL' | 'INSURANCE' | 'ON_CARRIAGE' | 'ORIGIN_HANDLING' | 'OTHER' | 'PRE_CARRIAGE' | 'TAX_ESTIMATE';
71
+ export type MtwFreightCommercialCapture = {
72
+ __typename?: 'MtwFreightCommercialCapture';
73
+ cargo: MtwFreightCommercialCargoFact;
74
+ carrier: MtwFreightCommercialCarrierFact;
75
+ destination: MtwFreightCommercialLocationFact;
76
+ equipment: MtwFreightCommercialEquipmentFact;
77
+ origin: MtwFreightCommercialLocationFact;
78
+ ownerLegs: Array<MtwFreightCommercialOwnerLeg>;
79
+ ownerShipment: MtwFreightCommercialShipment;
80
+ schemaVersion: Scalars['Int']['output'];
81
+ selectedLegs: Array<MtwFreightCommercialLegPin>;
82
+ service: MtwFreightCommercialServiceFact;
83
+ volume: MtwFreightCommercialVolumeFact;
84
+ weight: MtwFreightCommercialWeightFact;
85
+ };
86
+ export type MtwFreightCommercialCargo = {
87
+ __typename?: 'MtwFreightCommercialCargo';
88
+ classificationLabel: Scalars['String']['output'];
89
+ description: Scalars['String']['output'];
90
+ };
91
+ export type MtwFreightCommercialCargoFact = {
92
+ __typename?: 'MtwFreightCommercialCargoFact';
93
+ provenance?: Maybe<MtwFreightCommercialProvenance>;
94
+ reason?: Maybe<Scalars['String']['output']>;
95
+ status: MtwFreightCommercialStatus;
96
+ value?: Maybe<MtwFreightCommercialCargo>;
97
+ };
98
+ export type MtwFreightCommercialCarrier = {
99
+ __typename?: 'MtwFreightCommercialCarrier';
100
+ label: Scalars['String']['output'];
101
+ reference: Scalars['String']['output'];
102
+ };
103
+ export type MtwFreightCommercialCarrierFact = {
104
+ __typename?: 'MtwFreightCommercialCarrierFact';
105
+ provenance?: Maybe<MtwFreightCommercialProvenance>;
106
+ reason?: Maybe<Scalars['String']['output']>;
107
+ status: MtwFreightCommercialStatus;
108
+ value?: Maybe<MtwFreightCommercialCarrier>;
109
+ };
110
+ export type MtwFreightCommercialEquipment = {
111
+ __typename?: 'MtwFreightCommercialEquipment';
112
+ count: Scalars['Int']['output'];
113
+ typeLabel: Scalars['String']['output'];
114
+ };
115
+ export type MtwFreightCommercialEquipmentFact = {
116
+ __typename?: 'MtwFreightCommercialEquipmentFact';
117
+ provenance?: Maybe<MtwFreightCommercialProvenance>;
118
+ reason?: Maybe<Scalars['String']['output']>;
119
+ status: MtwFreightCommercialStatus;
120
+ value?: Maybe<MtwFreightCommercialEquipment>;
121
+ };
122
+ export type MtwFreightCommercialLegPin = {
123
+ __typename?: 'MtwFreightCommercialLegPin';
124
+ expectedUpdatedAt: Scalars['DateTime']['output'];
125
+ id: Scalars['ID']['output'];
126
+ };
127
+ export type MtwFreightCommercialLink = {
128
+ __typename?: 'MtwFreightCommercialLink';
129
+ fileId: Scalars['ID']['output'];
130
+ versionId: Scalars['ID']['output'];
131
+ };
132
+ export type MtwFreightCommercialLocation = {
133
+ __typename?: 'MtwFreightCommercialLocation';
134
+ jurisdictionLabel?: Maybe<Scalars['String']['output']>;
135
+ kind: MtwFreightLocationKind;
136
+ label: Scalars['String']['output'];
137
+ };
138
+ export type MtwFreightCommercialLocationFact = {
139
+ __typename?: 'MtwFreightCommercialLocationFact';
140
+ provenance?: Maybe<MtwFreightCommercialProvenance>;
141
+ reason?: Maybe<Scalars['String']['output']>;
142
+ status: MtwFreightCommercialStatus;
143
+ value?: Maybe<MtwFreightCommercialLocation>;
144
+ };
145
+ export type MtwFreightCommercialOwnerLeg = {
146
+ __typename?: 'MtwFreightCommercialOwnerLeg';
147
+ carrierId?: Maybe<Scalars['ID']['output']>;
148
+ carrierName?: Maybe<Scalars['String']['output']>;
149
+ containerCount?: Maybe<Scalars['Int']['output']>;
150
+ containerType?: Maybe<OceanContainerType>;
151
+ id: Scalars['ID']['output'];
152
+ legNumber: Scalars['Int']['output'];
153
+ mode: TransportMode;
154
+ updatedAt: Scalars['DateTime']['output'];
155
+ volumeCbm?: Maybe<Scalars['Float']['output']>;
156
+ weightKg?: Maybe<Scalars['Float']['output']>;
157
+ };
158
+ export type MtwFreightCommercialProvenance = {
159
+ __typename?: 'MtwFreightCommercialProvenance';
160
+ evidenceLinks: Array<MtwFreightCommercialLink>;
161
+ observedAt?: Maybe<Scalars['DateTime']['output']>;
162
+ sourceReference: Scalars['String']['output'];
163
+ sourceRevision: Scalars['String']['output'];
164
+ };
165
+ export type MtwFreightCommercialServiceFact = {
166
+ __typename?: 'MtwFreightCommercialServiceFact';
167
+ provenance?: Maybe<MtwFreightCommercialProvenance>;
168
+ reason?: Maybe<Scalars['String']['output']>;
169
+ status: MtwFreightCommercialStatus;
170
+ value?: Maybe<Scalars['String']['output']>;
171
+ };
172
+ export type MtwFreightCommercialShipment = {
173
+ __typename?: 'MtwFreightCommercialShipment';
174
+ primaryMode: TransportMode;
175
+ shipmentId: Scalars['ID']['output'];
176
+ updatedAt: Scalars['DateTime']['output'];
177
+ };
178
+ /** Reported commercial context only; no quote acceptance or completeness authority. */
179
+ export type MtwFreightCommercialStatus = 'NOT_APPLICABLE' | 'SOURCED' | 'UNKNOWN';
180
+ export type MtwFreightCommercialVolume = {
181
+ __typename?: 'MtwFreightCommercialVolume';
182
+ amount: Scalars['String']['output'];
183
+ unit: MtwFreightVolumeUnit;
184
+ zeroReason?: Maybe<Scalars['String']['output']>;
185
+ };
186
+ export type MtwFreightCommercialVolumeFact = {
187
+ __typename?: 'MtwFreightCommercialVolumeFact';
188
+ provenance?: Maybe<MtwFreightCommercialProvenance>;
189
+ reason?: Maybe<Scalars['String']['output']>;
190
+ status: MtwFreightCommercialStatus;
191
+ value?: Maybe<MtwFreightCommercialVolume>;
192
+ };
193
+ export type MtwFreightCommercialWeight = {
194
+ __typename?: 'MtwFreightCommercialWeight';
195
+ amount: Scalars['String']['output'];
196
+ unit: MtwFreightWeightUnit;
197
+ zeroReason?: Maybe<Scalars['String']['output']>;
198
+ };
199
+ export type MtwFreightCommercialWeightFact = {
200
+ __typename?: 'MtwFreightCommercialWeightFact';
201
+ provenance?: Maybe<MtwFreightCommercialProvenance>;
202
+ reason?: Maybe<Scalars['String']['output']>;
203
+ status: MtwFreightCommercialStatus;
204
+ value?: Maybe<MtwFreightCommercialWeight>;
205
+ };
206
+ /** A declared currency/scale convention, not automatic ISO verification. */
207
+ export type MtwFreightCurrency = {
208
+ __typename?: 'MtwFreightCurrency';
209
+ code: Scalars['String']['output'];
210
+ minorUnitDigits: Scalars['Int']['output'];
211
+ };
212
+ export type MtwFreightCurrencyInput = {
213
+ code: Scalars['String']['input'];
214
+ minorUnitDigits: Scalars['Int']['input'];
215
+ };
216
+ export type MtwFreightDisposition = 'ADDITIONAL' | 'EXCLUDED' | 'INCLUDED_IN_LINE' | 'UNKNOWN';
217
+ export type MtwFreightEstimatePage = {
218
+ __typename?: 'MtwFreightEstimatePage';
219
+ hasMore: Scalars['Boolean']['output'];
220
+ items: Array<MtwFreightEstimateVersion>;
221
+ limit: Scalars['Int']['output'];
222
+ nextOffset?: Maybe<Scalars['Int']['output']>;
223
+ offset: Scalars['Int']['output'];
224
+ total: Scalars['Int']['output'];
225
+ };
226
+ export type MtwFreightEstimateVersion = {
227
+ __typename?: 'MtwFreightEstimateVersion';
228
+ actorProvenance: Scalars['String']['output'];
229
+ commercialCapture?: Maybe<MtwFreightCommercialCapture>;
230
+ createdBy: Scalars['ID']['output'];
231
+ estimateReference: Scalars['String']['output'];
232
+ evidence: Array<MtwContainerEvidence>;
233
+ facts: MtwFreightFacts;
234
+ id: Scalars['ID']['output'];
235
+ onBehalfOf?: Maybe<Scalars['ID']['output']>;
236
+ previousVersionId?: Maybe<Scalars['ID']['output']>;
237
+ recordedAt: Scalars['DateTime']['output'];
238
+ shipmentCapture: MtwFreightShipmentCapture;
239
+ shipmentId: Scalars['ID']['output'];
240
+ totals: MtwFreightPreview;
241
+ /** Validity is informational; this record does not accept a quote or confirm capacity. */
242
+ validityAtRead: Scalars['String']['output'];
243
+ version: Scalars['Int']['output'];
244
+ };
245
+ export type MtwFreightFacts = {
246
+ __typename?: 'MtwFreightFacts';
247
+ commercialScope: Scalars['String']['output'];
248
+ fx: Array<MtwFreightFx>;
249
+ kind: MtwFreightKind;
250
+ lines: Array<MtwFreightLine>;
251
+ pricingAt: Scalars['DateTime']['output'];
252
+ quotedAt?: Maybe<Scalars['DateTime']['output']>;
253
+ reportingCurrency?: Maybe<MtwFreightCurrency>;
254
+ requirements: Array<MtwFreightRequirement>;
255
+ rounding: MtwFreightRounding;
256
+ sourceReference: Scalars['String']['output'];
257
+ sourceRevision: Scalars['String']['output'];
258
+ title: Scalars['String']['output'];
259
+ validFrom?: Maybe<Scalars['DateTime']['output']>;
260
+ validUntil?: Maybe<Scalars['DateTime']['output']>;
261
+ };
262
+ export type MtwFreightFx = {
263
+ __typename?: 'MtwFreightFx';
264
+ effectiveFrom: Scalars['DateTime']['output'];
265
+ effectiveUntil: Scalars['DateTime']['output'];
266
+ fromCurrency: MtwFreightCurrency;
267
+ observedAt: Scalars['DateTime']['output'];
268
+ rate: Scalars['String']['output'];
269
+ sourceReference: Scalars['String']['output'];
270
+ sourceRevision: Scalars['String']['output'];
271
+ toCurrency: MtwFreightCurrency;
272
+ };
273
+ export type MtwFreightInvoiceAcceptance = 'NOT_ESTABLISHED';
274
+ export type MtwFreightInvoiceBlocker = 'EVIDENCE_REQUIRED' | 'INVOICE_REFERENCE_UNKNOWN' | 'SHIPMENT_NOT_LIVE' | 'SUPPLIER_UNKNOWN';
275
+ export type MtwFreightInvoiceComparableSubtotal = {
276
+ __typename?: 'MtwFreightInvoiceComparableSubtotal';
277
+ currency: MtwFreightCurrency;
278
+ deltaMinor: Scalars['String']['output'];
279
+ estimateMinor: Scalars['String']['output'];
280
+ invoiceLineIds: Array<Scalars['ID']['output']>;
281
+ invoiceMinor: Scalars['String']['output'];
282
+ payerReference: Scalars['String']['output'];
283
+ };
284
+ export type MtwFreightInvoiceComparison = {
285
+ __typename?: 'MtwFreightInvoiceComparison';
286
+ actorProvenance: Scalars['String']['output'];
287
+ correctionReason?: Maybe<Scalars['String']['output']>;
288
+ createdBy: Scalars['ID']['output'];
289
+ estimate: MtwFreightInvoiceEstimatePin;
290
+ estimateDeclaredSubtotals: Array<MtwFreightSubtotal>;
291
+ evidence: Array<MtwContainerEvidence>;
292
+ facts: MtwFreightInvoiceFacts;
293
+ id: Scalars['ID']['output'];
294
+ idempotencyKey: Scalars['String']['output'];
295
+ invoiceDeclaredSubtotals: Array<MtwFreightSubtotal>;
296
+ invoiceIdentityId: Scalars['ID']['output'];
297
+ methodVersion: Scalars['Int']['output'];
298
+ onBehalfOf?: Maybe<Scalars['ID']['output']>;
299
+ outcome: MtwFreightInvoiceOutcome;
300
+ previousComparisonId?: Maybe<Scalars['ID']['output']>;
301
+ recordedAt: Scalars['DateTime']['output'];
302
+ requestFingerprint: Scalars['String']['output'];
303
+ revision: Scalars['Int']['output'];
304
+ shipmentId: Scalars['ID']['output'];
305
+ };
306
+ export type MtwFreightInvoiceComparisonPage = {
307
+ __typename?: 'MtwFreightInvoiceComparisonPage';
308
+ hasMore: Scalars['Boolean']['output'];
309
+ items: Array<MtwFreightInvoiceComparison>;
310
+ limit: Scalars['Int']['output'];
311
+ nextOffset?: Maybe<Scalars['Int']['output']>;
312
+ offset: Scalars['Int']['output'];
313
+ total: Scalars['Int']['output'];
314
+ };
315
+ export type MtwFreightInvoiceEstimatePin = {
316
+ __typename?: 'MtwFreightInvoiceEstimatePin';
317
+ acceptance: MtwFreightInvoiceAcceptance;
318
+ estimateReference: Scalars['String']['output'];
319
+ id: Scalars['ID']['output'];
320
+ kind: MtwFreightKind;
321
+ quotedAt?: Maybe<Scalars['DateTime']['output']>;
322
+ sourceReference: Scalars['String']['output'];
323
+ sourceRevision: Scalars['String']['output'];
324
+ validFrom?: Maybe<Scalars['DateTime']['output']>;
325
+ validUntil?: Maybe<Scalars['DateTime']['output']>;
326
+ version: Scalars['Int']['output'];
327
+ };
328
+ export type MtwFreightInvoiceFacts = {
329
+ __typename?: 'MtwFreightInvoiceFacts';
330
+ currency: MtwFreightCurrency;
331
+ invoiceDate?: Maybe<Scalars['String']['output']>;
332
+ invoiceReference?: Maybe<Scalars['String']['output']>;
333
+ rows: Array<MtwFreightInvoiceRow>;
334
+ schemaVersion: Scalars['Int']['output'];
335
+ sourceReference: Scalars['String']['output'];
336
+ sourceRevision: Scalars['String']['output'];
337
+ supplierLabel?: Maybe<Scalars['String']['output']>;
338
+ supplierReference?: Maybe<Scalars['String']['output']>;
339
+ };
340
+ export type MtwFreightInvoiceFactsInput = {
341
+ currency: MtwFreightCurrencyInput;
342
+ /** An exact source date; unknown remains null. */
343
+ invoiceDate?: InputMaybe<Scalars['String']['input']>;
344
+ invoiceReference?: InputMaybe<Scalars['String']['input']>;
345
+ rows: Array<MtwFreightInvoiceRowInput>;
346
+ schemaVersion: Scalars['Int']['input'];
347
+ sourceReference: Scalars['String']['input'];
348
+ sourceRevision: Scalars['String']['input'];
349
+ supplierLabel?: InputMaybe<Scalars['String']['input']>;
350
+ supplierReference?: InputMaybe<Scalars['String']['input']>;
351
+ };
352
+ export type MtwFreightInvoiceFlag = 'AMOUNT_CHANGED' | 'CURRENCY_CHANGED' | 'DUPLICATE_MATCH' | 'EXCLUDED_CHARGE_APPEARED' | 'MATCHED' | 'MISSING_EXPECTED_LINE' | 'PAYER_CHANGED' | 'QUANTITY_CHANGED' | 'RATE_CHANGED' | 'UNKNOWN_COMPARISON' | 'UNMATCHED_INVOICE_LINE';
353
+ export type MtwFreightInvoiceOutcome = {
354
+ __typename?: 'MtwFreightInvoiceOutcome';
355
+ /** Only the explicit recorded comparison coverage, never all supplier charges or liability. */
356
+ allLinesMatched: Scalars['Boolean']['output'];
357
+ comparableSubtotals: Array<MtwFreightInvoiceComparableSubtotal>;
358
+ flags: Array<MtwFreightInvoiceFlag>;
359
+ missingExpectedLineIds: Array<Scalars['ID']['output']>;
360
+ rows: Array<MtwFreightInvoiceRowComparison>;
361
+ unknownExpectedCoverage: Array<MtwFreightInvoiceUnknownCoverage>;
362
+ };
363
+ export type MtwFreightInvoicePreview = {
364
+ __typename?: 'MtwFreightInvoicePreview';
365
+ blockers: Array<MtwFreightInvoiceBlocker>;
366
+ estimate: MtwFreightInvoiceEstimatePin;
367
+ estimateDeclaredSubtotals: Array<MtwFreightSubtotal>;
368
+ facts: MtwFreightInvoiceFacts;
369
+ invoiceDeclaredSubtotals: Array<MtwFreightSubtotal>;
370
+ methodVersion: Scalars['Int']['output'];
371
+ outcome: MtwFreightInvoiceOutcome;
372
+ recordable: Scalars['Boolean']['output'];
373
+ };
374
+ export type MtwFreightInvoiceReason = 'INCLUDED_CHILD_BILLED_SEPARATELY' | 'MISSING_AMOUNT' | 'MISSING_PAYER' | 'MISSING_QUANTITY' | 'MISSING_RATE' | 'MISSING_UNIT' | 'SCALE_MISMATCH' | 'UNIT_MISMATCH' | 'UNKNOWN_BASIS' | 'UNKNOWN_DISPOSITION' | 'UNKNOWN_EXPECTED_CHARGE_COVERAGE';
375
+ export type MtwFreightInvoiceRow = {
376
+ __typename?: 'MtwFreightInvoiceRow';
377
+ amountMinor?: Maybe<Scalars['String']['output']>;
378
+ currency: MtwFreightCurrency;
379
+ description: Scalars['String']['output'];
380
+ estimateLineId?: Maybe<Scalars['ID']['output']>;
381
+ id: Scalars['ID']['output'];
382
+ payerLabel?: Maybe<Scalars['String']['output']>;
383
+ payerReference?: Maybe<Scalars['String']['output']>;
384
+ quantity?: Maybe<Scalars['String']['output']>;
385
+ unit?: Maybe<Scalars['String']['output']>;
386
+ unitRateMajor?: Maybe<Scalars['String']['output']>;
387
+ zeroReason?: Maybe<Scalars['String']['output']>;
388
+ };
389
+ export type MtwFreightInvoiceRowComparison = {
390
+ __typename?: 'MtwFreightInvoiceRowComparison';
391
+ deltaMinor?: Maybe<Scalars['String']['output']>;
392
+ estimateLineId?: Maybe<Scalars['ID']['output']>;
393
+ flags: Array<MtwFreightInvoiceFlag>;
394
+ invoiceLineId: Scalars['ID']['output'];
395
+ reasons: Array<MtwFreightInvoiceReason>;
396
+ };
397
+ /** Manual reported invoice facts. This comparison does not establish liability or approve payment. */
398
+ export type MtwFreightInvoiceRowInput = {
399
+ amountMinor?: InputMaybe<Scalars['String']['input']>;
400
+ currency: MtwFreightCurrencyInput;
401
+ description: Scalars['String']['input'];
402
+ estimateLineId?: InputMaybe<Scalars['ID']['input']>;
403
+ id: Scalars['ID']['input'];
404
+ payerLabel?: InputMaybe<Scalars['String']['input']>;
405
+ payerReference?: InputMaybe<Scalars['String']['input']>;
406
+ quantity?: InputMaybe<Scalars['String']['input']>;
407
+ unit?: InputMaybe<Scalars['String']['input']>;
408
+ unitRateMajor?: InputMaybe<Scalars['String']['input']>;
409
+ zeroReason?: InputMaybe<Scalars['String']['input']>;
410
+ };
411
+ export type MtwFreightInvoiceUnknownCoverage = {
412
+ __typename?: 'MtwFreightInvoiceUnknownCoverage';
413
+ estimateLineId: Scalars['ID']['output'];
414
+ flag: MtwFreightInvoiceFlag;
415
+ reason: MtwFreightInvoiceReason;
416
+ };
417
+ export type MtwFreightKind = 'ESTIMATE' | 'QUOTE';
418
+ export type MtwFreightLine = {
419
+ __typename?: 'MtwFreightLine';
420
+ amountBasis: MtwFreightAmountBasis;
421
+ amountMinor?: Maybe<Scalars['String']['output']>;
422
+ category: MtwFreightCategory;
423
+ currency: MtwFreightCurrency;
424
+ description: Scalars['String']['output'];
425
+ disposition: MtwFreightDisposition;
426
+ id: Scalars['ID']['output'];
427
+ inclusionParentLineId?: Maybe<Scalars['ID']['output']>;
428
+ payerLabel?: Maybe<Scalars['String']['output']>;
429
+ payerReference?: Maybe<Scalars['String']['output']>;
430
+ quantity?: Maybe<Scalars['String']['output']>;
431
+ sourceReference?: Maybe<Scalars['String']['output']>;
432
+ sourceRevision?: Maybe<Scalars['String']['output']>;
433
+ unit?: Maybe<Scalars['String']['output']>;
434
+ unitRateMajor?: Maybe<Scalars['String']['output']>;
435
+ zeroReason?: Maybe<Scalars['String']['output']>;
436
+ };
437
+ export type MtwFreightLineTotal = {
438
+ __typename?: 'MtwFreightLineTotal';
439
+ id: Scalars['ID']['output'];
440
+ nativeAmountMinor?: Maybe<Scalars['String']['output']>;
441
+ reportingAmountMinor?: Maybe<Scalars['String']['output']>;
442
+ roundedToZero: Scalars['Boolean']['output'];
443
+ };
444
+ export type MtwFreightLocationKind = 'ADDRESS_LABEL' | 'CUSTOM_LABEL' | 'PORT_LABEL' | 'POSTCODE_LABEL' | 'TERMINAL_LABEL';
445
+ /** Completeness applies only to the recorded required-charge declarations, not all possible charges. */
446
+ export type MtwFreightPreview = {
447
+ __typename?: 'MtwFreightPreview';
448
+ completeRelativeToDeclarations: Scalars['Boolean']['output'];
449
+ lines: Array<MtwFreightLineTotal>;
450
+ reasons: Array<MtwFreightReason>;
451
+ reportingTotalMinor?: Maybe<Scalars['String']['output']>;
452
+ subtotals: Array<MtwFreightSubtotal>;
453
+ warnings: Array<MtwFreightReason>;
454
+ };
455
+ export type MtwFreightReason = {
456
+ __typename?: 'MtwFreightReason';
457
+ code: Scalars['String']['output'];
458
+ detail: Scalars['String']['output'];
459
+ lineId?: Maybe<Scalars['ID']['output']>;
460
+ };
461
+ export type MtwFreightRequirement = {
462
+ __typename?: 'MtwFreightRequirement';
463
+ category: MtwFreightCategory;
464
+ reason?: Maybe<Scalars['String']['output']>;
465
+ sourceReference?: Maybe<Scalars['String']['output']>;
466
+ sourceRevision?: Maybe<Scalars['String']['output']>;
467
+ status: MtwFreightRequirementStatus;
468
+ };
469
+ export type MtwFreightRequirementStatus = 'NOT_APPLICABLE' | 'REQUIRED' | 'UNKNOWN';
470
+ export type MtwFreightRounding = 'HALF_UP_LINE';
471
+ export type MtwFreightShipmentCapture = {
472
+ __typename?: 'MtwFreightShipmentCapture';
473
+ capturedUpdatedAt: Scalars['DateTime']['output'];
474
+ primaryMode: Scalars['String']['output'];
475
+ shipmentNumber: Scalars['String']['output'];
476
+ };
477
+ export type MtwFreightSubtotal = {
478
+ __typename?: 'MtwFreightSubtotal';
479
+ currency: MtwFreightCurrency;
480
+ knownAmountMinor: Scalars['String']['output'];
481
+ payerLabel?: Maybe<Scalars['String']['output']>;
482
+ payerReference?: Maybe<Scalars['String']['output']>;
483
+ totalAmountMinor?: Maybe<Scalars['String']['output']>;
484
+ };
485
+ export type MtwFreightVolumeUnit = 'FT3' | 'M3';
486
+ export type MtwFreightWeightUnit = 'KG' | 'LB' | 'TONNE';
487
+ export type MtwShipment = {
488
+ __typename?: 'MtwShipment';
489
+ id: Scalars['ID']['output'];
490
+ legs: Array<MtwShipmentLeg>;
491
+ primaryMode: TransportMode;
492
+ shipmentNumber: Scalars['String']['output'];
493
+ status: ShipmentStatus;
494
+ updatedAt: Scalars['DateTime']['output'];
495
+ };
496
+ export type MtwShipmentLegsArgs = {
497
+ pagination?: InputMaybe<PaginationInput>;
498
+ };
499
+ export type MtwShipmentLeg = {
500
+ __typename?: 'MtwShipmentLeg';
501
+ carrierId?: Maybe<Scalars['ID']['output']>;
502
+ carrierName?: Maybe<Scalars['String']['output']>;
503
+ containerCount?: Maybe<Scalars['Int']['output']>;
504
+ containerType?: Maybe<OceanContainerType>;
505
+ id: Scalars['ID']['output'];
506
+ legNumber: Scalars['Int']['output'];
507
+ mode: TransportMode;
508
+ shipmentId: Scalars['ID']['output'];
509
+ updatedAt: Scalars['DateTime']['output'];
510
+ volumeCbm?: Maybe<Scalars['Float']['output']>;
511
+ weightKg?: Maybe<Scalars['Float']['output']>;
512
+ };
513
+ export type Mutation = {
514
+ __typename?: 'Mutation';
515
+ compareMtwFreightInvoice: MtwFreightInvoiceComparison;
516
+ };
517
+ export type MutationCompareMtwFreightInvoiceArgs = {
518
+ input: CompareMtwFreightInvoiceInput;
519
+ };
520
+ export type OceanContainerType = 'FCL_20FT' | 'FCL_40FT' | 'FCL_40FT_HC' | 'LCL';
521
+ export type PaginationInput = {
522
+ cursor?: InputMaybe<Scalars['String']['input']>;
523
+ limit?: InputMaybe<Scalars['Int']['input']>;
524
+ offset?: InputMaybe<Scalars['Int']['input']>;
525
+ };
526
+ export type PreviewMtwFreightInvoiceInput = {
527
+ estimateVersionId: Scalars['ID']['input'];
528
+ evidence?: InputMaybe<Array<MtwContainerEvidenceInput>>;
529
+ facts: MtwFreightInvoiceFactsInput;
530
+ shipmentId: Scalars['ID']['input'];
531
+ };
532
+ export type Query = {
533
+ __typename?: 'Query';
534
+ mtwFreightEstimatePage: MtwFreightEstimatePage;
535
+ mtwFreightEstimateVersion: MtwFreightEstimateVersion;
536
+ mtwFreightInvoiceComparison: MtwFreightInvoiceComparison;
537
+ /** Null is not proof of no effect and never authorizes resubmission. Exact original actor/context only. */
538
+ mtwFreightInvoiceComparisonByRequestKey?: Maybe<MtwFreightInvoiceComparison>;
539
+ mtwFreightInvoiceComparisonPage: MtwFreightInvoiceComparisonPage;
540
+ previewMtwFreightInvoice: MtwFreightInvoicePreview;
541
+ shipment?: Maybe<MtwShipment>;
542
+ shipments: Array<MtwShipment>;
543
+ shipmentsCount: Scalars['Int']['output'];
544
+ };
545
+ export type QueryMtwFreightEstimatePageArgs = {
546
+ estimateReference?: InputMaybe<Scalars['String']['input']>;
547
+ pagination?: InputMaybe<MtwContainerPagination>;
548
+ shipmentId: Scalars['ID']['input'];
549
+ };
550
+ export type QueryMtwFreightEstimateVersionArgs = {
551
+ id: Scalars['ID']['input'];
552
+ shipmentId: Scalars['ID']['input'];
553
+ };
554
+ export type QueryMtwFreightInvoiceComparisonArgs = {
555
+ id: Scalars['ID']['input'];
556
+ shipmentId: Scalars['ID']['input'];
557
+ };
558
+ export type QueryMtwFreightInvoiceComparisonByRequestKeyArgs = {
559
+ requestKey: Scalars['String']['input'];
560
+ shipmentId: Scalars['ID']['input'];
561
+ };
562
+ export type QueryMtwFreightInvoiceComparisonPageArgs = {
563
+ invoiceIdentityId: Scalars['ID']['input'];
564
+ pagination?: InputMaybe<MtwContainerPagination>;
565
+ shipmentId: Scalars['ID']['input'];
566
+ };
567
+ export type QueryPreviewMtwFreightInvoiceArgs = {
568
+ input: PreviewMtwFreightInvoiceInput;
569
+ };
570
+ export type QueryShipmentArgs = {
571
+ id: Scalars['ID']['input'];
572
+ };
573
+ export type QueryShipmentsArgs = {
574
+ filter?: InputMaybe<ShipmentFilterInput>;
575
+ pagination?: InputMaybe<PaginationInput>;
576
+ };
577
+ export type QueryShipmentsCountArgs = {
578
+ filter?: InputMaybe<ShipmentFilterInput>;
579
+ };
580
+ export type ShipmentFilterInput = {
581
+ carrierId?: InputMaybe<Scalars['ID']['input']>;
582
+ customerId?: InputMaybe<Scalars['ID']['input']>;
583
+ deliveryJobId?: InputMaybe<Scalars['ID']['input']>;
584
+ driverId?: InputMaybe<Scalars['ID']['input']>;
585
+ isMultiModal?: InputMaybe<Scalars['Boolean']['input']>;
586
+ primaryMode?: InputMaybe<TransportMode>;
587
+ search?: InputMaybe<Scalars['String']['input']>;
588
+ status?: InputMaybe<ShipmentStatus>;
589
+ storeOrderId?: InputMaybe<Scalars['ID']['input']>;
590
+ vehicleId?: InputMaybe<Scalars['ID']['input']>;
591
+ };
592
+ export type ShipmentStatus = 'DELIVERED' | 'FAILED' | 'IN_TRANSIT' | 'PICKED_UP' | 'PLANNED' | 'RETURNED';
593
+ export type TransportMode = 'AIR' | 'OCEAN' | 'RAIL' | 'ROAD';
594
+ export type InvoiceSourceFactsFragment = {
595
+ schemaVersion: number;
596
+ supplierReference: string | null;
597
+ supplierLabel: string | null;
598
+ invoiceReference: string | null;
599
+ sourceReference: string;
600
+ sourceRevision: string;
601
+ invoiceDate: string | null;
602
+ currency: {
603
+ code: string;
604
+ minorUnitDigits: number;
605
+ };
606
+ rows: Array<{
607
+ id: string;
608
+ description: string;
609
+ estimateLineId: string | null;
610
+ payerReference: string | null;
611
+ payerLabel: string | null;
612
+ quantity: string | null;
613
+ unit: string | null;
614
+ unitRateMajor: string | null;
615
+ amountMinor: string | null;
616
+ zeroReason: string | null;
617
+ currency: {
618
+ code: string;
619
+ minorUnitDigits: number;
620
+ };
621
+ }>;
622
+ };
623
+ export type InvoiceOutcomeFragment = {
624
+ flags: Array<Types.MtwFreightInvoiceFlag>;
625
+ allLinesMatched: boolean;
626
+ missingExpectedLineIds: Array<string>;
627
+ unknownExpectedCoverage: Array<{
628
+ estimateLineId: string;
629
+ flag: Types.MtwFreightInvoiceFlag;
630
+ reason: Types.MtwFreightInvoiceReason;
631
+ }>;
632
+ rows: Array<{
633
+ invoiceLineId: string;
634
+ estimateLineId: string | null;
635
+ flags: Array<Types.MtwFreightInvoiceFlag>;
636
+ reasons: Array<Types.MtwFreightInvoiceReason>;
637
+ deltaMinor: string | null;
638
+ }>;
639
+ comparableSubtotals: Array<{
640
+ payerReference: string;
641
+ estimateMinor: string;
642
+ invoiceMinor: string;
643
+ deltaMinor: string;
644
+ invoiceLineIds: Array<string>;
645
+ currency: {
646
+ code: string;
647
+ minorUnitDigits: number;
648
+ };
649
+ }>;
650
+ };
651
+ export type InvoiceDeclaredSubtotalFragment = {
652
+ payerReference: string | null;
653
+ payerLabel: string | null;
654
+ knownAmountMinor: string;
655
+ totalAmountMinor: string | null;
656
+ currency: {
657
+ code: string;
658
+ minorUnitDigits: number;
659
+ };
660
+ };
661
+ export type InvoiceEstimatePinFragment = {
662
+ id: string;
663
+ estimateReference: string;
664
+ version: number;
665
+ kind: Types.MtwFreightKind;
666
+ sourceReference: string;
667
+ sourceRevision: string;
668
+ quotedAt: string | null;
669
+ validFrom: string | null;
670
+ validUntil: string | null;
671
+ acceptance: Types.MtwFreightInvoiceAcceptance;
672
+ };
673
+ export type InvoiceReceiptFragment = {
674
+ id: string;
675
+ shipmentId: string;
676
+ invoiceIdentityId: string;
677
+ revision: number;
678
+ previousComparisonId: string | null;
679
+ correctionReason: string | null;
680
+ methodVersion: number;
681
+ idempotencyKey: string;
682
+ requestFingerprint: string;
683
+ recordedAt: string;
684
+ createdBy: string;
685
+ actorProvenance: string;
686
+ onBehalfOf: string | null;
687
+ estimate: {
688
+ id: string;
689
+ estimateReference: string;
690
+ version: number;
691
+ kind: Types.MtwFreightKind;
692
+ sourceReference: string;
693
+ sourceRevision: string;
694
+ quotedAt: string | null;
695
+ validFrom: string | null;
696
+ validUntil: string | null;
697
+ acceptance: Types.MtwFreightInvoiceAcceptance;
698
+ };
699
+ facts: {
700
+ schemaVersion: number;
701
+ supplierReference: string | null;
702
+ supplierLabel: string | null;
703
+ invoiceReference: string | null;
704
+ sourceReference: string;
705
+ sourceRevision: string;
706
+ invoiceDate: string | null;
707
+ currency: {
708
+ code: string;
709
+ minorUnitDigits: number;
710
+ };
711
+ rows: Array<{
712
+ id: string;
713
+ description: string;
714
+ estimateLineId: string | null;
715
+ payerReference: string | null;
716
+ payerLabel: string | null;
717
+ quantity: string | null;
718
+ unit: string | null;
719
+ unitRateMajor: string | null;
720
+ amountMinor: string | null;
721
+ zeroReason: string | null;
722
+ currency: {
723
+ code: string;
724
+ minorUnitDigits: number;
725
+ };
726
+ }>;
727
+ };
728
+ outcome: {
729
+ flags: Array<Types.MtwFreightInvoiceFlag>;
730
+ allLinesMatched: boolean;
731
+ missingExpectedLineIds: Array<string>;
732
+ unknownExpectedCoverage: Array<{
733
+ estimateLineId: string;
734
+ flag: Types.MtwFreightInvoiceFlag;
735
+ reason: Types.MtwFreightInvoiceReason;
736
+ }>;
737
+ rows: Array<{
738
+ invoiceLineId: string;
739
+ estimateLineId: string | null;
740
+ flags: Array<Types.MtwFreightInvoiceFlag>;
741
+ reasons: Array<Types.MtwFreightInvoiceReason>;
742
+ deltaMinor: string | null;
743
+ }>;
744
+ comparableSubtotals: Array<{
745
+ payerReference: string;
746
+ estimateMinor: string;
747
+ invoiceMinor: string;
748
+ deltaMinor: string;
749
+ invoiceLineIds: Array<string>;
750
+ currency: {
751
+ code: string;
752
+ minorUnitDigits: number;
753
+ };
754
+ }>;
755
+ };
756
+ estimateDeclaredSubtotals: Array<{
757
+ payerReference: string | null;
758
+ payerLabel: string | null;
759
+ knownAmountMinor: string;
760
+ totalAmountMinor: string | null;
761
+ currency: {
762
+ code: string;
763
+ minorUnitDigits: number;
764
+ };
765
+ }>;
766
+ invoiceDeclaredSubtotals: Array<{
767
+ payerReference: string | null;
768
+ payerLabel: string | null;
769
+ knownAmountMinor: string;
770
+ totalAmountMinor: string | null;
771
+ currency: {
772
+ code: string;
773
+ minorUnitDigits: number;
774
+ };
775
+ }>;
776
+ evidence: Array<{
777
+ fileId: string;
778
+ versionId: string;
779
+ sha256Hash: string;
780
+ checkedAt: string;
781
+ }>;
782
+ };
783
+ export type InvoiceShipmentsQueryVariables = Exact<{
784
+ pagination?: Types.PaginationInput | null | undefined;
785
+ }>;
786
+ export type InvoiceShipmentsQuery = {
787
+ shipmentsCount: number;
788
+ shipments: Array<{
789
+ id: string;
790
+ shipmentNumber: string;
791
+ primaryMode: Types.TransportMode;
792
+ status: Types.ShipmentStatus;
793
+ }>;
794
+ };
795
+ export type InvoiceEstimatePageQueryVariables = Exact<{
796
+ shipmentId: string;
797
+ pagination?: Types.MtwContainerPagination | null | undefined;
798
+ }>;
799
+ export type InvoiceEstimatePageQuery = {
800
+ mtwFreightEstimatePage: {
801
+ total: number;
802
+ limit: number;
803
+ offset: number;
804
+ hasMore: boolean;
805
+ nextOffset: number | null;
806
+ items: Array<{
807
+ id: string;
808
+ shipmentId: string;
809
+ estimateReference: string;
810
+ version: number;
811
+ facts: {
812
+ title: string;
813
+ kind: Types.MtwFreightKind;
814
+ };
815
+ }>;
816
+ };
817
+ };
818
+ export type InvoiceEstimateVersionQueryVariables = Exact<{
819
+ shipmentId: string;
820
+ id: string;
821
+ }>;
822
+ export type InvoiceEstimateVersionQuery = {
823
+ mtwFreightEstimateVersion: {
824
+ id: string;
825
+ shipmentId: string;
826
+ estimateReference: string;
827
+ version: number;
828
+ validityAtRead: string;
829
+ facts: {
830
+ title: string;
831
+ kind: Types.MtwFreightKind;
832
+ sourceReference: string;
833
+ sourceRevision: string;
834
+ quotedAt: string | null;
835
+ validFrom: string | null;
836
+ validUntil: string | null;
837
+ lines: Array<{
838
+ id: string;
839
+ description: string;
840
+ disposition: Types.MtwFreightDisposition;
841
+ amountBasis: Types.MtwFreightAmountBasis;
842
+ quantity: string | null;
843
+ unit: string | null;
844
+ unitRateMajor: string | null;
845
+ amountMinor: string | null;
846
+ payerReference: string | null;
847
+ payerLabel: string | null;
848
+ inclusionParentLineId: string | null;
849
+ currency: {
850
+ code: string;
851
+ minorUnitDigits: number;
852
+ };
853
+ }>;
854
+ };
855
+ totals: {
856
+ completeRelativeToDeclarations: boolean;
857
+ lines: Array<{
858
+ id: string;
859
+ nativeAmountMinor: string | null;
860
+ }>;
861
+ };
862
+ };
863
+ };
864
+ export type InvoiceStructuralPreviewQueryVariables = Exact<{
865
+ input: Types.PreviewMtwFreightInvoiceInput;
866
+ }>;
867
+ export type InvoiceStructuralPreviewQuery = {
868
+ previewMtwFreightInvoice: {
869
+ methodVersion: number;
870
+ recordable: boolean;
871
+ blockers: Array<Types.MtwFreightInvoiceBlocker>;
872
+ estimate: {
873
+ id: string;
874
+ estimateReference: string;
875
+ version: number;
876
+ kind: Types.MtwFreightKind;
877
+ sourceReference: string;
878
+ sourceRevision: string;
879
+ quotedAt: string | null;
880
+ validFrom: string | null;
881
+ validUntil: string | null;
882
+ acceptance: Types.MtwFreightInvoiceAcceptance;
883
+ };
884
+ facts: {
885
+ schemaVersion: number;
886
+ supplierReference: string | null;
887
+ supplierLabel: string | null;
888
+ invoiceReference: string | null;
889
+ sourceReference: string;
890
+ sourceRevision: string;
891
+ invoiceDate: string | null;
892
+ currency: {
893
+ code: string;
894
+ minorUnitDigits: number;
895
+ };
896
+ rows: Array<{
897
+ id: string;
898
+ description: string;
899
+ estimateLineId: string | null;
900
+ payerReference: string | null;
901
+ payerLabel: string | null;
902
+ quantity: string | null;
903
+ unit: string | null;
904
+ unitRateMajor: string | null;
905
+ amountMinor: string | null;
906
+ zeroReason: string | null;
907
+ currency: {
908
+ code: string;
909
+ minorUnitDigits: number;
910
+ };
911
+ }>;
912
+ };
913
+ outcome: {
914
+ flags: Array<Types.MtwFreightInvoiceFlag>;
915
+ allLinesMatched: boolean;
916
+ missingExpectedLineIds: Array<string>;
917
+ unknownExpectedCoverage: Array<{
918
+ estimateLineId: string;
919
+ flag: Types.MtwFreightInvoiceFlag;
920
+ reason: Types.MtwFreightInvoiceReason;
921
+ }>;
922
+ rows: Array<{
923
+ invoiceLineId: string;
924
+ estimateLineId: string | null;
925
+ flags: Array<Types.MtwFreightInvoiceFlag>;
926
+ reasons: Array<Types.MtwFreightInvoiceReason>;
927
+ deltaMinor: string | null;
928
+ }>;
929
+ comparableSubtotals: Array<{
930
+ payerReference: string;
931
+ estimateMinor: string;
932
+ invoiceMinor: string;
933
+ deltaMinor: string;
934
+ invoiceLineIds: Array<string>;
935
+ currency: {
936
+ code: string;
937
+ minorUnitDigits: number;
938
+ };
939
+ }>;
940
+ };
941
+ estimateDeclaredSubtotals: Array<{
942
+ payerReference: string | null;
943
+ payerLabel: string | null;
944
+ knownAmountMinor: string;
945
+ totalAmountMinor: string | null;
946
+ currency: {
947
+ code: string;
948
+ minorUnitDigits: number;
949
+ };
950
+ }>;
951
+ invoiceDeclaredSubtotals: Array<{
952
+ payerReference: string | null;
953
+ payerLabel: string | null;
954
+ knownAmountMinor: string;
955
+ totalAmountMinor: string | null;
956
+ currency: {
957
+ code: string;
958
+ minorUnitDigits: number;
959
+ };
960
+ }>;
961
+ };
962
+ };
963
+ export type RecordInvoiceComparisonMutationVariables = Exact<{
964
+ input: Types.CompareMtwFreightInvoiceInput;
965
+ }>;
966
+ export type RecordInvoiceComparisonMutation = {
967
+ compareMtwFreightInvoice: {
968
+ id: string;
969
+ shipmentId: string;
970
+ invoiceIdentityId: string;
971
+ revision: number;
972
+ previousComparisonId: string | null;
973
+ correctionReason: string | null;
974
+ methodVersion: number;
975
+ idempotencyKey: string;
976
+ requestFingerprint: string;
977
+ recordedAt: string;
978
+ createdBy: string;
979
+ actorProvenance: string;
980
+ onBehalfOf: string | null;
981
+ estimate: {
982
+ id: string;
983
+ estimateReference: string;
984
+ version: number;
985
+ kind: Types.MtwFreightKind;
986
+ sourceReference: string;
987
+ sourceRevision: string;
988
+ quotedAt: string | null;
989
+ validFrom: string | null;
990
+ validUntil: string | null;
991
+ acceptance: Types.MtwFreightInvoiceAcceptance;
992
+ };
993
+ facts: {
994
+ schemaVersion: number;
995
+ supplierReference: string | null;
996
+ supplierLabel: string | null;
997
+ invoiceReference: string | null;
998
+ sourceReference: string;
999
+ sourceRevision: string;
1000
+ invoiceDate: string | null;
1001
+ currency: {
1002
+ code: string;
1003
+ minorUnitDigits: number;
1004
+ };
1005
+ rows: Array<{
1006
+ id: string;
1007
+ description: string;
1008
+ estimateLineId: string | null;
1009
+ payerReference: string | null;
1010
+ payerLabel: string | null;
1011
+ quantity: string | null;
1012
+ unit: string | null;
1013
+ unitRateMajor: string | null;
1014
+ amountMinor: string | null;
1015
+ zeroReason: string | null;
1016
+ currency: {
1017
+ code: string;
1018
+ minorUnitDigits: number;
1019
+ };
1020
+ }>;
1021
+ };
1022
+ outcome: {
1023
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1024
+ allLinesMatched: boolean;
1025
+ missingExpectedLineIds: Array<string>;
1026
+ unknownExpectedCoverage: Array<{
1027
+ estimateLineId: string;
1028
+ flag: Types.MtwFreightInvoiceFlag;
1029
+ reason: Types.MtwFreightInvoiceReason;
1030
+ }>;
1031
+ rows: Array<{
1032
+ invoiceLineId: string;
1033
+ estimateLineId: string | null;
1034
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1035
+ reasons: Array<Types.MtwFreightInvoiceReason>;
1036
+ deltaMinor: string | null;
1037
+ }>;
1038
+ comparableSubtotals: Array<{
1039
+ payerReference: string;
1040
+ estimateMinor: string;
1041
+ invoiceMinor: string;
1042
+ deltaMinor: string;
1043
+ invoiceLineIds: Array<string>;
1044
+ currency: {
1045
+ code: string;
1046
+ minorUnitDigits: number;
1047
+ };
1048
+ }>;
1049
+ };
1050
+ estimateDeclaredSubtotals: Array<{
1051
+ payerReference: string | null;
1052
+ payerLabel: string | null;
1053
+ knownAmountMinor: string;
1054
+ totalAmountMinor: string | null;
1055
+ currency: {
1056
+ code: string;
1057
+ minorUnitDigits: number;
1058
+ };
1059
+ }>;
1060
+ invoiceDeclaredSubtotals: Array<{
1061
+ payerReference: string | null;
1062
+ payerLabel: string | null;
1063
+ knownAmountMinor: string;
1064
+ totalAmountMinor: string | null;
1065
+ currency: {
1066
+ code: string;
1067
+ minorUnitDigits: number;
1068
+ };
1069
+ }>;
1070
+ evidence: Array<{
1071
+ fileId: string;
1072
+ versionId: string;
1073
+ sha256Hash: string;
1074
+ checkedAt: string;
1075
+ }>;
1076
+ };
1077
+ };
1078
+ export type InvoiceComparisonExactQueryVariables = Exact<{
1079
+ shipmentId: string;
1080
+ id: string;
1081
+ }>;
1082
+ export type InvoiceComparisonExactQuery = {
1083
+ mtwFreightInvoiceComparison: {
1084
+ id: string;
1085
+ shipmentId: string;
1086
+ invoiceIdentityId: string;
1087
+ revision: number;
1088
+ previousComparisonId: string | null;
1089
+ correctionReason: string | null;
1090
+ methodVersion: number;
1091
+ idempotencyKey: string;
1092
+ requestFingerprint: string;
1093
+ recordedAt: string;
1094
+ createdBy: string;
1095
+ actorProvenance: string;
1096
+ onBehalfOf: string | null;
1097
+ estimate: {
1098
+ id: string;
1099
+ estimateReference: string;
1100
+ version: number;
1101
+ kind: Types.MtwFreightKind;
1102
+ sourceReference: string;
1103
+ sourceRevision: string;
1104
+ quotedAt: string | null;
1105
+ validFrom: string | null;
1106
+ validUntil: string | null;
1107
+ acceptance: Types.MtwFreightInvoiceAcceptance;
1108
+ };
1109
+ facts: {
1110
+ schemaVersion: number;
1111
+ supplierReference: string | null;
1112
+ supplierLabel: string | null;
1113
+ invoiceReference: string | null;
1114
+ sourceReference: string;
1115
+ sourceRevision: string;
1116
+ invoiceDate: string | null;
1117
+ currency: {
1118
+ code: string;
1119
+ minorUnitDigits: number;
1120
+ };
1121
+ rows: Array<{
1122
+ id: string;
1123
+ description: string;
1124
+ estimateLineId: string | null;
1125
+ payerReference: string | null;
1126
+ payerLabel: string | null;
1127
+ quantity: string | null;
1128
+ unit: string | null;
1129
+ unitRateMajor: string | null;
1130
+ amountMinor: string | null;
1131
+ zeroReason: string | null;
1132
+ currency: {
1133
+ code: string;
1134
+ minorUnitDigits: number;
1135
+ };
1136
+ }>;
1137
+ };
1138
+ outcome: {
1139
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1140
+ allLinesMatched: boolean;
1141
+ missingExpectedLineIds: Array<string>;
1142
+ unknownExpectedCoverage: Array<{
1143
+ estimateLineId: string;
1144
+ flag: Types.MtwFreightInvoiceFlag;
1145
+ reason: Types.MtwFreightInvoiceReason;
1146
+ }>;
1147
+ rows: Array<{
1148
+ invoiceLineId: string;
1149
+ estimateLineId: string | null;
1150
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1151
+ reasons: Array<Types.MtwFreightInvoiceReason>;
1152
+ deltaMinor: string | null;
1153
+ }>;
1154
+ comparableSubtotals: Array<{
1155
+ payerReference: string;
1156
+ estimateMinor: string;
1157
+ invoiceMinor: string;
1158
+ deltaMinor: string;
1159
+ invoiceLineIds: Array<string>;
1160
+ currency: {
1161
+ code: string;
1162
+ minorUnitDigits: number;
1163
+ };
1164
+ }>;
1165
+ };
1166
+ estimateDeclaredSubtotals: Array<{
1167
+ payerReference: string | null;
1168
+ payerLabel: string | null;
1169
+ knownAmountMinor: string;
1170
+ totalAmountMinor: string | null;
1171
+ currency: {
1172
+ code: string;
1173
+ minorUnitDigits: number;
1174
+ };
1175
+ }>;
1176
+ invoiceDeclaredSubtotals: Array<{
1177
+ payerReference: string | null;
1178
+ payerLabel: string | null;
1179
+ knownAmountMinor: string;
1180
+ totalAmountMinor: string | null;
1181
+ currency: {
1182
+ code: string;
1183
+ minorUnitDigits: number;
1184
+ };
1185
+ }>;
1186
+ evidence: Array<{
1187
+ fileId: string;
1188
+ versionId: string;
1189
+ sha256Hash: string;
1190
+ checkedAt: string;
1191
+ }>;
1192
+ };
1193
+ };
1194
+ export type InvoiceComparisonHistoryQueryVariables = Exact<{
1195
+ shipmentId: string;
1196
+ invoiceIdentityId: string;
1197
+ pagination?: Types.MtwContainerPagination | null | undefined;
1198
+ }>;
1199
+ export type InvoiceComparisonHistoryQuery = {
1200
+ mtwFreightInvoiceComparisonPage: {
1201
+ total: number;
1202
+ limit: number;
1203
+ offset: number;
1204
+ hasMore: boolean;
1205
+ nextOffset: number | null;
1206
+ items: Array<{
1207
+ id: string;
1208
+ shipmentId: string;
1209
+ invoiceIdentityId: string;
1210
+ revision: number;
1211
+ previousComparisonId: string | null;
1212
+ correctionReason: string | null;
1213
+ methodVersion: number;
1214
+ idempotencyKey: string;
1215
+ requestFingerprint: string;
1216
+ recordedAt: string;
1217
+ createdBy: string;
1218
+ actorProvenance: string;
1219
+ onBehalfOf: string | null;
1220
+ estimate: {
1221
+ id: string;
1222
+ estimateReference: string;
1223
+ version: number;
1224
+ kind: Types.MtwFreightKind;
1225
+ sourceReference: string;
1226
+ sourceRevision: string;
1227
+ quotedAt: string | null;
1228
+ validFrom: string | null;
1229
+ validUntil: string | null;
1230
+ acceptance: Types.MtwFreightInvoiceAcceptance;
1231
+ };
1232
+ facts: {
1233
+ schemaVersion: number;
1234
+ supplierReference: string | null;
1235
+ supplierLabel: string | null;
1236
+ invoiceReference: string | null;
1237
+ sourceReference: string;
1238
+ sourceRevision: string;
1239
+ invoiceDate: string | null;
1240
+ currency: {
1241
+ code: string;
1242
+ minorUnitDigits: number;
1243
+ };
1244
+ rows: Array<{
1245
+ id: string;
1246
+ description: string;
1247
+ estimateLineId: string | null;
1248
+ payerReference: string | null;
1249
+ payerLabel: string | null;
1250
+ quantity: string | null;
1251
+ unit: string | null;
1252
+ unitRateMajor: string | null;
1253
+ amountMinor: string | null;
1254
+ zeroReason: string | null;
1255
+ currency: {
1256
+ code: string;
1257
+ minorUnitDigits: number;
1258
+ };
1259
+ }>;
1260
+ };
1261
+ outcome: {
1262
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1263
+ allLinesMatched: boolean;
1264
+ missingExpectedLineIds: Array<string>;
1265
+ unknownExpectedCoverage: Array<{
1266
+ estimateLineId: string;
1267
+ flag: Types.MtwFreightInvoiceFlag;
1268
+ reason: Types.MtwFreightInvoiceReason;
1269
+ }>;
1270
+ rows: Array<{
1271
+ invoiceLineId: string;
1272
+ estimateLineId: string | null;
1273
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1274
+ reasons: Array<Types.MtwFreightInvoiceReason>;
1275
+ deltaMinor: string | null;
1276
+ }>;
1277
+ comparableSubtotals: Array<{
1278
+ payerReference: string;
1279
+ estimateMinor: string;
1280
+ invoiceMinor: string;
1281
+ deltaMinor: string;
1282
+ invoiceLineIds: Array<string>;
1283
+ currency: {
1284
+ code: string;
1285
+ minorUnitDigits: number;
1286
+ };
1287
+ }>;
1288
+ };
1289
+ estimateDeclaredSubtotals: Array<{
1290
+ payerReference: string | null;
1291
+ payerLabel: string | null;
1292
+ knownAmountMinor: string;
1293
+ totalAmountMinor: string | null;
1294
+ currency: {
1295
+ code: string;
1296
+ minorUnitDigits: number;
1297
+ };
1298
+ }>;
1299
+ invoiceDeclaredSubtotals: Array<{
1300
+ payerReference: string | null;
1301
+ payerLabel: string | null;
1302
+ knownAmountMinor: string;
1303
+ totalAmountMinor: string | null;
1304
+ currency: {
1305
+ code: string;
1306
+ minorUnitDigits: number;
1307
+ };
1308
+ }>;
1309
+ evidence: Array<{
1310
+ fileId: string;
1311
+ versionId: string;
1312
+ sha256Hash: string;
1313
+ checkedAt: string;
1314
+ }>;
1315
+ }>;
1316
+ };
1317
+ };
1318
+ export type RecoverInvoiceComparisonQueryVariables = Exact<{
1319
+ shipmentId: string;
1320
+ requestKey: string;
1321
+ }>;
1322
+ export type RecoverInvoiceComparisonQuery = {
1323
+ mtwFreightInvoiceComparisonByRequestKey: {
1324
+ id: string;
1325
+ shipmentId: string;
1326
+ invoiceIdentityId: string;
1327
+ revision: number;
1328
+ previousComparisonId: string | null;
1329
+ correctionReason: string | null;
1330
+ methodVersion: number;
1331
+ idempotencyKey: string;
1332
+ requestFingerprint: string;
1333
+ recordedAt: string;
1334
+ createdBy: string;
1335
+ actorProvenance: string;
1336
+ onBehalfOf: string | null;
1337
+ estimate: {
1338
+ id: string;
1339
+ estimateReference: string;
1340
+ version: number;
1341
+ kind: Types.MtwFreightKind;
1342
+ sourceReference: string;
1343
+ sourceRevision: string;
1344
+ quotedAt: string | null;
1345
+ validFrom: string | null;
1346
+ validUntil: string | null;
1347
+ acceptance: Types.MtwFreightInvoiceAcceptance;
1348
+ };
1349
+ facts: {
1350
+ schemaVersion: number;
1351
+ supplierReference: string | null;
1352
+ supplierLabel: string | null;
1353
+ invoiceReference: string | null;
1354
+ sourceReference: string;
1355
+ sourceRevision: string;
1356
+ invoiceDate: string | null;
1357
+ currency: {
1358
+ code: string;
1359
+ minorUnitDigits: number;
1360
+ };
1361
+ rows: Array<{
1362
+ id: string;
1363
+ description: string;
1364
+ estimateLineId: string | null;
1365
+ payerReference: string | null;
1366
+ payerLabel: string | null;
1367
+ quantity: string | null;
1368
+ unit: string | null;
1369
+ unitRateMajor: string | null;
1370
+ amountMinor: string | null;
1371
+ zeroReason: string | null;
1372
+ currency: {
1373
+ code: string;
1374
+ minorUnitDigits: number;
1375
+ };
1376
+ }>;
1377
+ };
1378
+ outcome: {
1379
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1380
+ allLinesMatched: boolean;
1381
+ missingExpectedLineIds: Array<string>;
1382
+ unknownExpectedCoverage: Array<{
1383
+ estimateLineId: string;
1384
+ flag: Types.MtwFreightInvoiceFlag;
1385
+ reason: Types.MtwFreightInvoiceReason;
1386
+ }>;
1387
+ rows: Array<{
1388
+ invoiceLineId: string;
1389
+ estimateLineId: string | null;
1390
+ flags: Array<Types.MtwFreightInvoiceFlag>;
1391
+ reasons: Array<Types.MtwFreightInvoiceReason>;
1392
+ deltaMinor: string | null;
1393
+ }>;
1394
+ comparableSubtotals: Array<{
1395
+ payerReference: string;
1396
+ estimateMinor: string;
1397
+ invoiceMinor: string;
1398
+ deltaMinor: string;
1399
+ invoiceLineIds: Array<string>;
1400
+ currency: {
1401
+ code: string;
1402
+ minorUnitDigits: number;
1403
+ };
1404
+ }>;
1405
+ };
1406
+ estimateDeclaredSubtotals: Array<{
1407
+ payerReference: string | null;
1408
+ payerLabel: string | null;
1409
+ knownAmountMinor: string;
1410
+ totalAmountMinor: string | null;
1411
+ currency: {
1412
+ code: string;
1413
+ minorUnitDigits: number;
1414
+ };
1415
+ }>;
1416
+ invoiceDeclaredSubtotals: Array<{
1417
+ payerReference: string | null;
1418
+ payerLabel: string | null;
1419
+ knownAmountMinor: string;
1420
+ totalAmountMinor: string | null;
1421
+ currency: {
1422
+ code: string;
1423
+ minorUnitDigits: number;
1424
+ };
1425
+ }>;
1426
+ evidence: Array<{
1427
+ fileId: string;
1428
+ versionId: string;
1429
+ sha256Hash: string;
1430
+ checkedAt: string;
1431
+ }>;
1432
+ } | null;
1433
+ };
1434
+ export declare const InvoiceEstimatePinFragmentDoc: DocumentNode<InvoiceEstimatePinFragment, unknown>;
1435
+ export declare const InvoiceSourceFactsFragmentDoc: DocumentNode<InvoiceSourceFactsFragment, unknown>;
1436
+ export declare const InvoiceOutcomeFragmentDoc: DocumentNode<InvoiceOutcomeFragment, unknown>;
1437
+ export declare const InvoiceDeclaredSubtotalFragmentDoc: DocumentNode<InvoiceDeclaredSubtotalFragment, unknown>;
1438
+ export declare const InvoiceReceiptFragmentDoc: DocumentNode<InvoiceReceiptFragment, unknown>;
1439
+ export declare const InvoiceShipmentsDocument: DocumentNode<InvoiceShipmentsQuery, InvoiceShipmentsQueryVariables>;
1440
+ export declare const InvoiceEstimatePageDocument: DocumentNode<InvoiceEstimatePageQuery, InvoiceEstimatePageQueryVariables>;
1441
+ export declare const InvoiceEstimateVersionDocument: DocumentNode<InvoiceEstimateVersionQuery, InvoiceEstimateVersionQueryVariables>;
1442
+ export declare const InvoiceStructuralPreviewDocument: DocumentNode<InvoiceStructuralPreviewQuery, InvoiceStructuralPreviewQueryVariables>;
1443
+ export declare const RecordInvoiceComparisonDocument: DocumentNode<RecordInvoiceComparisonMutation, RecordInvoiceComparisonMutationVariables>;
1444
+ export declare const InvoiceComparisonExactDocument: DocumentNode<InvoiceComparisonExactQuery, InvoiceComparisonExactQueryVariables>;
1445
+ export declare const InvoiceComparisonHistoryDocument: DocumentNode<InvoiceComparisonHistoryQuery, InvoiceComparisonHistoryQueryVariables>;
1446
+ export declare const RecoverInvoiceComparisonDocument: DocumentNode<RecoverInvoiceComparisonQuery, RecoverInvoiceComparisonQueryVariables>;
1447
+ export {};