@burdenoff/microfe-movethewheels 2026.1101.4 → 2026.1102.2

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 (47) hide show
  1. package/dist/components/CustomerDeliveryUpdatesFields.js +57 -0
  2. package/dist/components/CustomerNotificationSettingsCard.js +368 -0
  3. package/dist/components/freight-cost/FreightCommercialFactEditor.js +46 -46
  4. package/dist/components/freight-cost/FreightCommercialHistory.js +7 -7
  5. package/dist/components/freight-cost/FreightDraftForm.js +20 -20
  6. package/dist/components/freight-invoice/InvoiceReviewPanel.js +255 -0
  7. package/dist/components/freight-invoice/InvoiceReviewQueue.js +93 -0
  8. package/dist/generated/freight-invoice-operations.d.ts +461 -0
  9. package/dist/generated/tracking-quality-operations.d.ts +275 -0
  10. package/dist/hooks/useCustomers.js +9 -3
  11. package/dist/hooks/useInvoiceComparisonRecovery.js +26 -26
  12. package/dist/hooks/useInvoiceReviewPermissions.js +14 -0
  13. package/dist/movethewheels/components/CustomerDeliveryUpdatesFields.d.ts +12 -0
  14. package/dist/movethewheels/components/CustomerNotificationSettingsCard.d.ts +3 -0
  15. package/dist/movethewheels/components/freight-invoice/InvoiceReviewPanel.d.ts +11 -0
  16. package/dist/movethewheels/components/freight-invoice/InvoiceReviewQueue.d.ts +22 -0
  17. package/dist/movethewheels/hooks/useInvoiceReviewPermissions.d.ts +5 -0
  18. package/dist/movethewheels/pages/FinancePage.d.ts +3 -1
  19. package/dist/movethewheels/types/index.d.ts +4 -0
  20. package/dist/movethewheels/utils/customerNotifications.d.ts +66 -0
  21. package/dist/movethewheels/utils/invoiceReview.d.ts +26 -0
  22. package/dist/node_modules/lucide-react/dist/esm/icons/bell-ring.js +22 -0
  23. package/dist/pages/CustomerDetailsPage.js +279 -231
  24. package/dist/pages/FinancePage.js +109 -67
  25. package/dist/pages/FreightEstimatePage.js +89 -89
  26. package/dist/pages/FreightInvoicePage.js +138 -120
  27. package/dist/pages/SettingsPage.js +242 -238
  28. package/dist/src/generated/freight-invoice-operations.js +2100 -1
  29. package/dist/utils/customerNotifications.js +83 -0
  30. package/dist/utils/invoiceReview.js +84 -0
  31. package/package.json +4 -3
  32. package/src/generated/freight-invoice-operations.ts +245 -1
  33. package/src/generated/tracking-quality-operations.ts +304 -0
  34. package/src/movethewheels/components/CustomerDeliveryUpdatesFields.tsx +67 -0
  35. package/src/movethewheels/components/CustomerNotificationSettingsCard.tsx +465 -0
  36. package/src/movethewheels/components/freight-invoice/InvoiceReviewPanel.tsx +319 -0
  37. package/src/movethewheels/components/freight-invoice/InvoiceReviewQueue.tsx +96 -0
  38. package/src/movethewheels/hooks/useCustomers.ts +17 -0
  39. package/src/movethewheels/hooks/useInvoiceReviewPermissions.ts +25 -0
  40. package/src/movethewheels/pages/CustomerDetailsPage.tsx +39 -0
  41. package/src/movethewheels/pages/FinancePage.tsx +34 -2
  42. package/src/movethewheels/pages/FreightInvoicePage.tsx +44 -3
  43. package/src/movethewheels/pages/SettingsPage.tsx +221 -208
  44. package/src/movethewheels/types/index.ts +4 -0
  45. package/src/movethewheels/utils/customerNotifications.ts +209 -0
  46. package/src/movethewheels/utils/invoiceReview.ts +146 -0
  47. package/src/operations/freight-invoice/review.graphql +26 -0
@@ -49,6 +49,24 @@ export type CompareMtwFreightInvoiceInput = {
49
49
  idempotencyKey: Scalars['String']['input'];
50
50
  shipmentId: Scalars['ID']['input'];
51
51
  };
