gobl 0.24.1 → 0.24.3

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 (96) hide show
  1. checksums.yaml +4 -4
  2. data/data/addons/br-nfe-v4.json +481 -0
  3. data/data/addons/br-nfse-v1.json +235 -0
  4. data/data/addons/co-dian-v2.json +311 -0
  5. data/data/addons/de-xrechnung-v3.json +16 -0
  6. data/data/addons/de-zugferd-v2.json +16 -0
  7. data/data/addons/es-facturae-v3.json +359 -0
  8. data/data/addons/es-tbai-v1.json +225 -0
  9. data/data/addons/es-verifactu-v1.json +609 -0
  10. data/data/addons/eu-en16931-v2017.json +92 -0
  11. data/data/addons/fr-choruspro-v1.json +260 -0
  12. data/data/addons/fr-facturx-v1.json +16 -0
  13. data/data/addons/gr-mydata-v1.json +1495 -0
  14. data/data/addons/it-sdi-v1.json +1570 -0
  15. data/data/addons/it-ticket-v1.json +144 -0
  16. data/data/addons/mx-cfdi-v4.json +908 -0
  17. data/data/addons/pl-favat-v2.json +235 -0
  18. data/data/addons/pt-saft-v1.json +950 -0
  19. data/data/catalogues/cef.json +374 -0
  20. data/data/catalogues/iso.json +19 -0
  21. data/data/catalogues/untdid.json +10669 -0
  22. data/data/currency/iso.json +2378 -0
  23. data/data/currency/non-iso.json +128 -0
  24. data/data/schemas/bill/charge.json +125 -0
  25. data/data/schemas/bill/correction-options.json +54 -0
  26. data/data/schemas/bill/delivery-details.json +41 -0
  27. data/data/schemas/bill/delivery.json +412 -0
  28. data/data/schemas/bill/discount.json +137 -0
  29. data/data/schemas/bill/invoice.json +423 -0
  30. data/data/schemas/bill/line.json +433 -0
  31. data/data/schemas/bill/order.json +401 -0
  32. data/data/schemas/bill/ordering.json +107 -0
  33. data/data/schemas/bill/payment-details.json +36 -0
  34. data/data/schemas/bill/payment.json +424 -0
  35. data/data/schemas/bill/tax.json +45 -0
  36. data/data/schemas/bill/totals.json +84 -0
  37. data/data/schemas/cal/date-time.json +13 -0
  38. data/data/schemas/cal/date.json +13 -0
  39. data/data/schemas/cal/period.json +32 -0
  40. data/data/schemas/cal/time.json +13 -0
  41. data/data/schemas/cbc/code-map.json +16 -0
  42. data/data/schemas/cbc/code.json +15 -0
  43. data/data/schemas/cbc/definition.json +67 -0
  44. data/data/schemas/cbc/key.json +15 -0
  45. data/data/schemas/cbc/meta.json +16 -0
  46. data/data/schemas/cbc/source.json +37 -0
  47. data/data/schemas/currency/amount.json +32 -0
  48. data/data/schemas/currency/code.json +734 -0
  49. data/data/schemas/currency/exchange-rate.json +43 -0
  50. data/data/schemas/dsig/digest.json +27 -0
  51. data/data/schemas/dsig/signature.json +12 -0
  52. data/data/schemas/envelope.json +41 -0
  53. data/data/schemas/head/header.json +62 -0
  54. data/data/schemas/head/link.json +42 -0
  55. data/data/schemas/head/stamp.json +27 -0
  56. data/data/schemas/i18n/string.json +18 -0
  57. data/data/schemas/l10n/code.json +13 -0
  58. data/data/schemas/l10n/iso-country-code.json +1010 -0
  59. data/data/schemas/l10n/tax-country-code.json +1022 -0
  60. data/data/schemas/note/message.json +43 -0
  61. data/data/schemas/num/amount.json +13 -0
  62. data/data/schemas/num/percentage.json +13 -0
  63. data/data/schemas/org/address.json +105 -0
  64. data/data/schemas/org/attachment.json +58 -0
  65. data/data/schemas/org/coordinates.json +33 -0
  66. data/data/schemas/org/document-ref.json +117 -0
  67. data/data/schemas/org/email.json +37 -0
  68. data/data/schemas/org/identity.json +57 -0
  69. data/data/schemas/org/image.json +70 -0
  70. data/data/schemas/org/inbox.json +49 -0
  71. data/data/schemas/org/item.json +96 -0
  72. data/data/schemas/org/name.json +59 -0
  73. data/data/schemas/org/note.json +184 -0
  74. data/data/schemas/org/party.json +129 -0
  75. data/data/schemas/org/person.json +90 -0
  76. data/data/schemas/org/registration.json +66 -0
  77. data/data/schemas/org/telephone.json +32 -0
  78. data/data/schemas/org/unit.json +350 -0
  79. data/data/schemas/org/website.json +38 -0
  80. data/data/schemas/pay/advance.json +211 -0
  81. data/data/schemas/pay/instructions.json +245 -0
  82. data/data/schemas/pay/terms.json +128 -0
  83. data/data/schemas/regimes/mx/food-vouchers.json +111 -0
  84. data/data/schemas/regimes/mx/fuel-account-balance.json +179 -0
  85. data/data/schemas/schema/object.json +12 -0
  86. data/data/schemas/tax/addon-def.json +288 -0
  87. data/data/schemas/tax/catalogue-def.json +37 -0
  88. data/data/schemas/tax/extensions.json +16 -0
  89. data/data/schemas/tax/identity.json +45 -0
  90. data/data/schemas/tax/regime-def.json +513 -0
  91. data/data/schemas/tax/set.json +139 -0
  92. data/data/schemas/tax/total.json +135 -0
  93. data/lib/gobl/extensions/tax/addon_helper.rb +37 -0
  94. data/lib/gobl/version.rb +1 -1
  95. data/lib/gobl.rb +1 -0
  96. metadata +93 -1
