@timbro/invoices 0.12.0 → 0.13.0

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 (56) hide show
  1. package/README.md +26 -0
  2. package/dist/admin.d.ts +1 -0
  3. package/dist/admin.d.ts.map +1 -1
  4. package/dist/admin.js +1 -0
  5. package/dist/certification-workbook.d.ts +9 -0
  6. package/dist/certification-workbook.d.ts.map +1 -0
  7. package/dist/certification-workbook.js +13 -0
  8. package/dist/fiscal-engine-runtime.manifest.json +117 -112
  9. package/dist/fiscal-engine-runtime.provenance.json +194 -189
  10. package/dist/generated/certification-api-contract.d.ts +430 -0
  11. package/dist/generated/certification-api-contract.d.ts.map +1 -0
  12. package/dist/generated/certification-api-contract.js +483 -0
  13. package/dist/generated/hosted/index.d.ts +3 -3
  14. package/dist/generated/hosted/index.d.ts.map +1 -1
  15. package/dist/generated/hosted/index.js +2 -2
  16. package/dist/generated/hosted/sdk.gen.d.ts +13 -1
  17. package/dist/generated/hosted/sdk.gen.d.ts.map +1 -1
  18. package/dist/generated/hosted/sdk.gen.js +165 -1
  19. package/dist/generated/hosted/types.gen.d.ts +308 -6
  20. package/dist/generated/hosted/types.gen.d.ts.map +1 -1
  21. package/dist/generated/hosted/zod-response.gen.d.ts +322 -20
  22. package/dist/generated/hosted/zod-response.gen.d.ts.map +1 -1
  23. package/dist/generated/hosted/zod-response.gen.js +113 -5
  24. package/dist/generated/hosted/zod.gen.d.ts +221 -5
  25. package/dist/generated/hosted/zod.gen.d.ts.map +1 -1
  26. package/dist/generated/hosted/zod.gen.js +133 -5
  27. package/dist/generated/index.d.ts +3 -3
  28. package/dist/generated/index.d.ts.map +1 -1
  29. package/dist/generated/index.js +2 -2
  30. package/dist/generated/invoice-api-contract.d.ts +1345 -105
  31. package/dist/generated/invoice-api-contract.d.ts.map +1 -1
  32. package/dist/generated/invoice-api-contract.js +1755 -163
  33. package/dist/generated/problem-catalog.d.ts.map +1 -1
  34. package/dist/generated/problem-catalog.js +2 -0
  35. package/dist/generated/sdk.gen.d.ts +5 -1
  36. package/dist/generated/sdk.gen.d.ts.map +1 -1
  37. package/dist/generated/sdk.gen.js +109 -1
  38. package/dist/generated/types.gen.d.ts +523 -49
  39. package/dist/generated/types.gen.d.ts.map +1 -1
  40. package/dist/generated/zod-response.gen.d.ts +22877 -5753
  41. package/dist/generated/zod-response.gen.d.ts.map +1 -1
  42. package/dist/generated/zod-response.gen.js +219 -3
  43. package/dist/generated/zod.gen.d.ts +17435 -2747
  44. package/dist/generated/zod.gen.d.ts.map +1 -1
  45. package/dist/generated/zod.gen.js +2317 -1439
  46. package/dist/generated-operation-client.d.ts +2 -2
  47. package/dist/generated-operation-client.d.ts.map +1 -1
  48. package/dist/index.d.ts +2 -1
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/invoice-hosted-controls.d.ts +11 -2
  51. package/dist/invoice-hosted-controls.d.ts.map +1 -1
  52. package/dist/invoice-hosted-controls.js +26 -1
  53. package/dist/problem-contract.d.ts +2 -0
  54. package/dist/problem-contract.d.ts.map +1 -1
  55. package/dist/timbro_fiscal_engine_bg.wasm +0 -0
  56. package/package.json +2 -2