52
+ export type DecideMtwFreightInvoiceInput = {
53
+ comparisonId: Scalars['ID']['input'];
54
+ decision: MtwFreightInvoiceDecision;
55
+ /** Required for DISPUTED: the invoice row ids under dispute. */
56
+ disputedLineIds?: InputMaybe<Array<Scalars['ID']['input']>>;
57
+ expectedSequence: Scalars['Int']['input'];
58
+ idempotencyKey: Scalars['String']['input'];
59
+ /** Required for DISPUTED and ACCEPTED_WITH_VARIANCE. */
60
+ reason?: InputMaybe<Scalars['String']['input']>;
61
+ shipmentId: Scalars['ID']['input'];
62
+ };
63
+ export type HandOffMtwFreightInvoiceSettlementInput = {
64
+ comparisonId: Scalars['ID']['input'];
65
+ expectedSequence: Scalars['Int']['input'];
66
+ idempotencyKey: Scalars['String']['input'];
67
+ note?: InputMaybe<Scalars['String']['input']>;
68
+ shipmentId: Scalars['ID']['input'];
69
+ };
52
70
  /** Bounded audit snapshot of at most 10 exact evidence versions. */
53
71
  export type MtwContainerEvidence = {
54
72
  __typename?: 'MtwContainerEvidence';
@@ -312,6 +330,7 @@ export type MtwFreightInvoiceComparisonPage = {
312
330
  offset: Scalars['Int']['output'];
313
331
  total: Scalars['Int']['output'];
314
332
  };
333
+ export type MtwFreightInvoiceDecision = 'ACCEPTED' | 'ACCEPTED_WITH_VARIANCE' | 'DISPUTED';
315
334
  export type MtwFreightInvoiceEstimatePin = {
316
335
  __typename?: 'MtwFreightInvoiceEstimatePin';
317
336
  acceptance: MtwFreightInvoiceAcceptance;
@@ -372,6 +391,81 @@ export type MtwFreightInvoicePreview = {
372
391
  recordable: Scalars['Boolean']['output'];
373
392
  };
374
393
  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';
394
+ export type MtwFreightInvoiceResolution = 'ACCEPTED' | 'ACCEPTED_WITH_VARIANCE';
395
+ export type MtwFreightInvoiceReview = {
396
+ __typename?: 'MtwFreightInvoiceReview';
397
+ /** Lifecycle steps open to the caller. Gateway permissions still apply. */
398
+ allowedActions: Array<MtwFreightInvoiceReviewAction>;
399
+ comparisonCreatedBy: Scalars['ID']['output'];
400
+ comparisonId: Scalars['ID']['output'];
401
+ comparisonRecordedAt: Scalars['DateTime']['output'];
402
+ currency: MtwFreightCurrency;
403
+ events: Array<MtwFreightInvoiceReviewEvent>;
404
+ /** False when at least one reported row has no amount. */
405
+ invoiceAmountComplete: Scalars['Boolean']['output'];
406
+ invoiceIdentityId: Scalars['ID']['output'];
407
+ invoiceReference: Scalars['String']['output'];
408
+ /** Sum of the reported invoice amounts that are known. */
409
+ knownInvoiceAmountMinor: Scalars['String']['output'];
410
+ latestRevision: Scalars['Int']['output'];
411
+ /** True when this revision's open dispute was closed by a newer correction revision. */
412
+ resolvedByCorrection: Scalars['Boolean']['output'];
413
+ revision: Scalars['Int']['output'];
414
+ /** Sequence of the last review event (0 when none); pass it as expectedSequence. */
415
+ sequence: Scalars['Int']['output'];
416
+ settlementReference?: Maybe<Scalars['String']['output']>;
417
+ shipmentId: Scalars['ID']['output'];
418
+ status: MtwFreightInvoiceReviewStatus;
419
+ supersededByComparisonId?: Maybe<Scalars['ID']['output']>;
420
+ supplierLabel?: Maybe<Scalars['String']['output']>;
421
+ supplierReference: Scalars['String']['output'];
422
+ viewerIsAuthor: Scalars['Boolean']['output'];
423
+ };
424
+ export type MtwFreightInvoiceReviewAction = 'DECIDE' | 'HAND_OFF_SETTLEMENT' | 'RECORD_SUPPLIER_RESPONSE' | 'RESOLVE_DISPUTE';
425
+ export type MtwFreightInvoiceReviewEvent = {
426
+ __typename?: 'MtwFreightInvoiceReviewEvent';
427
+ actorProvenance: Scalars['String']['output'];
428
+ comparisonId: Scalars['ID']['output'];
429
+ createdBy: Scalars['ID']['output'];
430
+ /** The decision for DECISION, or the accepting outcome for DISPUTE_RESOLUTION. */
431
+ decision?: Maybe<MtwFreightInvoiceDecision>;
432
+ disputedLineIds: Array<Scalars['ID']['output']>;
433
+ id: Scalars['ID']['output'];
434
+ kind: MtwFreightInvoiceReviewEventKind;
435
+ onBehalfOf?: Maybe<Scalars['ID']['output']>;
436
+ previousEventId?: Maybe<Scalars['ID']['output']>;
437
+ /** Dispute or variance reason, supplier response text, resolution reason or hand-off note. */
438
+ reason?: Maybe<Scalars['String']['output']>;
439
+ recordedAt: Scalars['DateTime']['output'];
440
+ sequence: Scalars['Int']['output'];
441
+ settlementReference?: Maybe<Scalars['String']['output']>;
442
+ statusAfter: MtwFreightInvoiceReviewStatus;
443
+ };
444
+ export type MtwFreightInvoiceReviewEventKind = 'DECISION' | 'DISPUTE_RESOLUTION' | 'SETTLEMENT_HANDOFF' | 'SUPPLIER_RESPONSE';
445
+ export type MtwFreightInvoiceReviewPage = {
446
+ __typename?: 'MtwFreightInvoiceReviewPage';
447
+ hasMore: Scalars['Boolean']['output'];
448
+ items: Array<MtwFreightInvoiceReview>;
449
+ limit: Scalars['Int']['output'];
450
+ nextOffset?: Maybe<Scalars['Int']['output']>;
451
+ offset: Scalars['Int']['output'];
452
+ total: Scalars['Int']['output'];
453
+ };
454
+ /** Review status of one exact invoice comparison revision, derived from its append-only review events. */
455
+ export type MtwFreightInvoiceReviewStatus = 'ACCEPTED' | 'ACCEPTED_WITH_VARIANCE' | 'AWAITING_REVIEW' | 'DISPUTED' | 'SETTLEMENT_HANDED_OFF'
456
+ /** A newer correction revision exists; review continues on that revision. */
457
+ | 'SUPERSEDED' | 'SUPPLIER_RESPONDED';
458
+ /** Counts over the latest revision of every recorded carrier invoice in the workspace. */
459
+ export type MtwFreightInvoiceReviewSummary = {
460
+ __typename?: 'MtwFreightInvoiceReviewSummary';
461
+ accepted: Scalars['Int']['output'];
462
+ acceptedWithVariance: Scalars['Int']['output'];
463
+ awaitingReview: Scalars['Int']['output'];
464
+ disputed: Scalars['Int']['output'];
465
+ settlementHandedOff: Scalars['Int']['output'];
466
+ supplierResponded: Scalars['Int']['output'];
467
+ total: Scalars['Int']['output'];
468
+ };
375
469
  export type MtwFreightInvoiceRow = {
376
470
  __typename?: 'MtwFreightInvoiceRow';
377
471
  amountMinor?: Maybe<Scalars['String']['output']>;
@@ -513,10 +607,29 @@ export type MtwShipmentLeg = {
513
607
  export type Mutation = {
514
608
  __typename?: 'Mutation';
515
609
  compareMtwFreightInvoice: MtwFreightInvoiceComparison;
610
+ /** Accept, accept with variance, or dispute the latest revision. The comparison author cannot decide. */
611
+ decideMtwFreightInvoice: MtwFreightInvoiceReview;
612
+ /** Hand an accepted revision to platform Billing for settlement. MoveTheWheels keeps no ledger. */
613
+ handOffMtwFreightInvoiceSettlement: MtwFreightInvoiceReview;
614
+ recordMtwFreightInvoiceSupplierResponse: MtwFreightInvoiceReview;
615
+ /** Close an open dispute by acceptance. A dispute can also close through a correction revision. */
616
+ resolveMtwFreightInvoiceDispute: MtwFreightInvoiceReview;
516
617
  };
517
618
  export type MutationCompareMtwFreightInvoiceArgs = {
518
619
  input: CompareMtwFreightInvoiceInput;
519
620
  };
621
+ export type MutationDecideMtwFreightInvoiceArgs = {
622
+ input: DecideMtwFreightInvoiceInput;
623
+ };
624
+ export type MutationHandOffMtwFreightInvoiceSettlementArgs = {
625
+ input: HandOffMtwFreightInvoiceSettlementInput;
626
+ };
627
+ export type MutationRecordMtwFreightInvoiceSupplierResponseArgs = {
628
+ input: RecordMtwFreightInvoiceSupplierResponseInput;
629
+ };
630
+ export type MutationResolveMtwFreightInvoiceDisputeArgs = {
631
+ input: ResolveMtwFreightInvoiceDisputeInput;
632
+ };
520
633
  export type OceanContainerType = 'FCL_20FT' | 'FCL_40FT' | 'FCL_40FT_HC' | 'LCL';
521
634
  export type PaginationInput = {
522
635
  cursor?: InputMaybe<Scalars['String']['input']>;
@@ -537,6 +650,10 @@ export type Query = {
537
650
  /** Null is not proof of no effect and never authorizes resubmission. Exact original actor/context only. */
538
651
  mtwFreightInvoiceComparisonByRequestKey?: Maybe<MtwFreightInvoiceComparison>;
539
652
  mtwFreightInvoiceComparisonPage: MtwFreightInvoiceComparisonPage;
653
+ mtwFreightInvoiceReview: MtwFreightInvoiceReview;
654
+ /** Latest revision of each recorded invoice, newest first. */
655
+ mtwFreightInvoiceReviewPage: MtwFreightInvoiceReviewPage;
656
+ mtwFreightInvoiceReviewSummary: MtwFreightInvoiceReviewSummary;
540
657
  previewMtwFreightInvoice: MtwFreightInvoicePreview;
541
658
  shipment?: Maybe<MtwShipment>;
542
659
  shipments: Array<MtwShipment>;
@@ -564,6 +681,15 @@ export type QueryMtwFreightInvoiceComparisonPageArgs = {
564
681
  pagination?: InputMaybe<MtwContainerPagination>;
565
682
  shipmentId: Scalars['ID']['input'];
566
683
  };
684
+ export type QueryMtwFreightInvoiceReviewArgs = {
685
+ comparisonId: Scalars['ID']['input'];
686
+ shipmentId: Scalars['ID']['input'];
687
+ };
688
+ export type QueryMtwFreightInvoiceReviewPageArgs = {
689
+ pagination?: InputMaybe<MtwContainerPagination>;
690
+ shipmentId?: InputMaybe<Scalars['ID']['input']>;
691
+ status?: InputMaybe<MtwFreightInvoiceReviewStatus>;
692
+ };
567
693
  export type QueryPreviewMtwFreightInvoiceArgs = {
568
694
  input: PreviewMtwFreightInvoiceInput;
569
695
  };
@@ -577,6 +703,21 @@ export type QueryShipmentsArgs = {
577
703
  export type QueryShipmentsCountArgs = {
578
704
  filter?: InputMaybe<ShipmentFilterInput>;
579
705
  };
706
+ export type RecordMtwFreightInvoiceSupplierResponseInput = {
707
+ comparisonId: Scalars['ID']['input'];
708
+ expectedSequence: Scalars['Int']['input'];
709
+ idempotencyKey: Scalars['String']['input'];
710
+ response: Scalars['String']['input'];
711
+ shipmentId: Scalars['ID']['input'];
712
+ };
713
+ export type ResolveMtwFreightInvoiceDisputeInput = {
714
+ comparisonId: Scalars['ID']['input'];
715
+ expectedSequence: Scalars['Int']['input'];
716
+ idempotencyKey: Scalars['String']['input'];
717
+ reason: Scalars['String']['input'];
718
+ resolution: MtwFreightInvoiceResolution;
719
+ shipmentId: Scalars['ID']['input'];
720
+ };
580
721
  export type ShipmentFilterInput = {
581
722
  carrierId?: InputMaybe<Scalars['ID']['input']>;
582
723
  customerId?: InputMaybe<Scalars['ID']['input']>;
@@ -1431,11 +1572,324 @@ export type RecoverInvoiceComparisonQuery = {
1431
1572
  }>;
1432
1573
  } | null;
1433
1574
  };
1575
+ export type InvoiceReviewFragment = {
1576
+ comparisonId: string;
1577
+ shipmentId: string;
1578
+ invoiceIdentityId: string;
1579
+ revision: number;
1580
+ latestRevision: number;
1581
+ supersededByComparisonId: string | null;
1582
+ supplierReference: string;
1583
+ supplierLabel: string | null;
1584
+ invoiceReference: string;
1585
+ knownInvoiceAmountMinor: string;
1586
+ invoiceAmountComplete: boolean;
1587
+ comparisonRecordedAt: string;
1588
+ comparisonCreatedBy: string;
1589
+ status: Types.MtwFreightInvoiceReviewStatus;
1590
+ resolvedByCorrection: boolean;
1591
+ sequence: number;
1592
+ allowedActions: Array<Types.MtwFreightInvoiceReviewAction>;
1593
+ viewerIsAuthor: boolean;
1594
+ settlementReference: string | null;
1595
+ currency: {
1596
+ code: string;
1597
+ minorUnitDigits: number;
1598
+ };
1599
+ events: Array<{
1600
+ id: string;
1601
+ sequence: number;
1602
+ kind: Types.MtwFreightInvoiceReviewEventKind;
1603
+ decision: Types.MtwFreightInvoiceDecision | null;
1604
+ statusAfter: Types.MtwFreightInvoiceReviewStatus;
1605
+ reason: string | null;
1606
+ disputedLineIds: Array<string>;
1607
+ settlementReference: string | null;
1608
+ recordedAt: string;
1609
+ createdBy: string;
1610
+ }>;
1611
+ };
1612
+ export type InvoiceReviewExactQueryVariables = Exact<{
1613
+ shipmentId: string;
1614
+ comparisonId: string;
1615
+ }>;
1616
+ export type InvoiceReviewExactQuery = {
1617
+ mtwFreightInvoiceReview: {
1618
+ comparisonId: string;
1619
+ shipmentId: string;
1620
+ invoiceIdentityId: string;
1621
+ revision: number;
1622
+ latestRevision: number;
1623
+ supersededByComparisonId: string | null;
1624
+ supplierReference: string;
1625
+ supplierLabel: string | null;
1626
+ invoiceReference: string;
1627
+ knownInvoiceAmountMinor: string;
1628
+ invoiceAmountComplete: boolean;
1629
+ comparisonRecordedAt: string;
1630
+ comparisonCreatedBy: string;
1631
+ status: Types.MtwFreightInvoiceReviewStatus;
1632
+ resolvedByCorrection: boolean;
1633
+ sequence: number;
1634
+ allowedActions: Array<Types.MtwFreightInvoiceReviewAction>;
1635
+ viewerIsAuthor: boolean;
1636
+ settlementReference: string | null;
1637
+ currency: {
1638
+ code: string;
1639
+ minorUnitDigits: number;
1640
+ };
1641
+ events: Array<{
1642
+ id: string;
1643
+ sequence: number;
1644
+ kind: Types.MtwFreightInvoiceReviewEventKind;
1645
+ decision: Types.MtwFreightInvoiceDecision | null;
1646
+ statusAfter: Types.MtwFreightInvoiceReviewStatus;
1647
+ reason: string | null;
1648
+ disputedLineIds: Array<string>;
1649
+ settlementReference: string | null;
1650
+ recordedAt: string;
1651
+ createdBy: string;
1652
+ }>;
1653
+ };
1654
+ };
1655
+ export type InvoiceReviewQueueQueryVariables = Exact<{
1656
+ status?: Types.MtwFreightInvoiceReviewStatus | null | undefined;
1657
+ pagination?: Types.MtwContainerPagination | null | undefined;
1658
+ }>;
1659
+ export type InvoiceReviewQueueQuery = {
1660
+ mtwFreightInvoiceReviewPage: {
1661
+ total: number;
1662
+ limit: number;
1663
+ offset: number;
1664
+ hasMore: boolean;
1665
+ nextOffset: number | null;
1666
+ items: Array<{
1667
+ comparisonId: string;
1668
+ shipmentId: string;
1669
+ invoiceIdentityId: string;
1670
+ revision: number;
1671
+ latestRevision: number;
1672
+ supersededByComparisonId: string | null;
1673
+ supplierReference: string;
1674
+ supplierLabel: string | null;
1675
+ invoiceReference: string;
1676
+ knownInvoiceAmountMinor: string;
1677
+ invoiceAmountComplete: boolean;
1678
+ comparisonRecordedAt: string;
1679
+ comparisonCreatedBy: string;
1680
+ status: Types.MtwFreightInvoiceReviewStatus;
1681
+ resolvedByCorrection: boolean;
1682
+ sequence: number;
1683
+ allowedActions: Array<Types.MtwFreightInvoiceReviewAction>;
1684
+ viewerIsAuthor: boolean;
1685
+ settlementReference: string | null;
1686
+ currency: {
1687
+ code: string;
1688
+ minorUnitDigits: number;
1689
+ };
1690
+ events: Array<{
1691
+ id: string;
1692
+ sequence: number;
1693
+ kind: Types.MtwFreightInvoiceReviewEventKind;
1694
+ decision: Types.MtwFreightInvoiceDecision | null;
1695
+ statusAfter: Types.MtwFreightInvoiceReviewStatus;
1696
+ reason: string | null;
1697
+ disputedLineIds: Array<string>;
1698
+ settlementReference: string | null;
1699
+ recordedAt: string;
1700
+ createdBy: string;
1701
+ }>;
1702
+ }>;
1703
+ };
1704
+ };
1705
+ export type InvoiceReviewSummaryQueryVariables = Exact<{
1706
+ [key: string]: never;
1707
+ }>;
1708
+ export type InvoiceReviewSummaryQuery = {
1709
+ mtwFreightInvoiceReviewSummary: {
1710
+ total: number;
1711
+ awaitingReview: number;
1712
+ accepted: number;
1713
+ acceptedWithVariance: number;
1714
+ disputed: number;
1715
+ supplierResponded: number;
1716
+ settlementHandedOff: number;
1717
+ };
1718
+ };
1719
+ export type DecideInvoiceReviewMutationVariables = Exact<{
1720
+ input: Types.DecideMtwFreightInvoiceInput;
1721
+ }>;
1722
+ export type DecideInvoiceReviewMutation = {
1723
+ decideMtwFreightInvoice: {
1724
+ comparisonId: string;
1725
+ shipmentId: string;
1726
+ invoiceIdentityId: string;
1727
+ revision: number;
1728
+ latestRevision: number;
1729
+ supersededByComparisonId: string | null;
1730
+ supplierReference: string;
1731
+ supplierLabel: string | null;
1732
+ invoiceReference: string;
1733
+ knownInvoiceAmountMinor: string;
1734
+ invoiceAmountComplete: boolean;
1735
+ comparisonRecordedAt: string;
1736
+ comparisonCreatedBy: string;
1737
+ status: Types.MtwFreightInvoiceReviewStatus;
1738
+ resolvedByCorrection: boolean;
1739
+ sequence: number;
1740
+ allowedActions: Array<Types.MtwFreightInvoiceReviewAction>;
1741
+ viewerIsAuthor: boolean;
1742
+ settlementReference: string | null;
1743
+ currency: {
1744
+ code: string;
1745
+ minorUnitDigits: number;
1746
+ };
1747
+ events: Array<{
1748
+ id: string;
1749
+ sequence: number;
1750
+ kind: Types.MtwFreightInvoiceReviewEventKind;
1751
+ decision: Types.MtwFreightInvoiceDecision | null;
1752
+ statusAfter: Types.MtwFreightInvoiceReviewStatus;
1753
+ reason: string | null;
1754
+ disputedLineIds: Array<string>;
1755
+ settlementReference: string | null;
1756
+ recordedAt: string;
1757
+ createdBy: string;
1758
+ }>;
1759
+ };
1760
+ };
1761
+ export type RecordInvoiceSupplierResponseMutationVariables = Exact<{
1762
+ input: Types.RecordMtwFreightInvoiceSupplierResponseInput;
1763
+ }>;
1764
+ export type RecordInvoiceSupplierResponseMutation = {
1765
+ recordMtwFreightInvoiceSupplierResponse: {
1766
+ comparisonId: string;
1767
+ shipmentId: string;
1768
+ invoiceIdentityId: string;
1769
+ revision: number;
1770
+ latestRevision: number;
1771
+ supersededByComparisonId: string | null;
1772
+ supplierReference: string;
1773
+ supplierLabel: string | null;
1774
+ invoiceReference: string;
1775
+ knownInvoiceAmountMinor: string;
1776
+ invoiceAmountComplete: boolean;
1777
+ comparisonRecordedAt: string;
1778
+ comparisonCreatedBy: string;
1779
+ status: Types.MtwFreightInvoiceReviewStatus;
1780
+ resolvedByCorrection: boolean;
1781
+ sequence: number;
1782
+ allowedActions: Array<Types.MtwFreightInvoiceReviewAction>;
1783
+ viewerIsAuthor: boolean;
1784
+ settlementReference: string | null;
1785
+ currency: {
1786
+ code: string;
1787
+ minorUnitDigits: number;
1788
+ };
1789
+ events: Array<{
1790
+ id: string;
1791
+ sequence: number;
1792
+ kind: Types.MtwFreightInvoiceReviewEventKind;
1793
+ decision: Types.MtwFreightInvoiceDecision | null;
1794
+ statusAfter: Types.MtwFreightInvoiceReviewStatus;
1795
+ reason: string | null;
1796
+ disputedLineIds: Array<string>;
1797
+ settlementReference: string | null;
1798
+ recordedAt: string;
1799
+ createdBy: string;
1800
+ }>;
1801
+ };
1802
+ };
1803
+ export type ResolveInvoiceDisputeMutationVariables = Exact<{
1804
+ input: Types.ResolveMtwFreightInvoiceDisputeInput;
1805
+ }>;
1806
+ export type ResolveInvoiceDisputeMutation = {
1807
+ resolveMtwFreightInvoiceDispute: {
1808
+ comparisonId: string;
1809
+ shipmentId: string;
1810
+ invoiceIdentityId: string;
1811
+ revision: number;
1812
+ latestRevision: number;
1813
+ supersededByComparisonId: string | null;
1814
+ supplierReference: string;
1815
+ supplierLabel: string | null;
1816
+ invoiceReference: string;
1817
+ knownInvoiceAmountMinor: string;
1818
+ invoiceAmountComplete: boolean;
1819
+ comparisonRecordedAt: string;
1820
+ comparisonCreatedBy: string;
1821
+ status: Types.MtwFreightInvoiceReviewStatus;
1822
+ resolvedByCorrection: boolean;
1823
+ sequence: number;
1824
+ allowedActions: Array<Types.MtwFreightInvoiceReviewAction>;
1825
+ viewerIsAuthor: boolean;
1826
+ settlementReference: string | null;
1827
+ currency: {
1828
+ code: string;
1829
+ minorUnitDigits: number;
1830
+ };
1831
+ events: Array<{
1832
+ id: string;
1833
+ sequence: number;
1834
+ kind: Types.MtwFreightInvoiceReviewEventKind;
1835
+ decision: Types.MtwFreightInvoiceDecision | null;
1836
+ statusAfter: Types.MtwFreightInvoiceReviewStatus;
1837
+ reason: string | null;
1838
+ disputedLineIds: Array<string>;
1839
+ settlementReference: string | null;
1840
+ recordedAt: string;
1841
+ createdBy: string;
1842
+ }>;
1843
+ };
1844
+ };
1845
+ export type HandOffInvoiceSettlementMutationVariables = Exact<{
1846
+ input: Types.HandOffMtwFreightInvoiceSettlementInput;
1847
+ }>;
1848
+ export type HandOffInvoiceSettlementMutation = {
1849
+ handOffMtwFreightInvoiceSettlement: {
1850
+ comparisonId: string;
1851
+ shipmentId: string;
1852
+ invoiceIdentityId: string;
1853
+ revision: number;
1854
+ latestRevision: number;
1855
+ supersededByComparisonId: string | null;
1856
+ supplierReference: string;
1857
+ supplierLabel: string | null;
1858
+ invoiceReference: string;
1859
+ knownInvoiceAmountMinor: string;
1860
+ invoiceAmountComplete: boolean;
1861
+ comparisonRecordedAt: string;
1862
+ comparisonCreatedBy: string;
1863
+ status: Types.MtwFreightInvoiceReviewStatus;
1864
+ resolvedByCorrection: boolean;
1865
+ sequence: number;
1866
+ allowedActions: Array<Types.MtwFreightInvoiceReviewAction>;
1867
+ viewerIsAuthor: boolean;
1868
+ settlementReference: string | null;
1869
+ currency: {
1870
+ code: string;
1871
+ minorUnitDigits: number;
1872
+ };
1873
+ events: Array<{
1874
+ id: string;
1875
+ sequence: number;
1876
+ kind: Types.MtwFreightInvoiceReviewEventKind;
1877
+ decision: Types.MtwFreightInvoiceDecision | null;
1878
+ statusAfter: Types.MtwFreightInvoiceReviewStatus;
1879
+ reason: string | null;
1880
+ disputedLineIds: Array<string>;
1881
+ settlementReference: string | null;
1882
+ recordedAt: string;
1883
+ createdBy: string;
1884
+ }>;
1885
+ };
1886
+ };
1434
1887
  export declare const InvoiceEstimatePinFragmentDoc: DocumentNode<InvoiceEstimatePinFragment, unknown>;
1435
1888
  export declare const InvoiceSourceFactsFragmentDoc: DocumentNode<InvoiceSourceFactsFragment, unknown>;
1436
1889
  export declare const InvoiceOutcomeFragmentDoc: DocumentNode<InvoiceOutcomeFragment, unknown>;
1437
1890
  export declare const InvoiceDeclaredSubtotalFragmentDoc: DocumentNode<InvoiceDeclaredSubtotalFragment, unknown>;
1438
1891
  export declare const InvoiceReceiptFragmentDoc: DocumentNode<InvoiceReceiptFragment, unknown>;
1892
+ export declare const InvoiceReviewFragmentDoc: DocumentNode<InvoiceReviewFragment, unknown>;
1439
1893
  export declare const InvoiceShipmentsDocument: DocumentNode<InvoiceShipmentsQuery, InvoiceShipmentsQueryVariables>;
1440
1894
  export declare const InvoiceEstimatePageDocument: DocumentNode<InvoiceEstimatePageQuery, InvoiceEstimatePageQueryVariables>;
1441
1895
  export declare const InvoiceEstimateVersionDocument: DocumentNode<InvoiceEstimateVersionQuery, InvoiceEstimateVersionQueryVariables>;
@@ -1444,4 +1898,11 @@ export declare const RecordInvoiceComparisonDocument: DocumentNode<RecordInvoice
1444
1898
  export declare const InvoiceComparisonExactDocument: DocumentNode<InvoiceComparisonExactQuery, InvoiceComparisonExactQueryVariables>;
1445
1899
  export declare const InvoiceComparisonHistoryDocument: DocumentNode<InvoiceComparisonHistoryQuery, InvoiceComparisonHistoryQueryVariables>;
1446
1900
  export declare const RecoverInvoiceComparisonDocument: DocumentNode<RecoverInvoiceComparisonQuery, RecoverInvoiceComparisonQueryVariables>;
1901
+ export declare const InvoiceReviewExactDocument: DocumentNode<InvoiceReviewExactQuery, InvoiceReviewExactQueryVariables>;
1902
+ export declare const InvoiceReviewQueueDocument: DocumentNode<InvoiceReviewQueueQuery, InvoiceReviewQueueQueryVariables>;
1903
+ export declare const InvoiceReviewSummaryDocument: DocumentNode<InvoiceReviewSummaryQuery, InvoiceReviewSummaryQueryVariables>;
1904
+ export declare const DecideInvoiceReviewDocument: DocumentNode<DecideInvoiceReviewMutation, DecideInvoiceReviewMutationVariables>;
1905
+ export declare const RecordInvoiceSupplierResponseDocument: DocumentNode<RecordInvoiceSupplierResponseMutation, RecordInvoiceSupplierResponseMutationVariables>;
1906
+ export declare const ResolveInvoiceDisputeDocument: DocumentNode<ResolveInvoiceDisputeMutation, ResolveInvoiceDisputeMutationVariables>;
1907
+ export declare const HandOffInvoiceSettlementDocument: DocumentNode<HandOffInvoiceSettlementMutation, HandOffInvoiceSettlementMutationVariables>;
1447
1908
  export {};