@@ -0,0 +1,401 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://gobl.org/draft-0/bill/order",
4
+ "$ref": "#/$defs/Order",
5
+ "$defs": {
6
+ "Order": {
7
+ "properties": {
8
+ "$regime": {
9
+ "$ref": "https://gobl.org/draft-0/l10n/tax-country-code",
10
+ "oneOf": [
11
+ {
12
+ "const": "AE",
13
+ "title": "United Arab Emirates"
14
+ },
15
+ {
16
+ "const": "AT",
17
+ "title": "Austria"
18
+ },
19
+ {
20
+ "const": "BE",
21
+ "title": "Belgium"
22
+ },
23
+ {
24
+ "const": "BR",
25
+ "title": "Brazil"
26
+ },
27
+ {
28
+ "const": "CA",
29
+ "title": "Canada"
30
+ },
31
+ {
32
+ "const": "CH",
33
+ "title": "Switzerland"
34
+ },
35
+ {
36
+ "const": "CO",
37
+ "title": "Colombia"
38
+ },
39
+ {
40
+ "const": "DE",
41
+ "title": "Germany"
42
+ },
43
+ {
44
+ "const": "EL",
45
+ "title": "Greece"
46
+ },
47
+ {
48
+ "const": "ES",
49
+ "title": "Spain"
50
+ },
51
+ {
52
+ "const": "FR",
53
+ "title": "France"
54
+ },
55
+ {
56
+ "const": "GB",
57
+ "title": "United Kingdom"
58
+ },
59
+ {
60
+ "const": "IE",
61
+ "title": "Ireland"
62
+ },
63
+ {
64
+ "const": "IN",
65
+ "title": "India"
66
+ },
67
+ {
68
+ "const": "IT",
69
+ "title": "Italy"
70
+ },
71
+ {
72
+ "const": "MX",
73
+ "title": "Mexico"
74
+ },
75
+ {
76
+ "const": "NL",
77
+ "title": "The Netherlands"
78
+ },
79
+ {
80
+ "const": "PL",
81
+ "title": "Poland"
82
+ },
83
+ {
84
+ "const": "PT",
85
+ "title": "Portugal"
86
+ },
87
+ {
88
+ "const": "SE",
89
+ "title": "Sweden"
90
+ },
91
+ {
92
+ "const": "SG",
93
+ "title": "Singapore"
94
+ },
95
+ {
96
+ "const": "US",
97
+ "title": "United States of America"
98
+ }
99
+ ],
100
+ "title": "Tax Regime"
101
+ },
102
+ "$addons": {
103
+ "items": {
104
+ "$ref": "https://gobl.org/draft-0/cbc/key",
105
+ "oneOf": [
106
+ {
107
+ "const": "br-nfe-v4",
108
+ "title": "Brazil NF-e 4.00"
109
+ },
110
+ {
111
+ "const": "br-nfse-v1",
112
+ "title": "Brazil NFS-e 1.X"
113
+ },
114
+ {
115
+ "const": "co-dian-v2",
116
+ "title": "Colombia DIAN UBL 2.X"
117
+ },
118
+ {
119
+ "const": "de-xrechnung-v3",
120
+ "title": "German XRechnung 3.X"
121
+ },
122
+ {
123
+ "const": "de-zugferd-v2",
124
+ "title": "German ZUGFeRD 2.X"
125
+ },
126
+ {
127
+ "const": "es-facturae-v3",
128
+ "title": "Spain FacturaE"
129
+ },
130
+ {
131
+ "const": "es-tbai-v1",
132
+ "title": "Spain TicketBAI"
133
+ },
134
+ {
135
+ "const": "es-verifactu-v1",
136
+ "title": "Spain VERI*FACTU V1"
137
+ },
138
+ {
139
+ "const": "eu-en16931-v2017",
140
+ "title": "EN 16931-1:2017"
141
+ },
142
+ {
143
+ "const": "fr-choruspro-v1",
144
+ "title": "Chorus Pro"
145
+ },
146
+ {
147
+ "const": "fr-facturx-v1",
148
+ "title": "French Factur-X v1"
149
+ },
150
+ {
151
+ "const": "gr-mydata-v1",
152
+ "title": "Greece MyData v1.x"
153
+ },
154
+ {
155
+ "const": "it-sdi-v1",
156
+ "title": "Italy SDI FatturaPA v1.x"
157
+ },
158
+ {
159
+ "const": "it-ticket-v1",
160
+ "title": "Italy AdE ticket v1.x"
161
+ },
162
+ {
163
+ "const": "mx-cfdi-v4",
164
+ "title": "Mexican SAT CFDI v4.X"
165
+ },
166
+ {
167
+ "const": "pl-favat-v2",
168
+ "title": "Polish KSeF FA_VAT v2.x"
169
+ },
170
+ {
171
+ "const": "pt-saft-v1",
172
+ "title": "Portugal SAF-T"
173
+ }
174
+ ]
175
+ },
176
+ "type": "array",
177
+ "title": "Addons",
178
+ "description": "Addons defines a list of keys used to identify tax addons that apply special\nnormalization, scenarios, and validation rules to a document."
179
+ },
180
+ "$tags": {
181
+ "items": {
182
+ "$ref": "https://gobl.org/draft-0/cbc/key"
183
+ },
184
+ "type": "array",
185
+ "title": "Tags",
186
+ "description": "Tags are used to help identify specific tax scenarios or requirements that may\napply changes to the contents of the document or imply a specific meaning.\nConverters may use tags to help identify specific situations that do not have\na specific extension, for example; self-billed or partial invoices may be\nidentified by their respective tags."
187
+ },
188
+ "uuid": {
189
+ "type": "string",
190
+ "format": "uuid",
191
+ "title": "UUID",
192
+ "description": "Universally Unique Identifier."
193
+ },
194
+ "type": {
195
+ "$ref": "https://gobl.org/draft-0/cbc/key",
196
+ "oneOf": [
197
+ {
198
+ "const": "purchase",
199
+ "title": "Purchase Order",
200
+ "description": "A purchase order is a document that a buyer sends to a seller to request goods or services."
201
+ },
202
+ {
203
+ "const": "sale",
204
+ "title": "Sales Order",
205
+ "description": "A sales order is a document that a seller sends to a buyer to confirm the sale of goods or services."
206
+ },
207
+ {
208
+ "const": "quote",
209
+ "title": "Quote",
210
+ "description": "A quote is a document that a seller sends to a buyer to provide a price for goods or services."
211
+ }
212
+ ],
213
+ "title": "Type",
214
+ "description": "Type of the order."
215
+ },
216
+ "series": {
217
+ "$ref": "https://gobl.org/draft-0/cbc/code",
218
+ "title": "Series",
219
+ "description": "Series is used to identify groups of orders by date, business area, project,\ntype, customer, a combination of any, or other company specific data.\nIf the output format does not support the series as a separate field, it will be\nprepended to the code for presentation with a dash (`-`) for separation."
220
+ },
221
+ "code": {
222
+ "$ref": "https://gobl.org/draft-0/cbc/code",
223
+ "title": "Code",
224
+ "description": "Code is a sequential identifier that uniquely identifies the order. The code can\nbe left empty initially, but is **required** to **sign** the document."
225
+ },
226
+ "issue_date": {
227
+ "$ref": "https://gobl.org/draft-0/cal/date",
228
+ "title": "Issue Date",
229
+ "description": "When the invoice was created.",
230
+ "calculated": true
231
+ },
232
+ "issue_time": {
233
+ "$ref": "https://gobl.org/draft-0/cal/time",
234
+ "title": "Issue Time",
235
+ "description": "IssueTime is an optional field that may be useful to indicate the time of day when\nthe order was issued. Some regions and formats may require this field to be set.\nAn empty string will be automatically updated to reflect the current time, otherwise\nthe field can be left with a nil value.",
236
+ "calculated": true
237
+ },
238
+ "op_date": {
239
+ "$ref": "https://gobl.org/draft-0/cal/date",
240
+ "title": "Operation Date",
241
+ "description": "Date when the operation defined by the invoice became effective."
242
+ },
243
+ "value_date": {
244
+ "$ref": "https://gobl.org/draft-0/cal/date",
245
+ "title": "Value Date",
246
+ "description": "When the taxes of this invoice become accountable, if none set, the issue date is used."
247
+ },
248
+ "currency": {
249
+ "$ref": "https://gobl.org/draft-0/currency/code",
250
+ "title": "Currency",
251
+ "description": "Currency for all invoice totals.",
252
+ "calculated": true
253
+ },
254
+ "exchange_rates": {
255
+ "items": {
256
+ "$ref": "https://gobl.org/draft-0/currency/exchange-rate"
257
+ },
258
+ "type": "array",
259
+ "title": "Exchange Rates",
260
+ "description": "Exchange rates to be used when converting the invoices monetary values into other currencies."
261
+ },
262
+ "contracts": {
263
+ "items": {
264
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
265
+ },
266
+ "type": "array",
267
+ "title": "Contracts",
268
+ "description": "The identification of contracts."
269
+ },
270
+ "preceding": {
271
+ "items": {
272
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
273
+ },
274
+ "type": "array",
275
+ "title": "Preceding Details",
276
+ "description": "Key information regarding previous order documents."
277
+ },
278
+ "identities": {
279
+ "items": {
280
+ "$ref": "https://gobl.org/draft-0/org/identity"
281
+ },
282
+ "type": "array",
283
+ "title": "Identities",
284
+ "description": "Additional codes, IDs, SKUs, or other regional or custom identifiers that may be used to identify the order."
285
+ },
286
+ "period": {
287
+ "$ref": "https://gobl.org/draft-0/cal/period",
288
+ "title": "Period",
289
+ "description": "Period of time in which the order is valid."
290
+ },
291
+ "tax": {
292
+ "$ref": "https://gobl.org/draft-0/bill/tax",
293
+ "title": "Tax",
294
+ "description": "Special tax configuration for billing."
295
+ },
296
+ "supplier": {
297
+ "$ref": "https://gobl.org/draft-0/org/party",
298
+ "title": "Supplier",
299
+ "description": "The entity supplying the goods or services and usually responsible for paying taxes."
300
+ },
301
+ "customer": {
302
+ "$ref": "https://gobl.org/draft-0/org/party",
303
+ "title": "Customer",
304
+ "description": "Legal entity receiving the goods or services, may be nil in certain circumstances such as simplified invoices."
305
+ },
306
+ "buyer": {
307
+ "$ref": "https://gobl.org/draft-0/org/party",
308
+ "title": "Buyer",
309
+ "description": "Party who is responsible for issuing payment, if not the same as the customer."
310
+ },
311
+ "seller": {
312
+ "$ref": "https://gobl.org/draft-0/org/party",
313
+ "title": "Seller",
314
+ "description": "Seller is the party liable to pay taxes on the transaction if not the same as the supplier."
315
+ },
316
+ "lines": {
317
+ "items": {
318
+ "$ref": "https://gobl.org/draft-0/bill/line"
319
+ },
320
+ "type": "array",
321
+ "title": "Lines",
322
+ "description": "List of lines representing each of the items to be ordered."
323
+ },
324
+ "discounts": {
325
+ "items": {
326
+ "$ref": "https://gobl.org/draft-0/bill/discount"
327
+ },
328
+ "type": "array",
329
+ "title": "Discounts",
330
+ "description": "Discounts or allowances applied to order totals"
331
+ },
332
+ "charges": {
333
+ "items": {
334
+ "$ref": "https://gobl.org/draft-0/bill/charge"
335
+ },
336
+ "type": "array",
337
+ "title": "Charges",
338
+ "description": "Charges or surcharges applied to order totals"
339
+ },
340
+ "payment": {
341
+ "$ref": "https://gobl.org/draft-0/bill/payment-details",
342
+ "title": "Payment Details",
343
+ "description": "Information on when, how, and to whom a final invoice would be paid."
344
+ },
345
+ "delivery": {
346
+ "$ref": "https://gobl.org/draft-0/bill/delivery-details",
347
+ "title": "Delivery Details",
348
+ "description": "Specific details on delivery of the goods to copy to the final invoice."
349
+ },
350
+ "totals": {
351
+ "$ref": "https://gobl.org/draft-0/bill/totals",
352
+ "title": "Totals",
353
+ "description": "Summary of all the order totals, including taxes (calculated).",
354
+ "calculated": true
355
+ },
356
+ "notes": {
357
+ "items": {
358
+ "$ref": "https://gobl.org/draft-0/org/note"
359
+ },
360
+ "type": "array",
361
+ "title": "Notes",
362
+ "description": "Unstructured information that is relevant to the order, such as correction or additional\nlegal details."
363
+ },
364
+ "complements": {
365
+ "items": {
366
+ "$ref": "https://gobl.org/draft-0/schema/object"
367
+ },
368
+ "type": "array",
369
+ "title": "Complements",
370
+ "description": "Additional complementary objects that add relevant information to the order."
371
+ },
372
+ "meta": {
373
+ "$ref": "https://gobl.org/draft-0/cbc/meta",
374
+ "title": "Meta",
375
+ "description": "Additional semi-structured data that doesn't fit into the body of the order."
376
+ },
377
+ "attachments": {
378
+ "items": {
379
+ "$ref": "https://gobl.org/draft-0/org/attachment"
380
+ },
381
+ "type": "array",
382
+ "title": "Attachments",
383
+ "description": "Attachments provide additional information or supporting documents that are not included\nin the main document. It is important that attachments are not used for alternative\nversions of the PDF, for that, see \"links\" inside the envelope headers."
384
+ }
385
+ },
386
+ "type": "object",
387
+ "required": [
388
+ "issue_date",
389
+ "currency",
390
+ "supplier"
391
+ ],
392
+ "description": "Order documents are used for the initial part of a order-to-invoice process where the buyer requests goods or services from the seller.",
393
+ "recommended": [
394
+ "$regime",
395
+ "series",
396
+ "code",
397
+ "lines"
398
+ ]
399
+ }
400
+ }
401
+ }
@@ -0,0 +1,107 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://gobl.org/draft-0/bill/ordering",
4
+ "$ref": "#/$defs/Ordering",
5
+ "$defs": {
6
+ "Ordering": {
7
+ "properties": {
8
+ "code": {
9
+ "$ref": "https://gobl.org/draft-0/cbc/code",
10
+ "title": "Code",
11
+ "description": "Identifier assigned by the customer or buyer for internal routing purposes."
12
+ },
13
+ "identities": {
14
+ "items": {
15
+ "$ref": "https://gobl.org/draft-0/org/identity"
16
+ },
17
+ "type": "array",
18
+ "title": "Identities",
19
+ "description": "Any additional Codes, IDs, SKUs, or other regional or custom\nidentifiers that may be used to identify the order."
20
+ },
21
+ "cost": {
22
+ "$ref": "https://gobl.org/draft-0/cbc/code",
23
+ "title": "Cost",
24
+ "description": "Buyer accounting reference cost code associated with the document."
25
+ },
26
+ "period": {
27
+ "$ref": "https://gobl.org/draft-0/cal/period",
28
+ "title": "Period",
29
+ "description": "Period of time that the invoice document refers to often used in addition to the details\nprovided in the individual line items."
30
+ },
31
+ "buyer": {
32
+ "$ref": "https://gobl.org/draft-0/org/party",
33
+ "title": "Buyer",
34
+ "description": "Party who is responsible for issuing payment, if not the same as the customer."
35
+ },
36
+ "seller": {
37
+ "$ref": "https://gobl.org/draft-0/org/party",
38
+ "title": "Seller",
39
+ "description": "Seller is the party liable to pay taxes on the transaction if not the same as the supplier."
40
+ },
41
+ "issuer": {
42
+ "$ref": "https://gobl.org/draft-0/org/party",
43
+ "title": "Issuer",
44
+ "description": "Issuer represents a third party responsible for issuing the invoice, but is not\nresponsible for tax. Some tax regimes and formats require this field."
45
+ },
46
+ "projects": {
47
+ "items": {
48
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
49
+ },
50
+ "type": "array",
51
+ "title": "Projects",
52
+ "description": "Projects this invoice refers to."
53
+ },
54
+ "contracts": {
55
+ "items": {
56
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
57
+ },
58
+ "type": "array",
59
+ "title": "Contracts",
60
+ "description": "The identification of contracts."
61
+ },
62
+ "purchases": {
63
+ "items": {
64
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
65
+ },
66
+ "type": "array",
67
+ "title": "Purchase Orders",
68
+ "description": "Purchase orders issued by the customer or buyer."
69
+ },
70
+ "sales": {
71
+ "items": {
72
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
73
+ },
74
+ "type": "array",
75
+ "title": "Sales Orders",
76
+ "description": "Sales orders issued by the supplier or seller."
77
+ },
78
+ "receiving": {
79
+ "items": {
80
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
81
+ },
82
+ "type": "array",
83
+ "title": "Receiving Advice",
84
+ "description": "Receiving Advice."
85
+ },
86
+ "despatch": {
87
+ "items": {
88
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
89
+ },
90
+ "type": "array",
91
+ "title": "Despatch Advice",
92
+ "description": "Despatch advice."
93
+ },
94
+ "tender": {
95
+ "items": {
96
+ "$ref": "https://gobl.org/draft-0/org/document-ref"
97
+ },
98
+ "type": "array",
99
+ "title": "Tender Advice",
100
+ "description": "Tender advice, the identification of the call for tender or lot the invoice relates to."
101
+ }
102
+ },
103
+ "type": "object",
104
+ "description": "Ordering provides additional information about the ordering process including references to other documents and alternative parties involved in the order-to-delivery process."
105
+ }
106
+ }
107
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://gobl.org/draft-0/bill/payment-details",
4
+ "$ref": "#/$defs/PaymentDetails",
5
+ "$defs": {
6
+ "PaymentDetails": {
7
+ "properties": {
8
+ "payee": {
9
+ "$ref": "https://gobl.org/draft-0/org/party",
10
+ "title": "Payee",
11
+ "description": "The party responsible for receiving payment of the invoice, if not the supplier."
12
+ },
13
+ "terms": {
14
+ "$ref": "https://gobl.org/draft-0/pay/terms",
15
+ "title": "Terms",
16
+ "description": "Payment terms or conditions."
17
+ },
18
+ "advances": {
19
+ "items": {
20
+ "$ref": "https://gobl.org/draft-0/pay/advance"
21
+ },
22
+ "type": "array",
23
+ "title": "Advances",
24
+ "description": "Any amounts that have been paid in advance and should be deducted from the amount due."
25
+ },
26
+ "instructions": {
27
+ "$ref": "https://gobl.org/draft-0/pay/instructions",
28
+ "title": "Instructions",
29
+ "description": "Details on how payment should be made."
30
+ }
31
+ },
32
+ "type": "object",
33
+ "description": "PaymentDetails contains details as to how the invoice should be paid."
34
+ }
35
+ }
36
+ }