0

CreateInvoice

by
Published Oct 17, 2025

Creates a draft [invoice]($m/Invoice) for an order created using the Orders API. A draft invoice remains in your account and no action is taken. You must publish the invoice before Square can process it (send it to the customer's email address or charge the customer’s card on file).

Script square Verified

The script

Submitted by hugo697 Bun
Verified 235 days ago
1
//native
2
type Square = {
3
  token: string;
4
};
5
/**
6
 * CreateInvoice
7
 * Creates a draft [invoice]($m/Invoice) 
8
for an order created using the Orders API.
9

10
A draft invoice remains in your account and no action is taken. 
11
You must publish the invoice before Square can process it (send it to the customer's email address or charge the customer’s card on file).
12
 */
13
export async function main(
14
  auth: Square,
15
  body: {
16
    invoice: {
17
      id?: string;
18
      version?: number;
19
      location_id?: string;
20
      order_id?: string;
21
      primary_recipient?: {
22
        customer_id?: string;
23
        given_name?: string;
24
        family_name?: string;
25
        email_address?: string;
26
        address?: {
27
          address_line_1?: string;
28
          address_line_2?: string;
29
          address_line_3?: string;
30
          locality?: string;
31
          sublocality?: string;
32
          sublocality_2?: string;
33
          sublocality_3?: string;
34
          administrative_district_level_1?: string;
35
          administrative_district_level_2?: string;
36
          administrative_district_level_3?: string;
37
          postal_code?: string;
38
          country?:
39
            | "ZZ"
40
            | "AD"
41
            | "AE"
42
            | "AF"
43
            | "AG"
44
            | "AI"
45
            | "AL"
46
            | "AM"
47
            | "AO"
48
            | "AQ"
49
            | "AR"
50
            | "AS"
51
            | "AT"
52
            | "AU"
53
            | "AW"
54
            | "AX"
55
            | "AZ"
56
            | "BA"
57
            | "BB"
58
            | "BD"
59
            | "BE"
60
            | "BF"
61
            | "BG"
62
            | "BH"
63
            | "BI"
64
            | "BJ"
65
            | "BL"
66
            | "BM"
67
            | "BN"
68
            | "BO"
69
            | "BQ"
70
            | "BR"
71
            | "BS"
72
            | "BT"
73
            | "BV"
74
            | "BW"
75
            | "BY"
76
            | "BZ"
77
            | "CA"
78
            | "CC"
79
            | "CD"
80
            | "CF"
81
            | "CG"
82
            | "CH"
83
            | "CI"
84
            | "CK"
85
            | "CL"
86
            | "CM"
87
            | "CN"
88
            | "CO"
89
            | "CR"
90
            | "CU"
91
            | "CV"
92
            | "CW"
93
            | "CX"
94
            | "CY"
95
            | "CZ"
96
            | "DE"
97
            | "DJ"
98
            | "DK"
99
            | "DM"
100
            | "DO"
101
            | "DZ"
102
            | "EC"
103
            | "EE"
104
            | "EG"
105
            | "EH"
106
            | "ER"
107
            | "ES"
108
            | "ET"
109
            | "FI"
110
            | "FJ"
111
            | "FK"
112
            | "FM"
113
            | "FO"
114
            | "FR"
115
            | "GA"
116
            | "GB"
117
            | "GD"
118
            | "GE"
119
            | "GF"
120
            | "GG"
121
            | "GH"
122
            | "GI"
123
            | "GL"
124
            | "GM"
125
            | "GN"
126
            | "GP"
127
            | "GQ"
128
            | "GR"
129
            | "GS"
130
            | "GT"
131
            | "GU"
132
            | "GW"
133
            | "GY"
134
            | "HK"
135
            | "HM"
136
            | "HN"
137
            | "HR"
138
            | "HT"
139
            | "HU"
140
            | "ID"
141
            | "IE"
142
            | "IL"
143
            | "IM"
144
            | "IN"
145
            | "IO"
146
            | "IQ"
147
            | "IR"
148
            | "IS"
149
            | "IT"
150
            | "JE"
151
            | "JM"
152
            | "JO"
153
            | "JP"
154
            | "KE"
155
            | "KG"
156
            | "KH"
157
            | "KI"
158
            | "KM"
159
            | "KN"
160
            | "KP"
161
            | "KR"
162
            | "KW"
163
            | "KY"
164
            | "KZ"
165
            | "LA"
166
            | "LB"
167
            | "LC"
168
            | "LI"
169
            | "LK"
170
            | "LR"
171
            | "LS"
172
            | "LT"
173
            | "LU"
174
            | "LV"
175
            | "LY"
176
            | "MA"
177
            | "MC"
178
            | "MD"
179
            | "ME"
180
            | "MF"
181
            | "MG"
182
            | "MH"
183
            | "MK"
184
            | "ML"
185
            | "MM"
186
            | "MN"
187
            | "MO"
188
            | "MP"
189
            | "MQ"
190
            | "MR"
191
            | "MS"
192
            | "MT"
193
            | "MU"
194
            | "MV"
195
            | "MW"
196
            | "MX"
197
            | "MY"
198
            | "MZ"
199
            | "NA"
200
            | "NC"
201
            | "NE"
202
            | "NF"
203
            | "NG"
204
            | "NI"
205
            | "NL"
206
            | "NO"
207
            | "NP"
208
            | "NR"
209
            | "NU"
210
            | "NZ"
211
            | "OM"
212
            | "PA"
213
            | "PE"
214
            | "PF"
215
            | "PG"
216
            | "PH"
217
            | "PK"
218
            | "PL"
219
            | "PM"
220
            | "PN"
221
            | "PR"
222
            | "PS"
223
            | "PT"
224
            | "PW"
225
            | "PY"
226
            | "QA"
227
            | "RE"
228
            | "RO"
229
            | "RS"
230
            | "RU"
231
            | "RW"
232
            | "SA"
233
            | "SB"
234
            | "SC"
235
            | "SD"
236
            | "SE"
237
            | "SG"
238
            | "SH"
239
            | "SI"
240
            | "SJ"
241
            | "SK"
242
            | "SL"
243
            | "SM"
244
            | "SN"
245
            | "SO"
246
            | "SR"
247
            | "SS"
248
            | "ST"
249
            | "SV"
250
            | "SX"
251
            | "SY"
252
            | "SZ"
253
            | "TC"
254
            | "TD"
255
            | "TF"
256
            | "TG"
257
            | "TH"
258
            | "TJ"
259
            | "TK"
260
            | "TL"
261
            | "TM"
262
            | "TN"
263
            | "TO"
264
            | "TR"
265
            | "TT"
266
            | "TV"
267
            | "TW"
268
            | "TZ"
269
            | "UA"
270
            | "UG"
271
            | "UM"
272
            | "US"
273
            | "UY"
274
            | "UZ"
275
            | "VA"
276
            | "VC"
277
            | "VE"
278
            | "VG"
279
            | "VI"
280
            | "VN"
281
            | "VU"
282
            | "WF"
283
            | "WS"
284
            | "YE"
285
            | "YT"
286
            | "ZA"
287
            | "ZM"
288
            | "ZW";
289
          first_name?: string;
290
          last_name?: string;
291
        };
292
        phone_number?: string;
293
        company_name?: string;
294
        tax_ids?: { eu_vat?: string };
295
      };
296
      payment_requests?: {
297
        uid?: string;
298
        request_method?:
299
          | "EMAIL"
300
          | "CHARGE_CARD_ON_FILE"
301
          | "SHARE_MANUALLY"
302
          | "CHARGE_BANK_ON_FILE"
303
          | "SMS"
304
          | "SMS_CHARGE_CARD_ON_FILE"
305
          | "SMS_CHARGE_BANK_ON_FILE";
306
        request_type?: "BALANCE" | "DEPOSIT" | "INSTALLMENT";
307
        due_date?: string;
308
        fixed_amount_requested_money?: {
309
          amount?: number;
310
          currency?:
311
            | "UNKNOWN_CURRENCY"
312
            | "AED"
313
            | "AFN"
314
            | "ALL"
315
            | "AMD"
316
            | "ANG"
317
            | "AOA"
318
            | "ARS"
319
            | "AUD"
320
            | "AWG"
321
            | "AZN"
322
            | "BAM"
323
            | "BBD"
324
            | "BDT"
325
            | "BGN"
326
            | "BHD"
327
            | "BIF"
328
            | "BMD"
329
            | "BND"
330
            | "BOB"
331
            | "BOV"
332
            | "BRL"
333
            | "BSD"
334
            | "BTN"
335
            | "BWP"
336
            | "BYR"
337
            | "BZD"
338
            | "CAD"
339
            | "CDF"
340
            | "CHE"
341
            | "CHF"
342
            | "CHW"
343
            | "CLF"
344
            | "CLP"
345
            | "CNY"
346
            | "COP"
347
            | "COU"
348
            | "CRC"
349
            | "CUC"
350
            | "CUP"
351
            | "CVE"
352
            | "CZK"
353
            | "DJF"
354
            | "DKK"
355
            | "DOP"
356
            | "DZD"
357
            | "EGP"
358
            | "ERN"
359
            | "ETB"
360
            | "EUR"
361
            | "FJD"
362
            | "FKP"
363
            | "GBP"
364
            | "GEL"
365
            | "GHS"
366
            | "GIP"
367
            | "GMD"
368
            | "GNF"
369
            | "GTQ"
370
            | "GYD"
371
            | "HKD"
372
            | "HNL"
373
            | "HRK"
374
            | "HTG"
375
            | "HUF"
376
            | "IDR"
377
            | "ILS"
378
            | "INR"
379
            | "IQD"
380
            | "IRR"
381
            | "ISK"
382
            | "JMD"
383
            | "JOD"
384
            | "JPY"
385
            | "KES"
386
            | "KGS"
387
            | "KHR"
388
            | "KMF"
389
            | "KPW"
390
            | "KRW"
391
            | "KWD"
392
            | "KYD"
393
            | "KZT"
394
            | "LAK"
395
            | "LBP"
396
            | "LKR"
397
            | "LRD"
398
            | "LSL"
399
            | "LTL"
400
            | "LVL"
401
            | "LYD"
402
            | "MAD"
403
            | "MDL"
404
            | "MGA"
405
            | "MKD"
406
            | "MMK"
407
            | "MNT"
408
            | "MOP"
409
            | "MRO"
410
            | "MUR"
411
            | "MVR"
412
            | "MWK"
413
            | "MXN"
414
            | "MXV"
415
            | "MYR"
416
            | "MZN"
417
            | "NAD"
418
            | "NGN"
419
            | "NIO"
420
            | "NOK"
421
            | "NPR"
422
            | "NZD"
423
            | "OMR"
424
            | "PAB"
425
            | "PEN"
426
            | "PGK"
427
            | "PHP"
428
            | "PKR"
429
            | "PLN"
430
            | "PYG"
431
            | "QAR"
432
            | "RON"
433
            | "RSD"
434
            | "RUB"
435
            | "RWF"
436
            | "SAR"
437
            | "SBD"
438
            | "SCR"
439
            | "SDG"
440
            | "SEK"
441
            | "SGD"
442
            | "SHP"
443
            | "SLL"
444
            | "SLE"
445
            | "SOS"
446
            | "SRD"
447
            | "SSP"
448
            | "STD"
449
            | "SVC"
450
            | "SYP"
451
            | "SZL"
452
            | "THB"
453
            | "TJS"
454
            | "TMT"
455
            | "TND"
456
            | "TOP"
457
            | "TRY"
458
            | "TTD"
459
            | "TWD"
460
            | "TZS"
461
            | "UAH"
462
            | "UGX"
463
            | "USD"
464
            | "USN"
465
            | "USS"
466
            | "UYI"
467
            | "UYU"
468
            | "UZS"
469
            | "VEF"
470
            | "VND"
471
            | "VUV"
472
            | "WST"
473
            | "XAF"
474
            | "XAG"
475
            | "XAU"
476
            | "XBA"
477
            | "XBB"
478
            | "XBC"
479
            | "XBD"
480
            | "XCD"
481
            | "XDR"
482
            | "XOF"
483
            | "XPD"
484
            | "XPF"
485
            | "XPT"
486
            | "XTS"
487
            | "XXX"
488
            | "YER"
489
            | "ZAR"
490
            | "ZMK"
491
            | "ZMW"
492
            | "BTC"
493
            | "XUS";
494
        };
495
        percentage_requested?: string;
496
        tipping_enabled?: false | true;
497
        automatic_payment_source?: "NONE" | "CARD_ON_FILE" | "BANK_ON_FILE";
498
        card_id?: string;
499
        reminders?: {
500
          uid?: string;
501
          relative_scheduled_days?: number;
502
          message?: string;
503
          status?: "PENDING" | "NOT_APPLICABLE" | "SENT";
504
          sent_at?: string;
505
        }[];
506
        computed_amount_money?: {
507
          amount?: number;
508
          currency?:
509
            | "UNKNOWN_CURRENCY"
510
            | "AED"
511
            | "AFN"
512
            | "ALL"
513
            | "AMD"
514
            | "ANG"
515
            | "AOA"
516
            | "ARS"
517
            | "AUD"
518
            | "AWG"
519
            | "AZN"
520
            | "BAM"
521
            | "BBD"
522
            | "BDT"
523
            | "BGN"
524
            | "BHD"
525
            | "BIF"
526
            | "BMD"
527
            | "BND"
528
            | "BOB"
529
            | "BOV"
530
            | "BRL"
531
            | "BSD"
532
            | "BTN"
533
            | "BWP"
534
            | "BYR"
535
            | "BZD"
536
            | "CAD"
537
            | "CDF"
538
            | "CHE"
539
            | "CHF"
540
            | "CHW"
541
            | "CLF"
542
            | "CLP"
543
            | "CNY"
544
            | "COP"
545
            | "COU"
546
            | "CRC"
547
            | "CUC"
548
            | "CUP"
549
            | "CVE"
550
            | "CZK"
551
            | "DJF"
552
            | "DKK"
553
            | "DOP"
554
            | "DZD"
555
            | "EGP"
556
            | "ERN"
557
            | "ETB"
558
            | "EUR"
559
            | "FJD"
560
            | "FKP"
561
            | "GBP"
562
            | "GEL"
563
            | "GHS"
564
            | "GIP"
565
            | "GMD"
566
            | "GNF"
567
            | "GTQ"
568
            | "GYD"
569
            | "HKD"
570
            | "HNL"
571
            | "HRK"
572
            | "HTG"
573
            | "HUF"
574
            | "IDR"
575
            | "ILS"
576
            | "INR"
577
            | "IQD"
578
            | "IRR"
579
            | "ISK"
580
            | "JMD"
581
            | "JOD"
582
            | "JPY"
583
            | "KES"
584
            | "KGS"
585
            | "KHR"
586
            | "KMF"
587
            | "KPW"
588
            | "KRW"
589
            | "KWD"
590
            | "KYD"
591
            | "KZT"
592
            | "LAK"
593
            | "LBP"
594
            | "LKR"
595
            | "LRD"
596
            | "LSL"
597
            | "LTL"
598
            | "LVL"
599
            | "LYD"
600
            | "MAD"
601
            | "MDL"
602
            | "MGA"
603
            | "MKD"
604
            | "MMK"
605
            | "MNT"
606
            | "MOP"
607
            | "MRO"
608
            | "MUR"
609
            | "MVR"
610
            | "MWK"
611
            | "MXN"
612
            | "MXV"
613
            | "MYR"
614
            | "MZN"
615
            | "NAD"
616
            | "NGN"
617
            | "NIO"
618
            | "NOK"
619
            | "NPR"
620
            | "NZD"
621
            | "OMR"
622
            | "PAB"
623
            | "PEN"
624
            | "PGK"
625
            | "PHP"
626
            | "PKR"
627
            | "PLN"
628
            | "PYG"
629
            | "QAR"
630
            | "RON"
631
            | "RSD"
632
            | "RUB"
633
            | "RWF"
634
            | "SAR"
635
            | "SBD"
636
            | "SCR"
637
            | "SDG"
638
            | "SEK"
639
            | "SGD"
640
            | "SHP"
641
            | "SLL"
642
            | "SLE"
643
            | "SOS"
644
            | "SRD"
645
            | "SSP"
646
            | "STD"
647
            | "SVC"
648
            | "SYP"
649
            | "SZL"
650
            | "THB"
651
            | "TJS"
652
            | "TMT"
653
            | "TND"
654
            | "TOP"
655
            | "TRY"
656
            | "TTD"
657
            | "TWD"
658
            | "TZS"
659
            | "UAH"
660
            | "UGX"
661
            | "USD"
662
            | "USN"
663
            | "USS"
664
            | "UYI"
665
            | "UYU"
666
            | "UZS"
667
            | "VEF"
668
            | "VND"
669
            | "VUV"
670
            | "WST"
671
            | "XAF"
672
            | "XAG"
673
            | "XAU"
674
            | "XBA"
675
            | "XBB"
676
            | "XBC"
677
            | "XBD"
678
            | "XCD"
679
            | "XDR"
680
            | "XOF"
681
            | "XPD"
682
            | "XPF"
683
            | "XPT"
684
            | "XTS"
685
            | "XXX"
686
            | "YER"
687
            | "ZAR"
688
            | "ZMK"
689
            | "ZMW"
690
            | "BTC"
691
            | "XUS";
692
        };
693
        total_completed_amount_money?: {
694
          amount?: number;
695
          currency?:
696
            | "UNKNOWN_CURRENCY"
697
            | "AED"
698
            | "AFN"
699
            | "ALL"
700
            | "AMD"
701
            | "ANG"
702
            | "AOA"
703
            | "ARS"
704
            | "AUD"
705
            | "AWG"
706
            | "AZN"
707
            | "BAM"
708
            | "BBD"
709
            | "BDT"
710
            | "BGN"
711
            | "BHD"
712
            | "BIF"
713
            | "BMD"
714
            | "BND"
715
            | "BOB"
716
            | "BOV"
717
            | "BRL"
718
            | "BSD"
719
            | "BTN"
720
            | "BWP"
721
            | "BYR"
722
            | "BZD"
723
            | "CAD"
724
            | "CDF"
725
            | "CHE"
726
            | "CHF"
727
            | "CHW"
728
            | "CLF"
729
            | "CLP"
730
            | "CNY"
731
            | "COP"
732
            | "COU"
733
            | "CRC"
734
            | "CUC"
735
            | "CUP"
736
            | "CVE"
737
            | "CZK"
738
            | "DJF"
739
            | "DKK"
740
            | "DOP"
741
            | "DZD"
742
            | "EGP"
743
            | "ERN"
744
            | "ETB"
745
            | "EUR"
746
            | "FJD"
747
            | "FKP"
748
            | "GBP"
749
            | "GEL"
750
            | "GHS"
751
            | "GIP"
752
            | "GMD"
753
            | "GNF"
754
            | "GTQ"
755
            | "GYD"
756
            | "HKD"
757
            | "HNL"
758
            | "HRK"
759
            | "HTG"
760
            | "HUF"
761
            | "IDR"
762
            | "ILS"
763
            | "INR"
764
            | "IQD"
765
            | "IRR"
766
            | "ISK"
767
            | "JMD"
768
            | "JOD"
769
            | "JPY"
770
            | "KES"
771
            | "KGS"
772
            | "KHR"
773
            | "KMF"
774
            | "KPW"
775
            | "KRW"
776
            | "KWD"
777
            | "KYD"
778
            | "KZT"
779
            | "LAK"
780
            | "LBP"
781
            | "LKR"
782
            | "LRD"
783
            | "LSL"
784
            | "LTL"
785
            | "LVL"
786
            | "LYD"
787
            | "MAD"
788
            | "MDL"
789
            | "MGA"
790
            | "MKD"
791
            | "MMK"
792
            | "MNT"
793
            | "MOP"
794
            | "MRO"
795
            | "MUR"
796
            | "MVR"
797
            | "MWK"
798
            | "MXN"
799
            | "MXV"
800
            | "MYR"
801
            | "MZN"
802
            | "NAD"
803
            | "NGN"
804
            | "NIO"
805
            | "NOK"
806
            | "NPR"
807
            | "NZD"
808
            | "OMR"
809
            | "PAB"
810
            | "PEN"
811
            | "PGK"
812
            | "PHP"
813
            | "PKR"
814
            | "PLN"
815
            | "PYG"
816
            | "QAR"
817
            | "RON"
818
            | "RSD"
819
            | "RUB"
820
            | "RWF"
821
            | "SAR"
822
            | "SBD"
823
            | "SCR"
824
            | "SDG"
825
            | "SEK"
826
            | "SGD"
827
            | "SHP"
828
            | "SLL"
829
            | "SLE"
830
            | "SOS"
831
            | "SRD"
832
            | "SSP"
833
            | "STD"
834
            | "SVC"
835
            | "SYP"
836
            | "SZL"
837
            | "THB"
838
            | "TJS"
839
            | "TMT"
840
            | "TND"
841
            | "TOP"
842
            | "TRY"
843
            | "TTD"
844
            | "TWD"
845
            | "TZS"
846
            | "UAH"
847
            | "UGX"
848
            | "USD"
849
            | "USN"
850
            | "USS"
851
            | "UYI"
852
            | "UYU"
853
            | "UZS"
854
            | "VEF"
855
            | "VND"
856
            | "VUV"
857
            | "WST"
858
            | "XAF"
859
            | "XAG"
860
            | "XAU"
861
            | "XBA"
862
            | "XBB"
863
            | "XBC"
864
            | "XBD"
865
            | "XCD"
866
            | "XDR"
867
            | "XOF"
868
            | "XPD"
869
            | "XPF"
870
            | "XPT"
871
            | "XTS"
872
            | "XXX"
873
            | "YER"
874
            | "ZAR"
875
            | "ZMK"
876
            | "ZMW"
877
            | "BTC"
878
            | "XUS";
879
        };
880
        rounding_adjustment_included_money?: {
881
          amount?: number;
882
          currency?:
883
            | "UNKNOWN_CURRENCY"
884
            | "AED"
885
            | "AFN"
886
            | "ALL"
887
            | "AMD"
888
            | "ANG"
889
            | "AOA"
890
            | "ARS"
891
            | "AUD"
892
            | "AWG"
893
            | "AZN"
894
            | "BAM"
895
            | "BBD"
896
            | "BDT"
897
            | "BGN"
898
            | "BHD"
899
            | "BIF"
900
            | "BMD"
901
            | "BND"
902
            | "BOB"
903
            | "BOV"
904
            | "BRL"
905
            | "BSD"
906
            | "BTN"
907
            | "BWP"
908
            | "BYR"
909
            | "BZD"
910
            | "CAD"
911
            | "CDF"
912
            | "CHE"
913
            | "CHF"
914
            | "CHW"
915
            | "CLF"
916
            | "CLP"
917
            | "CNY"
918
            | "COP"
919
            | "COU"
920
            | "CRC"
921
            | "CUC"
922
            | "CUP"
923
            | "CVE"
924
            | "CZK"
925
            | "DJF"
926
            | "DKK"
927
            | "DOP"
928
            | "DZD"
929
            | "EGP"
930
            | "ERN"
931
            | "ETB"
932
            | "EUR"
933
            | "FJD"
934
            | "FKP"
935
            | "GBP"
936
            | "GEL"
937
            | "GHS"
938
            | "GIP"
939
            | "GMD"
940
            | "GNF"
941
            | "GTQ"
942
            | "GYD"
943
            | "HKD"
944
            | "HNL"
945
            | "HRK"
946
            | "HTG"
947
            | "HUF"
948
            | "IDR"
949
            | "ILS"
950
            | "INR"
951
            | "IQD"
952
            | "IRR"
953
            | "ISK"
954
            | "JMD"
955
            | "JOD"
956
            | "JPY"
957
            | "KES"
958
            | "KGS"
959
            | "KHR"
960
            | "KMF"
961
            | "KPW"
962
            | "KRW"
963
            | "KWD"
964
            | "KYD"
965
            | "KZT"
966
            | "LAK"
967
            | "LBP"
968
            | "LKR"
969
            | "LRD"
970
            | "LSL"
971
            | "LTL"
972
            | "LVL"
973
            | "LYD"
974
            | "MAD"
975
            | "MDL"
976
            | "MGA"
977
            | "MKD"
978
            | "MMK"
979
            | "MNT"
980
            | "MOP"
981
            | "MRO"
982
            | "MUR"
983
            | "MVR"
984
            | "MWK"
985
            | "MXN"
986
            | "MXV"
987
            | "MYR"
988
            | "MZN"
989
            | "NAD"
990
            | "NGN"
991
            | "NIO"
992
            | "NOK"
993
            | "NPR"
994
            | "NZD"
995
            | "OMR"
996
            | "PAB"
997
            | "PEN"
998
            | "PGK"
999
            | "PHP"
1000
            | "PKR"
1001
            | "PLN"
1002
            | "PYG"
1003
            | "QAR"
1004
            | "RON"
1005
            | "RSD"
1006
            | "RUB"
1007
            | "RWF"
1008
            | "SAR"
1009
            | "SBD"
1010
            | "SCR"
1011
            | "SDG"
1012
            | "SEK"
1013
            | "SGD"
1014
            | "SHP"
1015
            | "SLL"
1016
            | "SLE"
1017
            | "SOS"
1018
            | "SRD"
1019
            | "SSP"
1020
            | "STD"
1021
            | "SVC"
1022
            | "SYP"
1023
            | "SZL"
1024
            | "THB"
1025
            | "TJS"
1026
            | "TMT"
1027
            | "TND"
1028
            | "TOP"
1029
            | "TRY"
1030
            | "TTD"
1031
            | "TWD"
1032
            | "TZS"
1033
            | "UAH"
1034
            | "UGX"
1035
            | "USD"
1036
            | "USN"
1037
            | "USS"
1038
            | "UYI"
1039
            | "UYU"
1040
            | "UZS"
1041
            | "VEF"
1042
            | "VND"
1043
            | "VUV"
1044
            | "WST"
1045
            | "XAF"
1046
            | "XAG"
1047
            | "XAU"
1048
            | "XBA"
1049
            | "XBB"
1050
            | "XBC"
1051
            | "XBD"
1052
            | "XCD"
1053
            | "XDR"
1054
            | "XOF"
1055
            | "XPD"
1056
            | "XPF"
1057
            | "XPT"
1058
            | "XTS"
1059
            | "XXX"
1060
            | "YER"
1061
            | "ZAR"
1062
            | "ZMK"
1063
            | "ZMW"
1064
            | "BTC"
1065
            | "XUS";
1066
        };
1067
      }[];
1068
      delivery_method?: "EMAIL" | "SHARE_MANUALLY" | "SMS";
1069
      invoice_number?: string;
1070
      title?: string;
1071
      description?: string;
1072
      scheduled_at?: string;
1073
      public_url?: string;
1074
      next_payment_amount_money?: {
1075
        amount?: number;
1076
        currency?:
1077
          | "UNKNOWN_CURRENCY"
1078
          | "AED"
1079
          | "AFN"
1080
          | "ALL"
1081
          | "AMD"
1082
          | "ANG"
1083
          | "AOA"
1084
          | "ARS"
1085
          | "AUD"
1086
          | "AWG"
1087
          | "AZN"
1088
          | "BAM"
1089
          | "BBD"
1090
          | "BDT"
1091
          | "BGN"
1092
          | "BHD"
1093
          | "BIF"
1094
          | "BMD"
1095
          | "BND"
1096
          | "BOB"
1097
          | "BOV"
1098
          | "BRL"
1099
          | "BSD"
1100
          | "BTN"
1101
          | "BWP"
1102
          | "BYR"
1103
          | "BZD"
1104
          | "CAD"
1105
          | "CDF"
1106
          | "CHE"
1107
          | "CHF"
1108
          | "CHW"
1109
          | "CLF"
1110
          | "CLP"
1111
          | "CNY"
1112
          | "COP"
1113
          | "COU"
1114
          | "CRC"
1115
          | "CUC"
1116
          | "CUP"
1117
          | "CVE"
1118
          | "CZK"
1119
          | "DJF"
1120
          | "DKK"
1121
          | "DOP"
1122
          | "DZD"
1123
          | "EGP"
1124
          | "ERN"
1125
          | "ETB"
1126
          | "EUR"
1127
          | "FJD"
1128
          | "FKP"
1129
          | "GBP"
1130
          | "GEL"
1131
          | "GHS"
1132
          | "GIP"
1133
          | "GMD"
1134
          | "GNF"
1135
          | "GTQ"
1136
          | "GYD"
1137
          | "HKD"
1138
          | "HNL"
1139
          | "HRK"
1140
          | "HTG"
1141
          | "HUF"
1142
          | "IDR"
1143
          | "ILS"
1144
          | "INR"
1145
          | "IQD"
1146
          | "IRR"
1147
          | "ISK"
1148
          | "JMD"
1149
          | "JOD"
1150
          | "JPY"
1151
          | "KES"
1152
          | "KGS"
1153
          | "KHR"
1154
          | "KMF"
1155
          | "KPW"
1156
          | "KRW"
1157
          | "KWD"
1158
          | "KYD"
1159
          | "KZT"
1160
          | "LAK"
1161
          | "LBP"
1162
          | "LKR"
1163
          | "LRD"
1164
          | "LSL"
1165
          | "LTL"
1166
          | "LVL"
1167
          | "LYD"
1168
          | "MAD"
1169
          | "MDL"
1170
          | "MGA"
1171
          | "MKD"
1172
          | "MMK"
1173
          | "MNT"
1174
          | "MOP"
1175
          | "MRO"
1176
          | "MUR"
1177
          | "MVR"
1178
          | "MWK"
1179
          | "MXN"
1180
          | "MXV"
1181
          | "MYR"
1182
          | "MZN"
1183
          | "NAD"
1184
          | "NGN"
1185
          | "NIO"
1186
          | "NOK"
1187
          | "NPR"
1188
          | "NZD"
1189
          | "OMR"
1190
          | "PAB"
1191
          | "PEN"
1192
          | "PGK"
1193
          | "PHP"
1194
          | "PKR"
1195
          | "PLN"
1196
          | "PYG"
1197
          | "QAR"
1198
          | "RON"
1199
          | "RSD"
1200
          | "RUB"
1201
          | "RWF"
1202
          | "SAR"
1203
          | "SBD"
1204
          | "SCR"
1205
          | "SDG"
1206
          | "SEK"
1207
          | "SGD"
1208
          | "SHP"
1209
          | "SLL"
1210
          | "SLE"
1211
          | "SOS"
1212
          | "SRD"
1213
          | "SSP"
1214
          | "STD"
1215
          | "SVC"
1216
          | "SYP"
1217
          | "SZL"
1218
          | "THB"
1219
          | "TJS"
1220
          | "TMT"
1221
          | "TND"
1222
          | "TOP"
1223
          | "TRY"
1224
          | "TTD"
1225
          | "TWD"
1226
          | "TZS"
1227
          | "UAH"
1228
          | "UGX"
1229
          | "USD"
1230
          | "USN"
1231
          | "USS"
1232
          | "UYI"
1233
          | "UYU"
1234
          | "UZS"
1235
          | "VEF"
1236
          | "VND"
1237
          | "VUV"
1238
          | "WST"
1239
          | "XAF"
1240
          | "XAG"
1241
          | "XAU"
1242
          | "XBA"
1243
          | "XBB"
1244
          | "XBC"
1245
          | "XBD"
1246
          | "XCD"
1247
          | "XDR"
1248
          | "XOF"
1249
          | "XPD"
1250
          | "XPF"
1251
          | "XPT"
1252
          | "XTS"
1253
          | "XXX"
1254
          | "YER"
1255
          | "ZAR"
1256
          | "ZMK"
1257
          | "ZMW"
1258
          | "BTC"
1259
          | "XUS";
1260
      };
1261
      status?:
1262
        | "DRAFT"
1263
        | "UNPAID"
1264
        | "SCHEDULED"
1265
        | "PARTIALLY_PAID"
1266
        | "PAID"
1267
        | "PARTIALLY_REFUNDED"
1268
        | "REFUNDED"
1269
        | "CANCELED"
1270
        | "FAILED"
1271
        | "PAYMENT_PENDING";
1272
      timezone?: string;
1273
      created_at?: string;
1274
      updated_at?: string;
1275
      accepted_payment_methods?: {
1276
        card?: false | true;
1277
        square_gift_card?: false | true;
1278
        bank_account?: false | true;
1279
        buy_now_pay_later?: false | true;
1280
        cash_app_pay?: false | true;
1281
      };
1282
      custom_fields?: {
1283
        label?: string;
1284
        value?: string;
1285
        placement?: "ABOVE_LINE_ITEMS" | "BELOW_LINE_ITEMS";
1286
      }[];
1287
      subscription_id?: string;
1288
      sale_or_service_date?: string;
1289
      payment_conditions?: string;
1290
      store_payment_method_enabled?: false | true;
1291
      attachments?: {
1292
        id?: string;
1293
        filename?: string;
1294
        description?: string;
1295
        filesize?: number;
1296
        hash?: string;
1297
        mime_type?: string;
1298
        uploaded_at?: string;
1299
      }[];
1300
    };
1301
    idempotency_key?: string;
1302
  },
1303
) {
1304
  const url = new URL(`https://connect.squareup.com/v2/invoices`);
1305

1306
  const response = await fetch(url, {
1307
    method: "POST",
1308
    headers: {
1309
      "Content-Type": "application/json",
1310
      Authorization: "Bearer " + auth.token,
1311
    },
1312
    body: JSON.stringify(body),
1313
  });
1314
  if (!response.ok) {
1315
    const text = await response.text();
1316
    throw new Error(`${response.status} ${text}`);
1317
  }
1318
  return await response.json();
1319
}
1320