@@ -1836,6 +1836,11 @@ export const invoiceApiContract = {
1836
1836
  title: "DomesticBuyer",
1837
1837
  required: ["taxId", "legalName", "kind"],
1838
1838
  properties: {
1839
+ deliveryPhone: {
1840
+ type: "string",
1841
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
1842
+ "x-timbro-submission-validation": ["pattern"],
1843
+ },
1839
1844
  kind: {
1840
1845
  type: "string",
1841
1846
  enum: ["domestic"],
@@ -1860,6 +1865,11 @@ export const invoiceApiContract = {
1860
1865
  title: "ForeignBuyer",
1861
1866
  required: ["foreignId", "legalName", "kind"],
1862
1867
  properties: {
1868
+ deliveryPhone: {
1869
+ type: "string",
1870
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
1871
+ "x-timbro-submission-validation": ["pattern"],
1872
+ },
1863
1873
  foreignId: {
1864
1874
  type: "string",
1865
1875
  maxLength: 20,
@@ -2251,6 +2261,7 @@ export const invoiceApiContract = {
2251
2261
  "legalTip",
2252
2262
  "itemCodes",
2253
2263
  "additionalTaxCodes",
2264
+ "adjustments",
2254
2265
  "withholding",
2255
2266
  ],
2256
2267
  properties: {
@@ -2260,6 +2271,16 @@ export const invoiceApiContract = {
2260
2271
  type: "string",
2261
2272
  },
2262
2273
  },
2274
+ adjustments: {
2275
+ oneOf: [
2276
+ {
2277
+ type: "null",
2278
+ },
2279
+ {
2280
+ $ref: "#/components/schemas/InvoiceLinePriceAdjustmentsResource",
2281
+ },
2282
+ ],
2283
+ },
2263
2284
  description: {
2264
2285
  type: "string",
2265
2286
  },
@@ -2308,6 +2329,64 @@ export const invoiceApiContract = {
2308
2329
  },
2309
2330
  additionalProperties: false,
2310
2331
  },
2332
+ InvoiceLinePriceAdjustmentsResource: {
2333
+ type: "object",
2334
+ required: ["discounts", "surcharges"],
2335
+ properties: {
2336
+ discounts: {
2337
+ type: "array",
2338
+ items: {
2339
+ $ref: "#/components/schemas/InvoiceLinePriceAdjustmentResource",
2340
+ },
2341
+ },
2342
+ surcharges: {
2343
+ type: "array",
2344
+ items: {
2345
+ $ref: "#/components/schemas/InvoiceLinePriceAdjustmentResource",
2346
+ },
2347
+ },
2348
+ },
2349
+ additionalProperties: false,
2350
+ },
2351
+ InvoiceLinePriceAdjustmentResource: {
2352
+ oneOf: [
2353
+ {
2354
+ type: "object",
2355
+ required: ["amount", "kind"],
2356
+ properties: {
2357
+ amount: {
2358
+ type: "string",
2359
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
2360
+ "x-timbro-submission-validation": ["pattern"],
2361
+ },
2362
+ kind: {
2363
+ type: "string",
2364
+ enum: ["fixed_amount"],
2365
+ },
2366
+ },
2367
+ additionalProperties: false,
2368
+ },
2369
+ {
2370
+ type: "object",
2371
+ required: ["percentage", "kind"],
2372
+ properties: {
2373
+ kind: {
2374
+ type: "string",
2375
+ enum: ["percentage"],
2376
+ },
2377
+ percentage: {
2378
+ type: "string",
2379
+ pattern: "^(?=[0-9.]*[1-9])[0-9]{1,3}(\\.[0-9]{1,2})?$",
2380
+ "x-timbro-submission-validation": ["pattern"],
2381
+ },
2382
+ },
2383
+ additionalProperties: false,
2384
+ },
2385
+ ],
2386
+ discriminator: {
2387
+ propertyName: "kind",
2388
+ },
2389
+ },
2311
2390
  InvoiceItemCodeResource: {
2312
2391
  type: "object",
2313
2392
  required: ["typeCode", "code"],
@@ -2477,6 +2556,9 @@ export const invoiceApiContract = {
2477
2556
  },
2478
2557
  maxItems: 7,
2479
2558
  },
2559
+ paymentAccount: {
2560
+ $ref: "#/components/schemas/InvoicePaymentAccountResource",
2561
+ },
2480
2562
  type: {
2481
2563
  type: "string",
2482
2564
  enum: ["immediate"],
@@ -2548,6 +2630,41 @@ export const invoiceApiContract = {
2548
2630
  "other",
2549
2631
  ],
2550
2632
  },
2633
+ InvoicePaymentAccountResource: {
2634
+ type: "object",
2635
+ required: ["accountNumber", "bankName"],
2636
+ properties: {
2637
+ accountNumber: {
2638
+ oneOf: [
2639
+ {
2640
+ type: "null",
2641
+ },
2642
+ {
2643
+ type: "string",
2644
+ maxLength: 28,
2645
+ minLength: 1,
2646
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
2647
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
2648
+ },
2649
+ ],
2650
+ },
2651
+ bankName: {
2652
+ oneOf: [
2653
+ {
2654
+ type: "null",
2655
+ },
2656
+ {
2657
+ type: "string",
2658
+ maxLength: 75,
2659
+ minLength: 1,
2660
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
2661
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
2662
+ },
2663
+ ],
2664
+ },
2665
+ },
2666
+ additionalProperties: false,
2667
+ },
2551
2668
  InvoiceSource: {
2552
2669
  type: "object",
2553
2670
  required: ["id", "version", "contentSha256"],
@@ -4008,6 +4125,8 @@ export const invoiceApiContract = {
4008
4125
  "foreignPayment",
4009
4126
  "foreignCurrency",
4010
4127
  "paymentTerms",
4128
+ "referenceInformation",
4129
+ "additionalInformation",
4011
4130
  "source",
4012
4131
  "totals",
4013
4132
  "corrections",
@@ -4024,6 +4143,16 @@ export const invoiceApiContract = {
4024
4143
  type: ["string", "null"],
4025
4144
  format: "date-time",
4026
4145
  },
4146
+ additionalInformation: {
4147
+ oneOf: [
4148
+ {
4149
+ type: "null",
4150
+ },
4151
+ {
4152
+ $ref: "#/components/schemas/InvoiceAdditionalInformationResource",
4153
+ },
4154
+ ],
4155
+ },
4027
4156
  buyer: {
4028
4157
  oneOf: [
4029
4158
  {
@@ -4136,6 +4265,16 @@ export const invoiceApiContract = {
4136
4265
  },
4137
4266
  ],
4138
4267
  },
4268
+ referenceInformation: {
4269
+ oneOf: [
4270
+ {
4271
+ type: "null",
4272
+ },
4273
+ {
4274
+ $ref: "#/components/schemas/InvoiceReferenceInformationResource",
4275
+ },
4276
+ ],
4277
+ },
4139
4278
  replacesInvoiceId: {
4140
4279
  type: ["string", "null"],
4141
4280
  format: "uuid",
@@ -4199,6 +4338,8 @@ export const invoiceApiContract = {
4199
4338
  "foreignPayment",
4200
4339
  "foreignCurrency",
4201
4340
  "paymentTerms",
4341
+ "referenceInformation",
4342
+ "additionalInformation",
4202
4343
  "source",
4203
4344
  "totals",
4204
4345
  "corrections",
@@ -4215,6 +4356,16 @@ export const invoiceApiContract = {
4215
4356
  type: ["string", "null"],
4216
4357
  format: "date-time",
4217
4358
  },
4359
+ additionalInformation: {
4360
+ oneOf: [
4361
+ {
4362
+ type: "null",
4363
+ },
4364
+ {
4365
+ $ref: "#/components/schemas/InvoiceAdditionalInformationResource",
4366
+ },
4367
+ ],
4368
+ },
4218
4369
  buyer: {
4219
4370
  oneOf: [
4220
4371
  {
@@ -4330,6 +4481,16 @@ export const invoiceApiContract = {
4330
4481
  },
4331
4482
  ],
4332
4483
  },
4484
+ referenceInformation: {
4485
+ oneOf: [
4486
+ {
4487
+ type: "null",
4488
+ },
4489
+ {
4490
+ $ref: "#/components/schemas/InvoiceReferenceInformationResource",
4491
+ },
4492
+ ],
4493
+ },
4333
4494
  replacesInvoiceId: {
4334
4495
  type: ["string", "null"],
4335
4496
  format: "uuid",
@@ -4395,6 +4556,8 @@ export const invoiceApiContract = {
4395
4556
  "foreignPayment",
4396
4557
  "foreignCurrency",
4397
4558
  "paymentTerms",
4559
+ "referenceInformation",
4560
+ "additionalInformation",
4398
4561
  "source",
4399
4562
  "totals",
4400
4563
  "corrections",
@@ -4411,6 +4574,16 @@ export const invoiceApiContract = {
4411
4574
  type: ["string", "null"],
4412
4575
  format: "date-time",
4413
4576
  },
4577
+ additionalInformation: {
4578
+ oneOf: [
4579
+ {
4580
+ type: "null",
4581
+ },
4582
+ {
4583
+ $ref: "#/components/schemas/InvoiceAdditionalInformationResource",
4584
+ },
4585
+ ],
4586
+ },
4414
4587
  buyer: {
4415
4588
  oneOf: [
4416
4589
  {
@@ -4526,6 +4699,16 @@ export const invoiceApiContract = {
4526
4699
  },
4527
4700
  ],
4528
4701
  },
4702
+ referenceInformation: {
4703
+ oneOf: [
4704
+ {
4705
+ type: "null",
4706
+ },
4707
+ {
4708
+ $ref: "#/components/schemas/InvoiceReferenceInformationResource",
4709
+ },
4710
+ ],
4711
+ },
4529
4712
  replacesInvoiceId: {
4530
4713
  type: ["string", "null"],
4531
4714
  format: "uuid",
@@ -4588,6 +4771,8 @@ export const invoiceApiContract = {
4588
4771
  "foreignPayment",
4589
4772
  "foreignCurrency",
4590
4773
  "paymentTerms",
4774
+ "referenceInformation",
4775
+ "additionalInformation",
4591
4776
  "source",
4592
4777
  "totals",
4593
4778
  "corrections",
@@ -4604,6 +4789,16 @@ export const invoiceApiContract = {
4604
4789
  type: ["string", "null"],
4605
4790
  format: "date-time",
4606
4791
  },
4792
+ additionalInformation: {
4793
+ oneOf: [
4794
+ {
4795
+ type: "null",
4796
+ },
4797
+ {
4798
+ $ref: "#/components/schemas/InvoiceAdditionalInformationResource",
4799
+ },
4800
+ ],
4801
+ },
4607
4802
  buyer: {
4608
4803
  oneOf: [
4609
4804
  {
@@ -4719,6 +4914,16 @@ export const invoiceApiContract = {
4719
4914
  },
4720
4915
  ],
4721
4916
  },
4917
+ referenceInformation: {
4918
+ oneOf: [
4919
+ {
4920
+ type: "null",
4921
+ },
4922
+ {
4923
+ $ref: "#/components/schemas/InvoiceReferenceInformationResource",
4924
+ },
4925
+ ],
4926
+ },
4722
4927
  replacesInvoiceId: {
4723
4928
  type: ["string", "null"],
4724
4929
  format: "uuid",
@@ -4781,6 +4986,8 @@ export const invoiceApiContract = {
4781
4986
  "foreignPayment",
4782
4987
  "foreignCurrency",
4783
4988
  "paymentTerms",
4989
+ "referenceInformation",
4990
+ "additionalInformation",
4784
4991
  "source",
4785
4992
  "totals",
4786
4993
  "corrections",
@@ -4797,6 +5004,16 @@ export const invoiceApiContract = {
4797
5004
  type: ["string", "null"],
4798
5005
  format: "date-time",
4799
5006
  },
5007
+ additionalInformation: {
5008
+ oneOf: [
5009
+ {
5010
+ type: "null",
5011
+ },
5012
+ {
5013
+ $ref: "#/components/schemas/InvoiceAdditionalInformationResource",
5014
+ },
5015
+ ],
5016
+ },
4800
5017
  buyer: {
4801
5018
  oneOf: [
4802
5019
  {
@@ -4912,6 +5129,16 @@ export const invoiceApiContract = {
4912
5129
  },
4913
5130
  ],
4914
5131
  },
5132
+ referenceInformation: {
5133
+ oneOf: [
5134
+ {
5135
+ type: "null",
5136
+ },
5137
+ {
5138
+ $ref: "#/components/schemas/InvoiceReferenceInformationResource",
5139
+ },
5140
+ ],
5141
+ },
4915
5142
  replacesInvoiceId: {
4916
5143
  type: ["string", "null"],
4917
5144
  format: "uuid",
@@ -4974,6 +5201,8 @@ export const invoiceApiContract = {
4974
5201
  "foreignPayment",
4975
5202
  "foreignCurrency",
4976
5203
  "paymentTerms",
5204
+ "referenceInformation",
5205
+ "additionalInformation",
4977
5206
  "source",
4978
5207
  "totals",
4979
5208
  "corrections",
@@ -4990,6 +5219,16 @@ export const invoiceApiContract = {
4990
5219
  type: ["string", "null"],
4991
5220
  format: "date-time",
4992
5221
  },
5222
+ additionalInformation: {
5223
+ oneOf: [
5224
+ {
5225
+ type: "null",
5226
+ },
5227
+ {
5228
+ $ref: "#/components/schemas/InvoiceAdditionalInformationResource",
5229
+ },
5230
+ ],
5231
+ },
4993
5232
  buyer: {
4994
5233
  oneOf: [
4995
5234
  {
@@ -5105,6 +5344,16 @@ export const invoiceApiContract = {
5105
5344
  },
5106
5345
  ],
5107
5346
  },
5347
+ referenceInformation: {
5348
+ oneOf: [
5349
+ {
5350
+ type: "null",
5351
+ },
5352
+ {
5353
+ $ref: "#/components/schemas/InvoiceReferenceInformationResource",
5354
+ },
5355
+ ],
5356
+ },
5108
5357
  replacesInvoiceId: {
5109
5358
  type: ["string", "null"],
5110
5359
  format: "uuid",
@@ -5167,6 +5416,8 @@ export const invoiceApiContract = {
5167
5416
  "foreignPayment",
5168
5417
  "foreignCurrency",
5169
5418
  "paymentTerms",
5419
+ "referenceInformation",
5420
+ "additionalInformation",
5170
5421
  "source",
5171
5422
  "totals",
5172
5423
  "corrections",
@@ -5183,6 +5434,16 @@ export const invoiceApiContract = {
5183
5434
  type: ["string", "null"],
5184
5435
  format: "date-time",
5185
5436
  },
5437
+ additionalInformation: {
5438
+ oneOf: [
5439
+ {
5440
+ type: "null",
5441
+ },
5442
+ {
5443
+ $ref: "#/components/schemas/InvoiceAdditionalInformationResource",
5444
+ },
5445
+ ],
5446
+ },
5186
5447
  buyer: {
5187
5448
  oneOf: [
5188
5449
  {
@@ -5298,6 +5559,16 @@ export const invoiceApiContract = {
5298
5559
  },
5299
5560
  ],
5300
5561
  },
5562
+ referenceInformation: {
5563
+ oneOf: [
5564
+ {
5565
+ type: "null",
5566
+ },
5567
+ {
5568
+ $ref: "#/components/schemas/InvoiceReferenceInformationResource",
5569
+ },
5570
+ ],
5571
+ },
5301
5572
  replacesInvoiceId: {
5302
5573
  type: ["string", "null"],
5303
5574
  format: "uuid",
@@ -5345,44 +5616,325 @@ export const invoiceApiContract = {
5345
5616
  propertyName: "status",
5346
5617
  },
5347
5618
  },
5348
- InvoiceBuyerDeliveryReadiness: {
5349
- oneOf: [
5350
- {
5351
- type: "object",
5352
- title: "NotApplicableReadiness",
5353
- required: ["status"],
5354
- properties: {
5355
- status: {
5356
- type: "string",
5357
- enum: ["notApplicable"],
5358
- },
5359
- },
5360
- additionalProperties: false,
5619
+ InvoiceAdditionalInformationResource: {
5620
+ type: "object",
5621
+ required: ["referenceNumber", "shipment"],
5622
+ properties: {
5623
+ referenceNumber: {
5624
+ type: ["string", "null"],
5625
+ maxLength: 20,
5361
5626
  },
5362
- {
5363
- type: "object",
5364
- required: ["authorityRoute", "status"],
5365
- properties: {
5366
- authorityRoute: {
5367
- $ref: "#/components/schemas/FiscalAuthorityRoute",
5627
+ shipment: {
5628
+ oneOf: [
5629
+ {
5630
+ type: "null",
5368
5631
  },
5369
- status: {
5370
- type: "string",
5371
- enum: ["pending"],
5632
+ {
5633
+ $ref: "#/components/schemas/InvoiceShipmentInformationResource",
5372
5634
  },
5373
- },
5374
- additionalProperties: false,
5635
+ ],
5375
5636
  },
5376
- {
5377
- type: "object",
5378
- required: ["authorityRoute", "readyAt", "status"],
5379
- properties: {
5380
- authorityRoute: {
5381
- $ref: "#/components/schemas/FiscalAuthorityRoute",
5637
+ },
5638
+ additionalProperties: false,
5639
+ },
5640
+ InvoiceShipmentInformationResource: {
5641
+ type: "object",
5642
+ required: [
5643
+ "shipmentDate",
5644
+ "shipmentNumber",
5645
+ "containerNumber",
5646
+ "grossWeight",
5647
+ "netWeight",
5648
+ "grossWeightUnit",
5649
+ "netWeightUnit",
5650
+ "packageCount",
5651
+ "packageUnit",
5652
+ "packageVolume",
5653
+ "volumeUnit",
5654
+ "driver",
5655
+ "transportDocumentNumber",
5656
+ "vehicleFiche",
5657
+ "vehiclePlate",
5658
+ "route",
5659
+ "transportZone",
5660
+ "deliveryNoteNumber",
5661
+ ],
5662
+ properties: {
5663
+ containerNumber: {
5664
+ oneOf: [
5665
+ {
5666
+ type: "null",
5382
5667
  },
5383
- readyAt: {
5668
+ {
5384
5669
  type: "string",
5385
- format: "date-time",
5670
+ maxLength: 100,
5671
+ minLength: 1,
5672
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5673
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5674
+ },
5675
+ ],
5676
+ },
5677
+ deliveryNoteNumber: {
5678
+ oneOf: [
5679
+ {
5680
+ type: "null",
5681
+ },
5682
+ {
5683
+ type: "string",
5684
+ maxLength: 20,
5685
+ minLength: 1,
5686
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5687
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5688
+ },
5689
+ ],
5690
+ },
5691
+ driver: {
5692
+ oneOf: [
5693
+ {
5694
+ type: "null",
5695
+ },
5696
+ {
5697
+ type: "string",
5698
+ maxLength: 20,
5699
+ minLength: 1,
5700
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5701
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5702
+ },
5703
+ ],
5704
+ },
5705
+ grossWeight: {
5706
+ oneOf: [
5707
+ {
5708
+ type: "null",
5709
+ },
5710
+ {
5711
+ type: "string",
5712
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
5713
+ "x-timbro-submission-validation": ["pattern"],
5714
+ },
5715
+ ],
5716
+ },
5717
+ grossWeightUnit: {
5718
+ oneOf: [
5719
+ {
5720
+ type: "null",
5721
+ },
5722
+ {
5723
+ type: "string",
5724
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
5725
+ "x-timbro-submission-validation": ["pattern"],
5726
+ },
5727
+ ],
5728
+ },
5729
+ netWeight: {
5730
+ oneOf: [
5731
+ {
5732
+ type: "null",
5733
+ },
5734
+ {
5735
+ type: "string",
5736
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
5737
+ "x-timbro-submission-validation": ["pattern"],
5738
+ },
5739
+ ],
5740
+ },
5741
+ netWeightUnit: {
5742
+ oneOf: [
5743
+ {
5744
+ type: "null",
5745
+ },
5746
+ {
5747
+ type: "string",
5748
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
5749
+ "x-timbro-submission-validation": ["pattern"],
5750
+ },
5751
+ ],
5752
+ },
5753
+ packageCount: {
5754
+ oneOf: [
5755
+ {
5756
+ type: "null",
5757
+ },
5758
+ {
5759
+ type: "string",
5760
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
5761
+ "x-timbro-submission-validation": ["pattern"],
5762
+ },
5763
+ ],
5764
+ },
5765
+ packageUnit: {
5766
+ oneOf: [
5767
+ {
5768
+ type: "null",
5769
+ },
5770
+ {
5771
+ type: "string",
5772
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
5773
+ "x-timbro-submission-validation": ["pattern"],
5774
+ },
5775
+ ],
5776
+ },
5777
+ packageVolume: {
5778
+ oneOf: [
5779
+ {
5780
+ type: "null",
5781
+ },
5782
+ {
5783
+ type: "string",
5784
+ pattern: "^(?=[0-9.]*[1-9])[0-9]{1,16}(\\.[0-9]{1,2})?$",
5785
+ "x-timbro-submission-validation": ["pattern"],
5786
+ },
5787
+ ],
5788
+ },
5789
+ route: {
5790
+ oneOf: [
5791
+ {
5792
+ type: "null",
5793
+ },
5794
+ {
5795
+ type: "string",
5796
+ maxLength: 20,
5797
+ minLength: 1,
5798
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5799
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5800
+ },
5801
+ ],
5802
+ },
5803
+ shipmentDate: {
5804
+ oneOf: [
5805
+ {
5806
+ type: "null",
5807
+ },
5808
+ {
5809
+ type: "string",
5810
+ pattern: "^(?:(?:31-(?:0?[13578]|1[02])|(?:29|30)-(?:0?[13-9]|1[0-2])|(?:0?[1-9]|1[0-9]|2[0-8])-(?:0?[1-9]|1[0-2]))-(?:19|20)[0-9]{2}|29-0?2-(?:(?:19|20)(?:0[48]|[2468][048]|[13579][26])|2000))$",
5811
+ "x-timbro-submission-validation": ["pattern"],
5812
+ },
5813
+ ],
5814
+ },
5815
+ shipmentNumber: {
5816
+ oneOf: [
5817
+ {
5818
+ type: "null",
5819
+ },
5820
+ {
5821
+ type: "string",
5822
+ maxLength: 25,
5823
+ minLength: 1,
5824
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5825
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5826
+ },
5827
+ ],
5828
+ },
5829
+ transportDocumentNumber: {
5830
+ oneOf: [
5831
+ {
5832
+ type: "null",
5833
+ },
5834
+ {
5835
+ type: "string",
5836
+ maxLength: 20,
5837
+ minLength: 1,
5838
+ pattern: "^[0-9]+$",
5839
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5840
+ },
5841
+ ],
5842
+ },
5843
+ transportZone: {
5844
+ oneOf: [
5845
+ {
5846
+ type: "null",
5847
+ },
5848
+ {
5849
+ type: "string",
5850
+ maxLength: 20,
5851
+ minLength: 1,
5852
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5853
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5854
+ },
5855
+ ],
5856
+ },
5857
+ vehicleFiche: {
5858
+ oneOf: [
5859
+ {
5860
+ type: "null",
5861
+ },
5862
+ {
5863
+ type: "string",
5864
+ maxLength: 10,
5865
+ minLength: 1,
5866
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5867
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5868
+ },
5869
+ ],
5870
+ },
5871
+ vehiclePlate: {
5872
+ oneOf: [
5873
+ {
5874
+ type: "null",
5875
+ },
5876
+ {
5877
+ type: "string",
5878
+ maxLength: 7,
5879
+ minLength: 1,
5880
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
5881
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5882
+ },
5883
+ ],
5884
+ },
5885
+ volumeUnit: {
5886
+ oneOf: [
5887
+ {
5888
+ type: "null",
5889
+ },
5890
+ {
5891
+ type: "string",
5892
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
5893
+ "x-timbro-submission-validation": ["pattern"],
5894
+ },
5895
+ ],
5896
+ },
5897
+ },
5898
+ additionalProperties: false,
5899
+ },
5900
+ InvoiceBuyerDeliveryReadiness: {
5901
+ oneOf: [
5902
+ {
5903
+ type: "object",
5904
+ title: "NotApplicableReadiness",
5905
+ required: ["status"],
5906
+ properties: {
5907
+ status: {
5908
+ type: "string",
5909
+ enum: ["notApplicable"],
5910
+ },
5911
+ },
5912
+ additionalProperties: false,
5913
+ },
5914
+ {
5915
+ type: "object",
5916
+ required: ["authorityRoute", "status"],
5917
+ properties: {
5918
+ authorityRoute: {
5919
+ $ref: "#/components/schemas/FiscalAuthorityRoute",
5920
+ },
5921
+ status: {
5922
+ type: "string",
5923
+ enum: ["pending"],
5924
+ },
5925
+ },
5926
+ additionalProperties: false,
5927
+ },
5928
+ {
5929
+ type: "object",
5930
+ required: ["authorityRoute", "readyAt", "status"],
5931
+ properties: {
5932
+ authorityRoute: {
5933
+ $ref: "#/components/schemas/FiscalAuthorityRoute",
5934
+ },
5935
+ readyAt: {
5936
+ type: "string",
5937
+ format: "date-time",
5386
5938
  },
5387
5939
  status: {
5388
5940
  type: "string",
@@ -5594,42 +6146,117 @@ export const invoiceApiContract = {
5594
6146
  },
5595
6147
  sha256: {
5596
6148
  type: "string",
5597
- pattern: "^[0-9a-f]{64}$",
6149
+ pattern: "^[0-9a-f]{64}$",
6150
+ },
6151
+ status: {
6152
+ type: "string",
6153
+ enum: ["ready"],
6154
+ },
6155
+ },
6156
+ additionalProperties: false,
6157
+ },
6158
+ ],
6159
+ discriminator: {
6160
+ propertyName: "status",
6161
+ },
6162
+ },
6163
+ FiscalArtifactMediaType: {
6164
+ type: "string",
6165
+ enum: ["application/xml", "application/pdf"],
6166
+ },
6167
+ InvoiceLatestEvent: {
6168
+ type: "object",
6169
+ required: ["eventId", "sequence", "occurredAt"],
6170
+ properties: {
6171
+ eventId: {
6172
+ type: "string",
6173
+ format: "uuid",
6174
+ },
6175
+ occurredAt: {
6176
+ type: "string",
6177
+ format: "date-time",
6178
+ },
6179
+ sequence: {
6180
+ type: "string",
6181
+ pattern: "^[1-9][0-9]*$",
6182
+ },
6183
+ },
6184
+ additionalProperties: false,
6185
+ },
6186
+ InvoiceReferenceInformationResource: {
6187
+ type: "object",
6188
+ required: ["attribution", "fiscalNumber", "issuedOn", "modificationCode"],
6189
+ properties: {
6190
+ attribution: {
6191
+ $ref: "#/components/schemas/InvoiceReferenceAttributionResource",
6192
+ },
6193
+ fiscalNumber: {
6194
+ type: "string",
6195
+ pattern: "^(B[0-9]{10}|E[0-9]{12}|[AP][0-9]{18})$",
6196
+ "x-timbro-submission-validation": ["pattern"],
6197
+ },
6198
+ issuedOn: {
6199
+ type: "string",
6200
+ pattern: "^(?:(?:31-(?:0?[13578]|1[02])|(?:29|30)-(?:0?[13-9]|1[0-2])|(?:0?[1-9]|1[0-9]|2[0-8])-(?:0?[1-9]|1[0-2]))-(?:19|20)[0-9]{2}|29-0?2-(?:(?:19|20)(?:0[48]|[2468][048]|[13579][26])|2000))$",
6201
+ "x-timbro-submission-validation": ["pattern"],
6202
+ },
6203
+ modificationCode: {
6204
+ type: "string",
6205
+ enum: ["4", "5"],
6206
+ "x-timbro-submission-validation": ["enum"],
6207
+ },
6208
+ },
6209
+ additionalProperties: false,
6210
+ },
6211
+ InvoiceReferenceAttributionResource: {
6212
+ oneOf: [
6213
+ {
6214
+ type: "object",
6215
+ title: "InternalOperationReference",
6216
+ required: ["fiscalOperationId", "kind"],
6217
+ properties: {
6218
+ fiscalOperationId: {
6219
+ type: "string",
6220
+ pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
6221
+ "x-timbro-submission-validation": ["pattern"],
6222
+ },
6223
+ kind: {
6224
+ type: "string",
6225
+ enum: ["internal_operation"],
6226
+ },
6227
+ },
6228
+ additionalProperties: false,
6229
+ },
6230
+ {
6231
+ type: "object",
6232
+ required: ["issuerTaxId", "environment", "sourceReference", "kind"],
6233
+ properties: {
6234
+ environment: {
6235
+ $ref: "#/components/schemas/FiscalEnvironment",
6236
+ },
6237
+ issuerTaxId: {
6238
+ type: "string",
6239
+ pattern: "^[0-9]{9}([0-9]{2})?$",
6240
+ "x-timbro-submission-validation": ["pattern"],
6241
+ },
6242
+ kind: {
6243
+ type: "string",
6244
+ enum: ["external_document"],
5598
6245
  },
5599
- status: {
6246
+ sourceReference: {
5600
6247
  type: "string",
5601
- enum: ["ready"],
6248
+ maxLength: 250,
6249
+ minLength: 1,
6250
+ pattern: "^(?=.*[^\\p{White_Space}])[\\s\\S]+$",
6251
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
5602
6252
  },
5603
6253
  },
5604
6254
  additionalProperties: false,
5605
6255
  },
5606
6256
  ],
5607
6257
  discriminator: {
5608
- propertyName: "status",
5609
- },
5610
- },
5611
- FiscalArtifactMediaType: {
5612
- type: "string",
5613
- enum: ["application/xml", "application/pdf"],
5614
- },
5615
- InvoiceLatestEvent: {
5616
- type: "object",
5617
- required: ["eventId", "sequence", "occurredAt"],
5618
- properties: {
5619
- eventId: {
5620
- type: "string",
5621
- format: "uuid",
5622
- },
5623
- occurredAt: {
5624
- type: "string",
5625
- format: "date-time",
5626
- },
5627
- sequence: {
5628
- type: "string",
5629
- pattern: "^[1-9][0-9]*$",
5630
- },
6258
+ propertyName: "kind",
5631
6259
  },
5632
- additionalProperties: false,
5633
6260
  },
5634
6261
  InvoiceProcessingStage: {
5635
6262
  type: "string",
@@ -5646,6 +6273,16 @@ export const invoiceApiContract = {
5646
6273
  type: "object",
5647
6274
  required: ["invoiceReference", "currency", "paymentTerms", "items", "buyer", "type"],
5648
6275
  properties: {
6276
+ additionalInformation: {
6277
+ oneOf: [
6278
+ {
6279
+ type: "null",
6280
+ },
6281
+ {
6282
+ $ref: "#/components/schemas/InvoiceAdditionalInformation",
6283
+ },
6284
+ ],
6285
+ },
5649
6286
  buyer: {
5650
6287
  $ref: "#/components/schemas/InvoiceBuyer",
5651
6288
  },
@@ -5716,6 +6353,16 @@ export const invoiceApiContract = {
5716
6353
  },
5717
6354
  ],
5718
6355
  },
6356
+ referenceInformation: {
6357
+ oneOf: [
6358
+ {
6359
+ type: "null",
6360
+ },
6361
+ {
6362
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
6363
+ },
6364
+ ],
6365
+ },
5719
6366
  source: {
5720
6367
  oneOf: [
5721
6368
  {
@@ -5737,6 +6384,16 @@ export const invoiceApiContract = {
5737
6384
  type: "object",
5738
6385
  required: ["invoiceReference", "currency", "paymentTerms", "items", "type"],
5739
6386
  properties: {
6387
+ additionalInformation: {
6388
+ oneOf: [
6389
+ {
6390
+ type: "null",
6391
+ },
6392
+ {
6393
+ $ref: "#/components/schemas/InvoiceAdditionalInformation",
6394
+ },
6395
+ ],
6396
+ },
5740
6397
  buyer: {
5741
6398
  oneOf: [
5742
6399
  {
@@ -5814,6 +6471,16 @@ export const invoiceApiContract = {
5814
6471
  },
5815
6472
  ],
5816
6473
  },
6474
+ referenceInformation: {
6475
+ oneOf: [
6476
+ {
6477
+ type: "null",
6478
+ },
6479
+ {
6480
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
6481
+ },
6482
+ ],
6483
+ },
5817
6484
  source: {
5818
6485
  oneOf: [
5819
6486
  {
@@ -5835,6 +6502,16 @@ export const invoiceApiContract = {
5835
6502
  type: "object",
5836
6503
  required: ["invoiceReference", "currency", "paymentTerms", "supplier", "items", "type"],
5837
6504
  properties: {
6505
+ additionalInformation: {
6506
+ oneOf: [
6507
+ {
6508
+ type: "null",
6509
+ },
6510
+ {
6511
+ $ref: "#/components/schemas/InvoiceAdditionalInformation",
6512
+ },
6513
+ ],
6514
+ },
5838
6515
  currency: {
5839
6516
  type: "string",
5840
6517
  enum: ["DOP"],
@@ -5890,6 +6567,16 @@ export const invoiceApiContract = {
5890
6567
  },
5891
6568
  ],
5892
6569
  },
6570
+ referenceInformation: {
6571
+ oneOf: [
6572
+ {
6573
+ type: "null",
6574
+ },
6575
+ {
6576
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
6577
+ },
6578
+ ],
6579
+ },
5893
6580
  source: {
5894
6581
  oneOf: [
5895
6582
  {
@@ -7185,6 +7872,16 @@ export const invoiceApiContract = {
7185
7872
  "type",
7186
7873
  ],
7187
7874
  properties: {
7875
+ additionalInformation: {
7876
+ oneOf: [
7877
+ {
7878
+ type: "null",
7879
+ },
7880
+ {
7881
+ $ref: "#/components/schemas/InvoiceGovernmentAdditionalInformation",
7882
+ },
7883
+ ],
7884
+ },
7188
7885
  buyer: {
7189
7886
  type: "object",
7190
7887
  required: ["taxId", "legalName"],
@@ -7230,6 +7927,18 @@ export const invoiceApiContract = {
7230
7927
  },
7231
7928
  ],
7232
7929
  },
7930
+ deliveryPhone: {
7931
+ oneOf: [
7932
+ {
7933
+ type: "null",
7934
+ },
7935
+ {
7936
+ type: "string",
7937
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
7938
+ "x-timbro-submission-validation": ["pattern"],
7939
+ },
7940
+ ],
7941
+ },
7233
7942
  email: {
7234
7943
  oneOf: [
7235
7944
  {
@@ -8561,6 +9270,16 @@ export const invoiceApiContract = {
8561
9270
  },
8562
9271
  ],
8563
9272
  },
9273
+ referenceInformation: {
9274
+ oneOf: [
9275
+ {
9276
+ type: "null",
9277
+ },
9278
+ {
9279
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
9280
+ },
9281
+ ],
9282
+ },
8564
9283
  source: {
8565
9284
  oneOf: [
8566
9285
  {
@@ -8654,6 +9373,16 @@ export const invoiceApiContract = {
8654
9373
  },
8655
9374
  ],
8656
9375
  },
9376
+ referenceInformation: {
9377
+ oneOf: [
9378
+ {
9379
+ type: "null",
9380
+ },
9381
+ {
9382
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
9383
+ },
9384
+ ],
9385
+ },
8657
9386
  source: {
8658
9387
  oneOf: [
8659
9388
  {
@@ -8747,13 +9476,158 @@ export const invoiceApiContract = {
8747
9476
  },
8748
9477
  ],
8749
9478
  },
8750
- pdfLayout: {
9479
+ pdfLayout: {
9480
+ oneOf: [
9481
+ {
9482
+ type: "null",
9483
+ },
9484
+ {
9485
+ $ref: "#/components/schemas/InvoicePdfLayout",
9486
+ },
9487
+ ],
9488
+ },
9489
+ referenceInformation: {
9490
+ oneOf: [
9491
+ {
9492
+ type: "null",
9493
+ },
9494
+ {
9495
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
9496
+ },
9497
+ ],
9498
+ },
9499
+ source: {
9500
+ oneOf: [
9501
+ {
9502
+ type: "null",
9503
+ },
9504
+ {
9505
+ $ref: "#/components/schemas/InvoiceSourceInput",
9506
+ },
9507
+ ],
9508
+ },
9509
+ type: {
9510
+ type: "string",
9511
+ enum: ["E47"],
9512
+ },
9513
+ withholdingBasis: {
9514
+ $ref: "#/components/schemas/InvoiceForeignPaymentBasis",
9515
+ },
9516
+ },
9517
+ additionalProperties: false,
9518
+ },
9519
+ {
9520
+ type: "object",
9521
+ required: [
9522
+ "invoiceReference",
9523
+ "currency",
9524
+ "paymentTerms",
9525
+ "buyer",
9526
+ "eligibility",
9527
+ "items",
9528
+ "type",
9529
+ ],
9530
+ properties: {
9531
+ additionalInformation: {
9532
+ oneOf: [
9533
+ {
9534
+ type: "null",
9535
+ },
9536
+ {
9537
+ $ref: "#/components/schemas/InvoiceAdditionalInformation",
9538
+ },
9539
+ ],
9540
+ },
9541
+ buyer: {
9542
+ $ref: "#/components/schemas/InvoiceSpecialRegimeBuyer",
9543
+ },
9544
+ currency: {
9545
+ type: "string",
9546
+ enum: ["DOP"],
9547
+ "x-timbro-submission-validation": ["enum"],
9548
+ },
9549
+ eligibility: {
9550
+ $ref: "#/components/schemas/InvoiceSpecialRegimeEligibility",
9551
+ },
9552
+ expectedTotals: {
9553
+ oneOf: [
9554
+ {
9555
+ type: "null",
9556
+ },
9557
+ {
9558
+ $ref: "#/components/schemas/InvoiceExpectedTotals",
9559
+ },
9560
+ ],
9561
+ },
9562
+ foreignCurrency: {
9563
+ oneOf: [
9564
+ {
9565
+ type: "null",
9566
+ },
9567
+ {
9568
+ $ref: "#/components/schemas/InvoiceForeignCurrency",
9569
+ },
9570
+ ],
9571
+ },
9572
+ incomeType: {
9573
+ oneOf: [
9574
+ {
9575
+ type: "null",
9576
+ },
9577
+ {
9578
+ type: "string",
9579
+ enum: ["01", "02", "03", "04", "05", "06"],
9580
+ "x-timbro-submission-validation": ["enum"],
9581
+ },
9582
+ ],
9583
+ },
9584
+ invoiceReference: {
9585
+ type: "string",
9586
+ description: "The only field a source-system reference travels in, bounded at 128 characters.",
9587
+ maxLength: 128,
9588
+ minLength: 1,
9589
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
9590
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9591
+ },
9592
+ items: {
9593
+ type: "array",
9594
+ items: {
9595
+ $ref: "#/components/schemas/InvoiceSpecialRegimeItem",
9596
+ },
9597
+ maxItems: 1000,
9598
+ minItems: 1,
9599
+ "x-timbro-submission-validation": ["minItems", "maxItems"],
9600
+ },
9601
+ numbering: {
9602
+ oneOf: [
9603
+ {
9604
+ type: "null",
9605
+ },
9606
+ {
9607
+ $ref: "#/components/schemas/InvoiceNumbering",
9608
+ },
9609
+ ],
9610
+ },
9611
+ paymentTerms: {
9612
+ $ref: "#/components/schemas/InvoicePaymentTerms",
9613
+ },
9614
+ pdfLayout: {
9615
+ oneOf: [
9616
+ {
9617
+ type: "null",
9618
+ },
9619
+ {
9620
+ $ref: "#/components/schemas/InvoicePdfLayout",
9621
+ },
9622
+ ],
9623
+ },
9624
+ referenceInformation: {
8751
9625
  oneOf: [
8752
9626
  {
8753
9627
  type: "null",
8754
9628
  },
8755
9629
  {
8756
- $ref: "#/components/schemas/InvoicePdfLayout",
9630
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
8757
9631
  },
8758
9632
  ],
8759
9633
  },
@@ -8769,10 +9643,7 @@ export const invoiceApiContract = {
8769
9643
  },
8770
9644
  type: {
8771
9645
  type: "string",
8772
- enum: ["E47"],
8773
- },
8774
- withholdingBasis: {
8775
- $ref: "#/components/schemas/InvoiceForeignPaymentBasis",
9646
+ enum: ["E44"],
8776
9647
  },
8777
9648
  },
8778
9649
  additionalProperties: false,
@@ -8789,8 +9660,18 @@ export const invoiceApiContract = {
8789
9660
  "type",
8790
9661
  ],
8791
9662
  properties: {
9663
+ additionalInformation: {
9664
+ oneOf: [
9665
+ {
9666
+ type: "null",
9667
+ },
9668
+ {
9669
+ $ref: "#/components/schemas/InvoiceAdditionalInformation",
9670
+ },
9671
+ ],
9672
+ },
8792
9673
  buyer: {
8793
- $ref: "#/components/schemas/InvoiceSpecialRegimeBuyer",
9674
+ $ref: "#/components/schemas/InvoiceExportBuyer",
8794
9675
  },
8795
9676
  currency: {
8796
9677
  type: "string",
@@ -8798,7 +9679,7 @@ export const invoiceApiContract = {
8798
9679
  "x-timbro-submission-validation": ["enum"],
8799
9680
  },
8800
9681
  eligibility: {
8801
- $ref: "#/components/schemas/InvoiceSpecialRegimeEligibility",
9682
+ $ref: "#/components/schemas/InvoiceExportEligibility",
8802
9683
  },
8803
9684
  expectedTotals: {
8804
9685
  oneOf: [
@@ -8843,7 +9724,7 @@ export const invoiceApiContract = {
8843
9724
  items: {
8844
9725
  type: "array",
8845
9726
  items: {
8846
- $ref: "#/components/schemas/InvoiceSpecialRegimeItem",
9727
+ $ref: "#/components/schemas/InvoiceExportItem",
8847
9728
  },
8848
9729
  maxItems: 1000,
8849
9730
  minItems: 1,
@@ -8872,6 +9753,16 @@ export const invoiceApiContract = {
8872
9753
  },
8873
9754
  ],
8874
9755
  },
9756
+ referenceInformation: {
9757
+ oneOf: [
9758
+ {
9759
+ type: "null",
9760
+ },
9761
+ {
9762
+ $ref: "#/components/schemas/InvoiceReferenceInformation",
9763
+ },
9764
+ ],
9765
+ },
8875
9766
  source: {
8876
9767
  oneOf: [
8877
9768
  {
@@ -8884,7 +9775,7 @@ export const invoiceApiContract = {
8884
9775
  },
8885
9776
  type: {
8886
9777
  type: "string",
8887
- enum: ["E44"],
9778
+ enum: ["E46"],
8888
9779
  },
8889
9780
  },
8890
9781
  additionalProperties: false,
@@ -8895,40 +9786,35 @@ export const invoiceApiContract = {
8895
9786
  "invoiceReference",
8896
9787
  "currency",
8897
9788
  "paymentTerms",
8898
- "buyer",
8899
- "eligibility",
8900
9789
  "items",
9790
+ "originalInvoiceId",
9791
+ "modificationCode",
9792
+ "reason",
8901
9793
  "type",
8902
9794
  ],
8903
9795
  properties: {
8904
- buyer: {
8905
- $ref: "#/components/schemas/InvoiceExportBuyer",
8906
- },
8907
- currency: {
8908
- type: "string",
8909
- enum: ["DOP"],
8910
- "x-timbro-submission-validation": ["enum"],
8911
- },
8912
- eligibility: {
8913
- $ref: "#/components/schemas/InvoiceExportEligibility",
8914
- },
8915
- expectedTotals: {
9796
+ additionalInformation: {
8916
9797
  oneOf: [
8917
9798
  {
8918
9799
  type: "null",
8919
9800
  },
8920
9801
  {
8921
- $ref: "#/components/schemas/InvoiceExpectedTotals",
9802
+ $ref: "#/components/schemas/InvoiceAdditionalInformation",
8922
9803
  },
8923
9804
  ],
8924
9805
  },
8925
- foreignCurrency: {
9806
+ currency: {
9807
+ type: "string",
9808
+ enum: ["DOP"],
9809
+ "x-timbro-submission-validation": ["enum"],
9810
+ },
9811
+ expectedTotals: {
8926
9812
  oneOf: [
8927
9813
  {
8928
9814
  type: "null",
8929
9815
  },
8930
9816
  {
8931
- $ref: "#/components/schemas/InvoiceForeignCurrency",
9817
+ $ref: "#/components/schemas/InvoiceExpectedTotals",
8932
9818
  },
8933
9819
  ],
8934
9820
  },
@@ -8955,12 +9841,15 @@ export const invoiceApiContract = {
8955
9841
  items: {
8956
9842
  type: "array",
8957
9843
  items: {
8958
- $ref: "#/components/schemas/InvoiceExportItem",
9844
+ $ref: "#/components/schemas/InvoiceItem",
8959
9845
  },
8960
9846
  maxItems: 1000,
8961
9847
  minItems: 1,
8962
9848
  "x-timbro-submission-validation": ["minItems", "maxItems"],
8963
9849
  },
9850
+ modificationCode: {
9851
+ $ref: "#/components/schemas/InvoiceDebitNoteModificationCode",
9852
+ },
8964
9853
  numbering: {
8965
9854
  oneOf: [
8966
9855
  {
@@ -8971,6 +9860,10 @@ export const invoiceApiContract = {
8971
9860
  },
8972
9861
  ],
8973
9862
  },
9863
+ originalInvoiceId: {
9864
+ type: "string",
9865
+ format: "uuid",
9866
+ },
8974
9867
  paymentTerms: {
8975
9868
  $ref: "#/components/schemas/InvoicePaymentTerms",
8976
9869
  },
@@ -8984,6 +9877,13 @@ export const invoiceApiContract = {
8984
9877
  },
8985
9878
  ],
8986
9879
  },
9880
+ reason: {
9881
+ type: "string",
9882
+ maxLength: 90,
9883
+ minLength: 1,
9884
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
9885
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9886
+ },
8987
9887
  source: {
8988
9888
  oneOf: [
8989
9889
  {
@@ -8996,7 +9896,7 @@ export const invoiceApiContract = {
8996
9896
  },
8997
9897
  type: {
8998
9898
  type: "string",
8999
- enum: ["E46"],
9899
+ enum: ["E33"],
9000
9900
  },
9001
9901
  },
9002
9902
  additionalProperties: false,
@@ -9014,6 +9914,16 @@ export const invoiceApiContract = {
9014
9914
  "type",
9015
9915
  ],
9016
9916
  properties: {
9917
+ additionalInformation: {
9918
+ oneOf: [
9919
+ {
9920
+ type: "null",
9921
+ },
9922
+ {
9923
+ $ref: "#/components/schemas/InvoiceAdditionalInformation",
9924
+ },
9925
+ ],
9926
+ },
9017
9927
  currency: {
9018
9928
  type: "string",
9019
9929
  enum: ["DOP"],
@@ -9054,12 +9964,12 @@ export const invoiceApiContract = {
9054
9964
  items: {
9055
9965
  $ref: "#/components/schemas/InvoiceItem",
9056
9966
  },
9057
- maxItems: 1000,
9967
+ maxItems: 10000,
9058
9968
  minItems: 1,
9059
9969
  "x-timbro-submission-validation": ["minItems", "maxItems"],
9060
9970
  },
9061
9971
  modificationCode: {
9062
- $ref: "#/components/schemas/InvoiceDebitNoteModificationCode",
9972
+ $ref: "#/components/schemas/InvoiceCreditNoteModificationCode",
9063
9973
  },
9064
9974
  numbering: {
9065
9975
  oneOf: [
@@ -9076,7 +9986,7 @@ export const invoiceApiContract = {
9076
9986
  format: "uuid",
9077
9987
  },
9078
9988
  paymentTerms: {
9079
- $ref: "#/components/schemas/InvoicePaymentTerms",
9989
+ $ref: "#/components/schemas/InvoiceCreditNotePaymentTerms",
9080
9990
  },
9081
9991
  pdfLayout: {
9082
9992
  oneOf: [
@@ -9107,126 +10017,276 @@ export const invoiceApiContract = {
9107
10017
  },
9108
10018
  type: {
9109
10019
  type: "string",
9110
- enum: ["E33"],
10020
+ enum: ["E34"],
9111
10021
  },
9112
10022
  },
9113
10023
  additionalProperties: false,
9114
10024
  },
9115
- {
9116
- type: "object",
9117
- required: [
9118
- "invoiceReference",
9119
- "currency",
9120
- "paymentTerms",
9121
- "items",
9122
- "originalInvoiceId",
9123
- "modificationCode",
9124
- "reason",
9125
- "type",
10025
+ ],
10026
+ discriminator: {
10027
+ propertyName: "type",
10028
+ },
10029
+ },
10030
+ InvoiceAdditionalInformation: {
10031
+ type: "object",
10032
+ properties: {
10033
+ referenceNumber: {
10034
+ oneOf: [
10035
+ {
10036
+ type: "null",
10037
+ },
10038
+ {
10039
+ type: "string",
10040
+ maxLength: 20,
10041
+ minLength: 1,
10042
+ pattern: "^[0-9]+$",
10043
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10044
+ },
9126
10045
  ],
10046
+ },
10047
+ shipment: {
10048
+ type: "object",
9127
10049
  properties: {
9128
- currency: {
9129
- type: "string",
9130
- enum: ["DOP"],
9131
- "x-timbro-submission-validation": ["enum"],
10050
+ containerNumber: {
10051
+ oneOf: [
10052
+ {
10053
+ type: "null",
10054
+ },
10055
+ {
10056
+ type: "string",
10057
+ maxLength: 100,
10058
+ minLength: 1,
10059
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10060
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10061
+ },
10062
+ ],
9132
10063
  },
9133
- expectedTotals: {
10064
+ deliveryNoteNumber: {
10065
+ oneOf: [
10066
+ {
10067
+ type: "null",
10068
+ },
10069
+ {
10070
+ type: "string",
10071
+ maxLength: 20,
10072
+ minLength: 1,
10073
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10074
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10075
+ },
10076
+ ],
10077
+ },
10078
+ driver: {
10079
+ oneOf: [
10080
+ {
10081
+ type: "null",
10082
+ },
10083
+ {
10084
+ type: "string",
10085
+ maxLength: 20,
10086
+ minLength: 1,
10087
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10088
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10089
+ },
10090
+ ],
10091
+ },
10092
+ grossWeight: {
10093
+ oneOf: [
10094
+ {
10095
+ type: "null",
10096
+ },
10097
+ {
10098
+ type: "string",
10099
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
10100
+ "x-timbro-submission-validation": ["pattern"],
10101
+ },
10102
+ ],
10103
+ },
10104
+ grossWeightUnit: {
10105
+ oneOf: [
10106
+ {
10107
+ type: "null",
10108
+ },
10109
+ {
10110
+ type: "string",
10111
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
10112
+ "x-timbro-submission-validation": ["pattern"],
10113
+ },
10114
+ ],
10115
+ },
10116
+ netWeight: {
10117
+ oneOf: [
10118
+ {
10119
+ type: "null",
10120
+ },
10121
+ {
10122
+ type: "string",
10123
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
10124
+ "x-timbro-submission-validation": ["pattern"],
10125
+ },
10126
+ ],
10127
+ },
10128
+ netWeightUnit: {
10129
+ oneOf: [
10130
+ {
10131
+ type: "null",
10132
+ },
10133
+ {
10134
+ type: "string",
10135
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
10136
+ "x-timbro-submission-validation": ["pattern"],
10137
+ },
10138
+ ],
10139
+ },
10140
+ packageCount: {
10141
+ oneOf: [
10142
+ {
10143
+ type: "null",
10144
+ },
10145
+ {
10146
+ type: "string",
10147
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
10148
+ "x-timbro-submission-validation": ["pattern"],
10149
+ },
10150
+ ],
10151
+ },
10152
+ packageUnit: {
10153
+ oneOf: [
10154
+ {
10155
+ type: "null",
10156
+ },
10157
+ {
10158
+ type: "string",
10159
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
10160
+ "x-timbro-submission-validation": ["pattern"],
10161
+ },
10162
+ ],
10163
+ },
10164
+ packageVolume: {
10165
+ oneOf: [
10166
+ {
10167
+ type: "null",
10168
+ },
10169
+ {
10170
+ type: "string",
10171
+ pattern: "^(?=[0-9.]*[1-9])[0-9]{1,16}(\\.[0-9]{1,2})?$",
10172
+ "x-timbro-submission-validation": ["pattern"],
10173
+ },
10174
+ ],
10175
+ },
10176
+ route: {
10177
+ oneOf: [
10178
+ {
10179
+ type: "null",
10180
+ },
10181
+ {
10182
+ type: "string",
10183
+ maxLength: 20,
10184
+ minLength: 1,
10185
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10186
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10187
+ },
10188
+ ],
10189
+ },
10190
+ shipmentDate: {
10191
+ oneOf: [
10192
+ {
10193
+ type: "null",
10194
+ },
10195
+ {
10196
+ type: "string",
10197
+ format: "date",
10198
+ description: "A calendar date in the public API's ISO 8601 date form.",
10199
+ pattern: "^(19|20)[0-9]{2}-[0-9]{2}-[0-9]{2}$",
10200
+ },
10201
+ ],
10202
+ },
10203
+ shipmentNumber: {
9134
10204
  oneOf: [
9135
10205
  {
9136
10206
  type: "null",
9137
10207
  },
9138
10208
  {
9139
- $ref: "#/components/schemas/InvoiceExpectedTotals",
10209
+ type: "string",
10210
+ maxLength: 25,
10211
+ minLength: 1,
10212
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10213
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9140
10214
  },
9141
10215
  ],
9142
10216
  },
9143
- incomeType: {
10217
+ transportDocumentNumber: {
9144
10218
  oneOf: [
9145
10219
  {
9146
10220
  type: "null",
9147
10221
  },
9148
10222
  {
9149
10223
  type: "string",
9150
- enum: ["01", "02", "03", "04", "05", "06"],
9151
- "x-timbro-submission-validation": ["enum"],
10224
+ maxLength: 20,
10225
+ minLength: 1,
10226
+ pattern: "^[0-9]+$",
10227
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9152
10228
  },
9153
10229
  ],
9154
10230
  },
9155
- invoiceReference: {
9156
- type: "string",
9157
- description: "The only field a source-system reference travels in, bounded at 128 characters.",
9158
- maxLength: 128,
9159
- minLength: 1,
9160
- pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
9161
- "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9162
- },
9163
- items: {
9164
- type: "array",
9165
- items: {
9166
- $ref: "#/components/schemas/InvoiceItem",
9167
- },
9168
- maxItems: 10000,
9169
- minItems: 1,
9170
- "x-timbro-submission-validation": ["minItems", "maxItems"],
9171
- },
9172
- modificationCode: {
9173
- $ref: "#/components/schemas/InvoiceCreditNoteModificationCode",
9174
- },
9175
- numbering: {
10231
+ transportZone: {
9176
10232
  oneOf: [
9177
10233
  {
9178
10234
  type: "null",
9179
10235
  },
9180
10236
  {
9181
- $ref: "#/components/schemas/InvoiceNumbering",
10237
+ type: "string",
10238
+ maxLength: 20,
10239
+ minLength: 1,
10240
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10241
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9182
10242
  },
9183
10243
  ],
9184
10244
  },
9185
- originalInvoiceId: {
9186
- type: "string",
9187
- format: "uuid",
9188
- },
9189
- paymentTerms: {
9190
- $ref: "#/components/schemas/InvoiceCreditNotePaymentTerms",
9191
- },
9192
- pdfLayout: {
10245
+ vehicleFiche: {
9193
10246
  oneOf: [
9194
10247
  {
9195
10248
  type: "null",
9196
10249
  },
9197
10250
  {
9198
- $ref: "#/components/schemas/InvoicePdfLayout",
10251
+ type: "string",
10252
+ maxLength: 10,
10253
+ minLength: 1,
10254
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10255
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9199
10256
  },
9200
10257
  ],
9201
10258
  },
9202
- reason: {
9203
- type: "string",
9204
- maxLength: 90,
9205
- minLength: 1,
9206
- pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
9207
- "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9208
- },
9209
- source: {
10259
+ vehiclePlate: {
9210
10260
  oneOf: [
9211
10261
  {
9212
10262
  type: "null",
9213
10263
  },
9214
10264
  {
9215
- $ref: "#/components/schemas/InvoiceSourceInput",
10265
+ type: "string",
10266
+ maxLength: 7,
10267
+ minLength: 1,
10268
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10269
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9216
10270
  },
9217
10271
  ],
9218
10272
  },
9219
- type: {
9220
- type: "string",
9221
- enum: ["E34"],
10273
+ volumeUnit: {
10274
+ oneOf: [
10275
+ {
10276
+ type: "null",
10277
+ },
10278
+ {
10279
+ type: "string",
10280
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
10281
+ "x-timbro-submission-validation": ["pattern"],
10282
+ },
10283
+ ],
9222
10284
  },
9223
10285
  },
9224
10286
  additionalProperties: false,
9225
10287
  },
9226
- ],
9227
- discriminator: {
9228
- propertyName: "type",
9229
10288
  },
10289
+ additionalProperties: false,
9230
10290
  },
9231
10291
  InvoiceBuyer: {
9232
10292
  type: "object",
@@ -9246,6 +10306,18 @@ export const invoiceApiContract = {
9246
10306
  },
9247
10307
  ],
9248
10308
  },
10309
+ deliveryPhone: {
10310
+ oneOf: [
10311
+ {
10312
+ type: "null",
10313
+ },
10314
+ {
10315
+ type: "string",
10316
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
10317
+ "x-timbro-submission-validation": ["pattern"],
10318
+ },
10319
+ ],
10320
+ },
9249
10321
  email: {
9250
10322
  oneOf: [
9251
10323
  {
@@ -9305,6 +10377,16 @@ export const invoiceApiContract = {
9305
10377
  type: "object",
9306
10378
  required: ["description", "quantity", "unit", "kind", "unitPrice", "tax"],
9307
10379
  properties: {
10380
+ adjustments: {
10381
+ oneOf: [
10382
+ {
10383
+ type: "null",
10384
+ },
10385
+ {
10386
+ $ref: "#/components/schemas/LinePriceAdjustments",
10387
+ },
10388
+ ],
10389
+ },
9308
10390
  description: {
9309
10391
  type: "string",
9310
10392
  maxLength: 80,
@@ -9367,6 +10449,68 @@ export const invoiceApiContract = {
9367
10449
  },
9368
10450
  additionalProperties: false,
9369
10451
  },
10452
+ LinePriceAdjustments: {
10453
+ type: "object",
10454
+ description: "Line-level discounts and surcharges, kept separate from document-level adjustments.",
10455
+ properties: {
10456
+ discounts: {
10457
+ type: "array",
10458
+ items: {
10459
+ $ref: "#/components/schemas/LinePriceAdjustment",
10460
+ },
10461
+ maxItems: 12,
10462
+ minItems: 0,
10463
+ "x-timbro-submission-validation": ["minItems", "maxItems"],
10464
+ },
10465
+ surcharges: {
10466
+ type: "array",
10467
+ items: {
10468
+ $ref: "#/components/schemas/LinePriceAdjustment",
10469
+ },
10470
+ maxItems: 12,
10471
+ minItems: 0,
10472
+ "x-timbro-submission-validation": ["minItems", "maxItems"],
10473
+ },
10474
+ },
10475
+ additionalProperties: false,
10476
+ },
10477
+ LinePriceAdjustment: {
10478
+ oneOf: [
10479
+ {
10480
+ type: "object",
10481
+ required: ["amount", "kind"],
10482
+ properties: {
10483
+ amount: {
10484
+ type: "string",
10485
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
10486
+ "x-timbro-submission-validation": ["pattern"],
10487
+ },
10488
+ kind: {
10489
+ type: "string",
10490
+ enum: ["fixed_amount"],
10491
+ },
10492
+ },
10493
+ additionalProperties: false,
10494
+ },
10495
+ {
10496
+ type: "object",
10497
+ required: ["percentage", "kind"],
10498
+ properties: {
10499
+ kind: {
10500
+ type: "string",
10501
+ enum: ["percentage"],
10502
+ },
10503
+ percentage: {
10504
+ type: "string",
10505
+ pattern: "^(?=[0-9.]*[1-9])[0-9]{1,3}(\\.[0-9]{1,2})?$",
10506
+ "x-timbro-submission-validation": ["pattern"],
10507
+ },
10508
+ },
10509
+ additionalProperties: false,
10510
+ },
10511
+ ],
10512
+ description: "One fixed-amount or percentage discount or surcharge on a fiscal line.",
10513
+ },
9370
10514
  InvoiceItemCode: {
9371
10515
  type: "object",
9372
10516
  required: ["typeCode", "code"],
@@ -9429,6 +10573,40 @@ export const invoiceApiContract = {
9429
10573
  },
9430
10574
  ],
9431
10575
  },
10576
+ paymentAccount: {
10577
+ type: "object",
10578
+ properties: {
10579
+ accountNumber: {
10580
+ oneOf: [
10581
+ {
10582
+ type: "null",
10583
+ },
10584
+ {
10585
+ type: "string",
10586
+ maxLength: 28,
10587
+ minLength: 1,
10588
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10589
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10590
+ },
10591
+ ],
10592
+ },
10593
+ bankName: {
10594
+ oneOf: [
10595
+ {
10596
+ type: "null",
10597
+ },
10598
+ {
10599
+ type: "string",
10600
+ maxLength: 75,
10601
+ minLength: 1,
10602
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10603
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10604
+ },
10605
+ ],
10606
+ },
10607
+ },
10608
+ additionalProperties: false,
10609
+ },
9432
10610
  type: {
9433
10611
  type: "string",
9434
10612
  enum: ["immediate"],
@@ -9471,6 +10649,79 @@ export const invoiceApiContract = {
9471
10649
  propertyName: "type",
9472
10650
  },
9473
10651
  },
10652
+ InvoiceReferenceInformation: {
10653
+ type: "object",
10654
+ required: ["attribution", "fiscalNumber", "issuedOn", "modificationCode"],
10655
+ properties: {
10656
+ attribution: {
10657
+ oneOf: [
10658
+ {
10659
+ type: "object",
10660
+ title: "InternalOperationReference",
10661
+ required: ["fiscalOperationId", "kind"],
10662
+ properties: {
10663
+ fiscalOperationId: {
10664
+ type: "string",
10665
+ pattern: "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
10666
+ "x-timbro-submission-validation": ["pattern"],
10667
+ },
10668
+ kind: {
10669
+ type: "string",
10670
+ enum: ["internal_operation"],
10671
+ },
10672
+ },
10673
+ additionalProperties: false,
10674
+ },
10675
+ {
10676
+ type: "object",
10677
+ required: ["issuerTaxId", "environment", "sourceReference", "kind"],
10678
+ properties: {
10679
+ environment: {
10680
+ $ref: "#/components/schemas/FiscalEnvironment",
10681
+ },
10682
+ issuerTaxId: {
10683
+ type: "string",
10684
+ pattern: "^[0-9]{9}([0-9]{2})?$",
10685
+ "x-timbro-submission-validation": ["pattern"],
10686
+ },
10687
+ kind: {
10688
+ type: "string",
10689
+ enum: ["external_document"],
10690
+ },
10691
+ sourceReference: {
10692
+ type: "string",
10693
+ maxLength: 250,
10694
+ minLength: 1,
10695
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
10696
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
10697
+ },
10698
+ },
10699
+ additionalProperties: false,
10700
+ },
10701
+ ],
10702
+ discriminator: {
10703
+ propertyName: "kind",
10704
+ },
10705
+ },
10706
+ fiscalNumber: {
10707
+ type: "string",
10708
+ pattern: "^(B[0-9]{10}|E[0-9]{12}|[AP][0-9]{18})$",
10709
+ "x-timbro-submission-validation": ["pattern"],
10710
+ },
10711
+ issuedOn: {
10712
+ type: "string",
10713
+ format: "date",
10714
+ description: "A calendar date in the public API's ISO 8601 date form.",
10715
+ pattern: "^(19|20)[0-9]{2}-[0-9]{2}-[0-9]{2}$",
10716
+ },
10717
+ modificationCode: {
10718
+ type: "string",
10719
+ enum: ["4", "5"],
10720
+ "x-timbro-submission-validation": ["enum"],
10721
+ },
10722
+ },
10723
+ additionalProperties: false,
10724
+ },
9474
10725
  InvoiceSourceInput: {
9475
10726
  type: "object",
9476
10727
  required: ["id", "version"],
@@ -9497,9 +10748,21 @@ export const invoiceApiContract = {
9497
10748
  oneOf: [
9498
10749
  {
9499
10750
  type: "object",
9500
- title: "DomesticBuyer",
10751
+ title: "DomesticInvoiceBuyer",
9501
10752
  required: ["taxId", "legalName", "kind"],
9502
10753
  properties: {
10754
+ deliveryPhone: {
10755
+ oneOf: [
10756
+ {
10757
+ type: "null",
10758
+ },
10759
+ {
10760
+ type: "string",
10761
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
10762
+ "x-timbro-submission-validation": ["pattern"],
10763
+ },
10764
+ ],
10765
+ },
9503
10766
  kind: {
9504
10767
  type: "string",
9505
10768
  enum: ["domestic"],
@@ -9524,6 +10787,18 @@ export const invoiceApiContract = {
9524
10787
  title: "ForeignBuyer",
9525
10788
  required: ["foreignId", "legalName", "kind"],
9526
10789
  properties: {
10790
+ deliveryPhone: {
10791
+ oneOf: [
10792
+ {
10793
+ type: "null",
10794
+ },
10795
+ {
10796
+ type: "string",
10797
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
10798
+ "x-timbro-submission-validation": ["pattern"],
10799
+ },
10800
+ ],
10801
+ },
9527
10802
  foreignId: {
9528
10803
  type: "string",
9529
10804
  maxLength: 20,
@@ -9554,6 +10829,16 @@ export const invoiceApiContract = {
9554
10829
  type: "object",
9555
10830
  required: ["description", "quantity", "unit", "kind", "unitPrice", "tax"],
9556
10831
  properties: {
10832
+ adjustments: {
10833
+ oneOf: [
10834
+ {
10835
+ type: "null",
10836
+ },
10837
+ {
10838
+ $ref: "#/components/schemas/LinePriceAdjustments",
10839
+ },
10840
+ ],
10841
+ },
9557
10842
  description: {
9558
10843
  type: "string",
9559
10844
  maxLength: 80,
@@ -9691,18 +10976,279 @@ export const invoiceApiContract = {
9691
10976
  },
9692
10977
  ],
9693
10978
  },
9694
- itbisAmount: {
10979
+ itbisAmount: {
10980
+ oneOf: [
10981
+ {
10982
+ type: "null",
10983
+ },
10984
+ {
10985
+ type: "string",
10986
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
10987
+ "x-timbro-submission-validation": ["pattern"],
10988
+ },
10989
+ ],
10990
+ },
10991
+ },
10992
+ additionalProperties: false,
10993
+ },
10994
+ InvoiceGovernmentAdditionalInformation: {
10995
+ type: "object",
10996
+ properties: {
10997
+ referenceNumber: {
9695
10998
  oneOf: [
9696
10999
  {
9697
11000
  type: "null",
9698
11001
  },
9699
11002
  {
9700
11003
  type: "string",
9701
- pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
9702
- "x-timbro-submission-validation": ["pattern"],
11004
+ maxLength: 20,
11005
+ minLength: 1,
11006
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11007
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
9703
11008
  },
9704
11009
  ],
9705
11010
  },
11011
+ shipment: {
11012
+ type: "object",
11013
+ properties: {
11014
+ containerNumber: {
11015
+ oneOf: [
11016
+ {
11017
+ type: "null",
11018
+ },
11019
+ {
11020
+ type: "string",
11021
+ maxLength: 100,
11022
+ minLength: 1,
11023
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11024
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11025
+ },
11026
+ ],
11027
+ },
11028
+ deliveryNoteNumber: {
11029
+ oneOf: [
11030
+ {
11031
+ type: "null",
11032
+ },
11033
+ {
11034
+ type: "string",
11035
+ maxLength: 20,
11036
+ minLength: 1,
11037
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11038
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11039
+ },
11040
+ ],
11041
+ },
11042
+ driver: {
11043
+ oneOf: [
11044
+ {
11045
+ type: "null",
11046
+ },
11047
+ {
11048
+ type: "string",
11049
+ maxLength: 20,
11050
+ minLength: 1,
11051
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11052
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11053
+ },
11054
+ ],
11055
+ },
11056
+ grossWeight: {
11057
+ oneOf: [
11058
+ {
11059
+ type: "null",
11060
+ },
11061
+ {
11062
+ type: "string",
11063
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
11064
+ "x-timbro-submission-validation": ["pattern"],
11065
+ },
11066
+ ],
11067
+ },
11068
+ grossWeightUnit: {
11069
+ oneOf: [
11070
+ {
11071
+ type: "null",
11072
+ },
11073
+ {
11074
+ type: "string",
11075
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
11076
+ "x-timbro-submission-validation": ["pattern"],
11077
+ },
11078
+ ],
11079
+ },
11080
+ netWeight: {
11081
+ oneOf: [
11082
+ {
11083
+ type: "null",
11084
+ },
11085
+ {
11086
+ type: "string",
11087
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
11088
+ "x-timbro-submission-validation": ["pattern"],
11089
+ },
11090
+ ],
11091
+ },
11092
+ netWeightUnit: {
11093
+ oneOf: [
11094
+ {
11095
+ type: "null",
11096
+ },
11097
+ {
11098
+ type: "string",
11099
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
11100
+ "x-timbro-submission-validation": ["pattern"],
11101
+ },
11102
+ ],
11103
+ },
11104
+ packageCount: {
11105
+ oneOf: [
11106
+ {
11107
+ type: "null",
11108
+ },
11109
+ {
11110
+ type: "string",
11111
+ pattern: "^[0-9]{1,16}(\\.[0-9]{1,2})?$",
11112
+ "x-timbro-submission-validation": ["pattern"],
11113
+ },
11114
+ ],
11115
+ },
11116
+ packageUnit: {
11117
+ oneOf: [
11118
+ {
11119
+ type: "null",
11120
+ },
11121
+ {
11122
+ type: "string",
11123
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
11124
+ "x-timbro-submission-validation": ["pattern"],
11125
+ },
11126
+ ],
11127
+ },
11128
+ packageVolume: {
11129
+ oneOf: [
11130
+ {
11131
+ type: "null",
11132
+ },
11133
+ {
11134
+ type: "string",
11135
+ pattern: "^(?=[0-9.]*[1-9])[0-9]{1,16}(\\.[0-9]{1,2})?$",
11136
+ "x-timbro-submission-validation": ["pattern"],
11137
+ },
11138
+ ],
11139
+ },
11140
+ route: {
11141
+ oneOf: [
11142
+ {
11143
+ type: "null",
11144
+ },
11145
+ {
11146
+ type: "string",
11147
+ maxLength: 20,
11148
+ minLength: 1,
11149
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11150
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11151
+ },
11152
+ ],
11153
+ },
11154
+ shipmentDate: {
11155
+ oneOf: [
11156
+ {
11157
+ type: "null",
11158
+ },
11159
+ {
11160
+ type: "string",
11161
+ format: "date",
11162
+ description: "A calendar date in the public API's ISO 8601 date form.",
11163
+ pattern: "^(19|20)[0-9]{2}-[0-9]{2}-[0-9]{2}$",
11164
+ },
11165
+ ],
11166
+ },
11167
+ shipmentNumber: {
11168
+ oneOf: [
11169
+ {
11170
+ type: "null",
11171
+ },
11172
+ {
11173
+ type: "string",
11174
+ maxLength: 25,
11175
+ minLength: 1,
11176
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11177
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11178
+ },
11179
+ ],
11180
+ },
11181
+ transportDocumentNumber: {
11182
+ oneOf: [
11183
+ {
11184
+ type: "null",
11185
+ },
11186
+ {
11187
+ type: "string",
11188
+ maxLength: 20,
11189
+ minLength: 1,
11190
+ pattern: "^[0-9]+$",
11191
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11192
+ },
11193
+ ],
11194
+ },
11195
+ transportZone: {
11196
+ oneOf: [
11197
+ {
11198
+ type: "null",
11199
+ },
11200
+ {
11201
+ type: "string",
11202
+ maxLength: 20,
11203
+ minLength: 1,
11204
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11205
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11206
+ },
11207
+ ],
11208
+ },
11209
+ vehicleFiche: {
11210
+ oneOf: [
11211
+ {
11212
+ type: "null",
11213
+ },
11214
+ {
11215
+ type: "string",
11216
+ maxLength: 10,
11217
+ minLength: 1,
11218
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11219
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11220
+ },
11221
+ ],
11222
+ },
11223
+ vehiclePlate: {
11224
+ oneOf: [
11225
+ {
11226
+ type: "null",
11227
+ },
11228
+ {
11229
+ type: "string",
11230
+ maxLength: 7,
11231
+ minLength: 1,
11232
+ pattern: "^[^\\p{White_Space}](?:[\\s\\S]*[^\\p{White_Space}])?$",
11233
+ "x-timbro-submission-validation": ["minLength", "maxLength", "pattern"],
11234
+ },
11235
+ ],
11236
+ },
11237
+ volumeUnit: {
11238
+ oneOf: [
11239
+ {
11240
+ type: "null",
11241
+ },
11242
+ {
11243
+ type: "string",
11244
+ pattern: "^([1-9]|[1-5][0-9]|6[0-2])$",
11245
+ "x-timbro-submission-validation": ["pattern"],
11246
+ },
11247
+ ],
11248
+ },
11249
+ },
11250
+ additionalProperties: false,
11251
+ },
9706
11252
  },
9707
11253
  additionalProperties: false,
9708
11254
  },
@@ -9991,9 +11537,21 @@ export const invoiceApiContract = {
9991
11537
  oneOf: [
9992
11538
  {
9993
11539
  type: "object",
9994
- title: "DomesticBuyer",
11540
+ title: "DomesticInvoiceBuyer",
9995
11541
  required: ["taxId", "legalName", "kind"],
9996
11542
  properties: {
11543
+ deliveryPhone: {
11544
+ oneOf: [
11545
+ {
11546
+ type: "null",
11547
+ },
11548
+ {
11549
+ type: "string",
11550
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
11551
+ "x-timbro-submission-validation": ["pattern"],
11552
+ },
11553
+ ],
11554
+ },
9997
11555
  kind: {
9998
11556
  type: "string",
9999
11557
  enum: ["domestic"],
@@ -10017,6 +11575,18 @@ export const invoiceApiContract = {
10017
11575
  type: "object",
10018
11576
  required: ["foreignId", "legalName", "kind"],
10019
11577
  properties: {
11578
+ deliveryPhone: {
11579
+ oneOf: [
11580
+ {
11581
+ type: "null",
11582
+ },
11583
+ {
11584
+ type: "string",
11585
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
11586
+ "x-timbro-submission-validation": ["pattern"],
11587
+ },
11588
+ ],
11589
+ },
10020
11590
  foreignId: {
10021
11591
  type: "string",
10022
11592
  maxLength: 20,
@@ -10186,6 +11756,18 @@ export const invoiceApiContract = {
10186
11756
  title: "ForeignBuyer",
10187
11757
  required: ["foreignId", "legalName", "kind"],
10188
11758
  properties: {
11759
+ deliveryPhone: {
11760
+ oneOf: [
11761
+ {
11762
+ type: "null",
11763
+ },
11764
+ {
11765
+ type: "string",
11766
+ pattern: "^[0-9]{3}-[0-9]{3}-[0-9]{4}$",
11767
+ "x-timbro-submission-validation": ["pattern"],
11768
+ },
11769
+ ],
11770
+ },
10189
11771
  foreignId: {
10190
11772
  type: "string",
10191
11773
  maxLength: 20,
@@ -10257,6 +11839,16 @@ export const invoiceApiContract = {
10257
11839
  type: "object",
10258
11840
  required: ["description", "quantity", "unit", "kind", "unitPrice"],
10259
11841
  properties: {
11842
+ adjustments: {
11843
+ oneOf: [
11844
+ {
11845
+ type: "null",
11846
+ },
11847
+ {
11848
+ $ref: "#/components/schemas/LinePriceAdjustments",
11849
+ },
11850
+ ],
11851
+ },
10260
11852
  description: {
10261
11853
  type: "string",
10262
11854
  maxLength: 80,