@bolta-io/cli 0.0.17 → 0.1.1

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 (62) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/CLAUDE.md +32 -5
  3. package/README.md +45 -4
  4. package/dist/bin/bolta.js +16 -2
  5. package/dist/bin/bolta.js.map +1 -1
  6. package/dist/src/client/bolta-client.d.ts +10 -1
  7. package/dist/src/client/bolta-client.d.ts.map +1 -1
  8. package/dist/src/client/bolta-client.js +26 -0
  9. package/dist/src/client/bolta-client.js.map +1 -1
  10. package/dist/src/commands/cash-receipt/cancel.d.ts +5 -0
  11. package/dist/src/commands/cash-receipt/cancel.d.ts.map +1 -0
  12. package/dist/src/commands/cash-receipt/cancel.js +27 -0
  13. package/dist/src/commands/cash-receipt/cancel.js.map +1 -0
  14. package/dist/src/commands/cash-receipt/index.d.ts +3 -0
  15. package/dist/src/commands/cash-receipt/index.d.ts.map +1 -0
  16. package/dist/src/commands/cash-receipt/index.js +63 -0
  17. package/dist/src/commands/cash-receipt/index.js.map +1 -0
  18. package/dist/src/commands/cash-receipt/issue.d.ts +8 -0
  19. package/dist/src/commands/cash-receipt/issue.d.ts.map +1 -0
  20. package/dist/src/commands/cash-receipt/issue.js +29 -0
  21. package/dist/src/commands/cash-receipt/issue.js.map +1 -0
  22. package/dist/src/commands/cash-receipt/status.d.ts +5 -0
  23. package/dist/src/commands/cash-receipt/status.d.ts.map +1 -0
  24. package/dist/src/commands/cash-receipt/status.js +22 -0
  25. package/dist/src/commands/cash-receipt/status.js.map +1 -0
  26. package/dist/src/commands/cash-receipt/validation.d.ts +3 -0
  27. package/dist/src/commands/cash-receipt/validation.d.ts.map +1 -0
  28. package/dist/src/commands/cash-receipt/validation.js +15 -0
  29. package/dist/src/commands/cash-receipt/validation.js.map +1 -0
  30. package/dist/src/commands/examples/index.d.ts.map +1 -1
  31. package/dist/src/commands/examples/index.js +69 -0
  32. package/dist/src/commands/examples/index.js.map +1 -1
  33. package/dist/src/commands/guide/index.d.ts.map +1 -1
  34. package/dist/src/commands/guide/index.js +49 -3
  35. package/dist/src/commands/guide/index.js.map +1 -1
  36. package/dist/src/commands/invoice/amend.d.ts.map +1 -1
  37. package/dist/src/commands/invoice/amend.js +4 -0
  38. package/dist/src/commands/invoice/amend.js.map +1 -1
  39. package/dist/src/commands/invoice/index.d.ts.map +1 -1
  40. package/dist/src/commands/invoice/index.js +3 -0
  41. package/dist/src/commands/invoice/index.js.map +1 -1
  42. package/dist/src/commands/schema/index.d.ts.map +1 -1
  43. package/dist/src/commands/schema/index.js +1 -0
  44. package/dist/src/commands/schema/index.js.map +1 -1
  45. package/dist/src/types/api.d.ts +50 -0
  46. package/dist/src/types/api.d.ts.map +1 -1
  47. package/dist/src/types/api.js +4 -1
  48. package/dist/src/types/api.js.map +1 -1
  49. package/dist/src/utils/client.d.ts +9 -1
  50. package/dist/src/utils/client.d.ts.map +1 -1
  51. package/dist/src/utils/client.js +4 -6
  52. package/dist/src/utils/client.js.map +1 -1
  53. package/dist/src/utils/errors.d.ts +2 -2
  54. package/dist/src/utils/errors.d.ts.map +1 -1
  55. package/dist/src/utils/errors.js +4 -4
  56. package/dist/src/utils/errors.js.map +1 -1
  57. package/dist/src/validators/schemas.d.ts +222 -1
  58. package/dist/src/validators/schemas.d.ts.map +1 -1
  59. package/dist/src/validators/schemas.js +281 -6
  60. package/dist/src/validators/schemas.js.map +1 -1
  61. package/llms.txt +32 -10
  62. package/package.json +4 -2
@@ -1,4 +1,5 @@
1
1
  import { z } from 'zod';
2
+ import { TAX_INVOICE_TAX_TYPES } from '../types/api.js';
2
3
  const NTS_FREE_TEXT_MAX_LENGTH = 150;
3
4
  const NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH = 60;
4
5
  const NTS_LINE_ITEM_TEXT_MAX_LENGTH = 100;
@@ -7,6 +8,12 @@ const NTS_PARTY_TEXT_MAX_LENGTH = 40;
7
8
  const NTS_PERSON_NAME_MAX_LENGTH = 30;
8
9
  const NTS_CALL_TEXT_MAX_LENGTH = 20;
9
10
  const TAX_INVOICE_ITEM_MAX_COUNT = 16;
11
+ const CASH_RECEIPT_TEXT_MAX_LENGTH = 20;
12
+ const CASH_RECEIPT_REPRESENTATIVE_MAX_LENGTH = 10;
13
+ const CASH_RECEIPT_AMOUNT_MAX = 9_999_999_999;
14
+ const CASH_RECEIPT_TELEPHONE_PATTERN = /^(?:(?:02|0(?:31|32|33|41|42|43|44|51|52|53|54|55|61|62|63|64))-\d{3,4}-\d{4}|(?:010|070)-\d{4}-\d{4}|(?:15|16|18)\d{2}-\d{4})$/;
15
+ const TAX_INVOICE_TAX_TYPE_ERROR_MESSAGE = 'taxType은 TAXABLE(과세), ZERO_RATE(영세율) 또는 TAX_FREE(면세)이어야 합니다';
16
+ const TAX_INVOICE_TAX_TYPE_DESCRIPTION = '과세유형: TAXABLE(과세) | ZERO_RATE(영세율) | TAX_FREE(면세). TAXABLE은 tax가 null일 수 없고, ZERO_RATE은 모든 tax가 0이어야 하며, TAX_FREE는 모든 tax가 null이어야 합니다.';
10
17
  // ========================
11
18
  // Shared Schemas
12
19
  // ========================
@@ -88,6 +95,13 @@ const taxRegistrationIdSchema = z
88
95
  .string()
89
96
  .regex(/^\d{4}$/, '종사업장번호는 4자리 숫자여야 합니다')
90
97
  .refine((val) => val !== '0000', '종사업장번호는 0000일 수 없습니다');
98
+ export const taxInvoiceTaxTypeSchema = z.enum(TAX_INVOICE_TAX_TYPES, {
99
+ errorMap: (issue) => ({
100
+ message: issue.code === z.ZodIssueCode.invalid_type && issue.received === 'undefined'
101
+ ? 'taxType은 필수입니다'
102
+ : TAX_INVOICE_TAX_TYPE_ERROR_MESSAGE,
103
+ }),
104
+ });
91
105
  // ========================
92
106
  // Tax Invoice Schemas
93
107
  // ========================
@@ -117,7 +131,7 @@ export const taxInvoiceItemSchema = z.object({
117
131
  supplyCost: z.number().int('공급가액은 정수여야 합니다').min(1, '공급가액은 1 이상이어야 합니다'),
118
132
  unitPrice: z.number().int().positive().nullable().optional(),
119
133
  quantity: z.number().int().nullable().optional(),
120
- tax: z.number().int().min(1).nullable().optional(),
134
+ tax: z.number().int().min(0).nullable().optional(),
121
135
  specification: nullableOptionalStringMaxSchema(NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, `규격은 최대 ${NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH}자입니다`),
122
136
  description: nullableOptionalStringMaxSchema(NTS_LINE_ITEM_TEXT_MAX_LENGTH, `품목 비고는 최대 ${NTS_LINE_ITEM_TEXT_MAX_LENGTH}자입니다`),
123
137
  });
@@ -126,6 +140,7 @@ const taxInvoiceBaseSchema = z.object({
126
140
  purpose: z.enum(['CLAIM', 'RECEIPT'], {
127
141
  errorMap: () => ({ message: 'purpose는 CLAIM(청구용) 또는 RECEIPT(영수용)이어야 합니다' }),
128
142
  }),
143
+ taxType: taxInvoiceTaxTypeSchema,
129
144
  supplier: taxInvoiceSupplierSchema,
130
145
  supplied: taxInvoiceSuppliedSchema,
131
146
  items: z
@@ -134,7 +149,33 @@ const taxInvoiceBaseSchema = z.object({
134
149
  .max(TAX_INVOICE_ITEM_MAX_COUNT, `품목은 최대 ${TAX_INVOICE_ITEM_MAX_COUNT}개까지 가능합니다`),
135
150
  description: nullableOptionalStringMaxSchema(NTS_FREE_TEXT_MAX_LENGTH, `비고는 최대 ${NTS_FREE_TEXT_MAX_LENGTH}자입니다`),
136
151
  });
152
+ function validateTaxTypeItems(taxType, items, ctx) {
153
+ items.forEach((item, index) => {
154
+ if (taxType === 'TAXABLE' && item.tax == null) {
155
+ ctx.addIssue({
156
+ code: z.ZodIssueCode.custom,
157
+ path: ['items', index, 'tax'],
158
+ message: 'taxType이 TAXABLE이면 품목 세액(tax)은 null이거나 누락될 수 없습니다',
159
+ });
160
+ }
161
+ if (taxType === 'ZERO_RATE' && item.tax !== 0) {
162
+ ctx.addIssue({
163
+ code: z.ZodIssueCode.custom,
164
+ path: ['items', index, 'tax'],
165
+ message: 'taxType이 ZERO_RATE이면 모든 품목 세액(tax)은 0이어야 합니다',
166
+ });
167
+ }
168
+ if (taxType === 'TAX_FREE' && item.tax !== null) {
169
+ ctx.addIssue({
170
+ code: z.ZodIssueCode.custom,
171
+ path: ['items', index, 'tax'],
172
+ message: 'taxType이 TAX_FREE이면 모든 품목 세액(tax)은 null이어야 합니다',
173
+ });
174
+ }
175
+ });
176
+ }
137
177
  export const createTaxInvoiceSchema = taxInvoiceBaseSchema.superRefine((data, ctx) => {
178
+ validateTaxTypeItems(data.taxType, data.items, ctx);
138
179
  const suppliedIdentificationNumberType = classifySuppliedIdentificationNumber(data.supplied.identificationNumber);
139
180
  if (suppliedIdentificationNumberType !== null &&
140
181
  suppliedIdentificationNumberType !== 'BUSINESS_REGISTRATION_NUMBER' &&
@@ -154,6 +195,7 @@ export const createTaxInvoiceSchema = taxInvoiceBaseSchema.superRefine((data, ct
154
195
  }
155
196
  });
156
197
  export const createTaxInvoiceIssueRequestSchema = taxInvoiceBaseSchema.superRefine((data, ctx) => {
198
+ validateTaxTypeItems(data.taxType, data.items, ctx);
157
199
  const suppliedIdentificationNumberType = classifySuppliedIdentificationNumber(data.supplied.identificationNumber);
158
200
  if (suppliedIdentificationNumberType !== null &&
159
201
  suppliedIdentificationNumberType !== 'BUSINESS_REGISTRATION_NUMBER') {
@@ -165,6 +207,91 @@ export const createTaxInvoiceIssueRequestSchema = taxInvoiceBaseSchema.superRefi
165
207
  }
166
208
  });
167
209
  // ========================
210
+ // Cash Receipt Schemas
211
+ // ========================
212
+ export const clientReferenceIdSchema = z
213
+ .string()
214
+ .trim()
215
+ .min(1, 'reference-id는 1자 이상이어야 합니다')
216
+ .max(255, 'reference-id는 최대 255자입니다')
217
+ .regex(/\S/, 'reference-id에는 공백이 아닌 문자가 포함되어야 합니다');
218
+ const cashReceiptIssuerSchema = z.object({
219
+ businessRegistrationNumber: businessIdentificationNumberSchema,
220
+ organizationName: z
221
+ .string()
222
+ .min(1, '상호명은 필수입니다')
223
+ .max(CASH_RECEIPT_TEXT_MAX_LENGTH, `상호명은 최대 ${CASH_RECEIPT_TEXT_MAX_LENGTH}자입니다`),
224
+ representativeName: z
225
+ .string()
226
+ .min(1, '대표자명은 필수입니다')
227
+ .max(CASH_RECEIPT_REPRESENTATIVE_MAX_LENGTH, `대표자명은 최대 ${CASH_RECEIPT_REPRESENTATIVE_MAX_LENGTH}자입니다`),
228
+ telephone: z
229
+ .string()
230
+ .regex(CASH_RECEIPT_TELEPHONE_PATTERN, '전화번호 형식이 올바르지 않습니다'),
231
+ });
232
+ const cashReceiptSelfRecipientSchema = z
233
+ .object({
234
+ type: z.literal('SELF'),
235
+ value: z.union([z.literal(''), z.null()]).optional(),
236
+ })
237
+ .strict();
238
+ const cashReceiptPhoneRecipientSchema = z
239
+ .object({
240
+ type: z.literal('PHONE'),
241
+ value: z.string().regex(/^010-\d{4}-\d{4}$/, '휴대폰번호는 010-1234-5678 형식이어야 합니다'),
242
+ })
243
+ .strict();
244
+ const cashReceiptBusinessRecipientSchema = z
245
+ .object({
246
+ type: z.literal('BUSINESS_REGISTRATION_NUMBER'),
247
+ value: businessIdentificationNumberSchema,
248
+ })
249
+ .strict();
250
+ export const cashReceiptRecipientSchema = z.discriminatedUnion('type', [
251
+ cashReceiptSelfRecipientSchema,
252
+ cashReceiptPhoneRecipientSchema,
253
+ cashReceiptBusinessRecipientSchema,
254
+ ]);
255
+ const cashReceiptAmountValueSchema = z
256
+ .number()
257
+ .int('금액은 정수여야 합니다')
258
+ .min(0, '금액은 0 이상이어야 합니다')
259
+ .max(CASH_RECEIPT_AMOUNT_MAX, `금액은 ${CASH_RECEIPT_AMOUNT_MAX.toLocaleString('ko-KR')} 이하여야 합니다`);
260
+ const cashReceiptAmountSchema = z.object({
261
+ supplyAmount: cashReceiptAmountValueSchema,
262
+ vatAmount: cashReceiptAmountValueSchema,
263
+ taxFreeAmount: cashReceiptAmountValueSchema.nullable().optional(),
264
+ });
265
+ export const createCashReceiptSchema = z
266
+ .object({
267
+ itemName: z
268
+ .string()
269
+ .min(1, '품목명은 필수입니다')
270
+ .max(CASH_RECEIPT_TEXT_MAX_LENGTH, `품목명은 최대 ${CASH_RECEIPT_TEXT_MAX_LENGTH}자입니다`),
271
+ issuer: cashReceiptIssuerSchema,
272
+ recipient: cashReceiptRecipientSchema,
273
+ amount: cashReceiptAmountSchema,
274
+ })
275
+ .superRefine((data, ctx) => {
276
+ const total = data.amount.supplyAmount +
277
+ data.amount.vatAmount +
278
+ (data.amount.taxFreeAmount ?? 0);
279
+ if (total <= 0) {
280
+ ctx.addIssue({
281
+ code: z.ZodIssueCode.custom,
282
+ path: ['amount'],
283
+ message: '총액은 0보다 커야 합니다',
284
+ });
285
+ }
286
+ if (total > CASH_RECEIPT_AMOUNT_MAX) {
287
+ ctx.addIssue({
288
+ code: z.ZodIssueCode.custom,
289
+ path: ['amount'],
290
+ message: `총액은 ${CASH_RECEIPT_AMOUNT_MAX.toLocaleString('ko-KR')} 이하여야 합니다`,
291
+ });
292
+ }
293
+ });
294
+ // ========================
168
295
  // Supplier Schemas
169
296
  // ========================
170
297
  export const createSupplierSchema = z.object({
@@ -183,12 +310,17 @@ const amendTaxInvoiceItemSchema = taxInvoiceItemSchema.extend({
183
310
  supplyCost: z.number().int('공급가액은 정수여야 합니다'),
184
311
  tax: z.number().int().nullable().optional(),
185
312
  });
186
- export const amendChangeSupplyCostSchema = z.object({
313
+ export const amendChangeSupplyCostSchema = z
314
+ .object({
187
315
  date: z.string().regex(/^\d{4}-\d{2}-\d{2}$/, '날짜 형식은 YYYY-MM-DD이어야 합니다'),
316
+ taxType: taxInvoiceTaxTypeSchema,
188
317
  items: z
189
318
  .array(amendTaxInvoiceItemSchema)
190
319
  .min(1, '품목은 최소 1개 필수입니다')
191
320
  .max(TAX_INVOICE_ITEM_MAX_COUNT, `품목은 최대 ${TAX_INVOICE_ITEM_MAX_COUNT}개까지 가능합니다`),
321
+ })
322
+ .superRefine((data, ctx) => {
323
+ validateTaxTypeItems(data.taxType, data.items, ctx);
192
324
  });
193
325
  // ========================
194
326
  // JSON Schema Export (for `bolta schema` command)
@@ -207,10 +339,15 @@ export const jsonSchemas = {
207
339
  'invoice-issue': {
208
340
  type: 'object',
209
341
  description: '세금계산서 정발행 스키마. 공급받는자 외국인등록번호는 정발행만 지원하며, 여권번호는 지원하지 않습니다.',
210
- required: ['date', 'purpose', 'supplier', 'supplied', 'items'],
342
+ required: ['date', 'purpose', 'taxType', 'supplier', 'supplied', 'items'],
211
343
  properties: {
212
344
  date: { type: 'string', format: 'date', description: '작성일자 (YYYY-MM-DD)' },
213
345
  purpose: { type: 'string', enum: ['CLAIM', 'RECEIPT'], description: '발행목적: CLAIM(청구용) | RECEIPT(영수용)' },
346
+ taxType: {
347
+ type: 'string',
348
+ enum: [...TAX_INVOICE_TAX_TYPES],
349
+ description: TAX_INVOICE_TAX_TYPE_DESCRIPTION,
350
+ },
214
351
  supplier: {
215
352
  type: 'object',
216
353
  required: ['identificationNumber', 'organizationName', 'representativeName', 'manager'],
@@ -283,7 +420,12 @@ export const jsonSchemas = {
283
420
  supplyCost: { type: 'integer', minimum: 1, description: '공급가액' },
284
421
  unitPrice: { type: 'integer', nullable: true, description: '단가 (선택)' },
285
422
  quantity: { type: 'integer', nullable: true, description: '수량 (선택)' },
286
- tax: { type: 'integer', nullable: true, description: '세액 (null이면 면세)' },
423
+ tax: {
424
+ type: 'integer',
425
+ nullable: true,
426
+ minimum: 0,
427
+ description: '세액 (taxType이 TAXABLE이면 정수, ZERO_RATE이면 0, TAX_FREE이면 null)',
428
+ },
287
429
  specification: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, description: '규격 (선택)' },
288
430
  description: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목 비고 (선택)' },
289
431
  },
@@ -297,6 +439,130 @@ export const jsonSchemas = {
297
439
  },
298
440
  },
299
441
  },
442
+ 'cash-receipt-issue': {
443
+ type: 'object',
444
+ description: '현금영수증 발행 요청 스키마',
445
+ required: ['itemName', 'issuer', 'recipient', 'amount'],
446
+ properties: {
447
+ itemName: {
448
+ type: 'string',
449
+ minLength: 1,
450
+ maxLength: CASH_RECEIPT_TEXT_MAX_LENGTH,
451
+ description: '품목명',
452
+ example: '서비스 이용료',
453
+ },
454
+ issuer: {
455
+ type: 'object',
456
+ required: [
457
+ 'businessRegistrationNumber',
458
+ 'organizationName',
459
+ 'representativeName',
460
+ 'telephone',
461
+ ],
462
+ properties: {
463
+ businessRegistrationNumber: {
464
+ type: 'string',
465
+ pattern: '^(?:\\d[-\\s]*){10}$',
466
+ description: 'Supplier-Key에 연결된 공급자 사업자등록번호 (10자리, 하이픈 허용)',
467
+ example: '5648102684',
468
+ },
469
+ organizationName: {
470
+ type: 'string',
471
+ minLength: 1,
472
+ maxLength: CASH_RECEIPT_TEXT_MAX_LENGTH,
473
+ description: '공급자 상호명',
474
+ },
475
+ representativeName: {
476
+ type: 'string',
477
+ minLength: 1,
478
+ maxLength: CASH_RECEIPT_REPRESENTATIVE_MAX_LENGTH,
479
+ description: '공급자 대표자명',
480
+ },
481
+ telephone: {
482
+ type: 'string',
483
+ pattern: CASH_RECEIPT_TELEPHONE_PATTERN.source,
484
+ description: '공급자 전화번호',
485
+ example: '02-1234-5678',
486
+ },
487
+ },
488
+ },
489
+ recipient: {
490
+ description: '수취인 유형에 맞춰 value를 입력합니다',
491
+ oneOf: [
492
+ {
493
+ type: 'object',
494
+ additionalProperties: false,
495
+ required: ['type'],
496
+ properties: {
497
+ type: { type: 'string', enum: ['SELF'], description: '자진발급' },
498
+ value: {
499
+ type: 'string',
500
+ nullable: true,
501
+ maxLength: 0,
502
+ description: '생략하거나 null 또는 빈 문자열',
503
+ },
504
+ },
505
+ },
506
+ {
507
+ type: 'object',
508
+ additionalProperties: false,
509
+ required: ['type', 'value'],
510
+ properties: {
511
+ type: { type: 'string', enum: ['PHONE'], description: '휴대폰번호 발급' },
512
+ value: {
513
+ type: 'string',
514
+ pattern: '^010-\\d{4}-\\d{4}$',
515
+ description: '010-1234-5678 형식의 휴대폰번호',
516
+ },
517
+ },
518
+ },
519
+ {
520
+ type: 'object',
521
+ additionalProperties: false,
522
+ required: ['type', 'value'],
523
+ properties: {
524
+ type: {
525
+ type: 'string',
526
+ enum: ['BUSINESS_REGISTRATION_NUMBER'],
527
+ description: '사업자 지출증빙',
528
+ },
529
+ value: {
530
+ type: 'string',
531
+ pattern: '^(?:\\d[-\\s]*){10}$',
532
+ description: '사업자등록번호 (10자리, 하이픈 허용)',
533
+ },
534
+ },
535
+ },
536
+ ],
537
+ },
538
+ amount: {
539
+ type: 'object',
540
+ required: ['supplyAmount', 'vatAmount'],
541
+ description: '각 금액과 합계는 9,999,999,999 이하이며 합계는 0보다 커야 합니다',
542
+ properties: {
543
+ supplyAmount: {
544
+ type: 'integer',
545
+ minimum: 0,
546
+ maximum: CASH_RECEIPT_AMOUNT_MAX,
547
+ description: '공급가액',
548
+ },
549
+ vatAmount: {
550
+ type: 'integer',
551
+ minimum: 0,
552
+ maximum: CASH_RECEIPT_AMOUNT_MAX,
553
+ description: '부가세액',
554
+ },
555
+ taxFreeAmount: {
556
+ type: 'integer',
557
+ nullable: true,
558
+ minimum: 0,
559
+ maximum: CASH_RECEIPT_AMOUNT_MAX,
560
+ description: '면세금액 (선택, 누락 또는 null은 합계 계산에서 0)',
561
+ },
562
+ },
563
+ },
564
+ },
565
+ },
300
566
  'amend-termination': {
301
567
  type: 'object',
302
568
  required: ['date'],
@@ -306,9 +572,14 @@ export const jsonSchemas = {
306
572
  },
307
573
  'amend-change-supply-cost': {
308
574
  type: 'object',
309
- required: ['date', 'items'],
575
+ required: ['date', 'taxType', 'items'],
310
576
  properties: {
311
577
  date: { type: 'string', format: 'date', description: '변동일 (YYYY-MM-DD)' },
578
+ taxType: {
579
+ type: 'string',
580
+ enum: [...TAX_INVOICE_TAX_TYPES],
581
+ description: TAX_INVOICE_TAX_TYPE_DESCRIPTION,
582
+ },
312
583
  items: {
313
584
  type: 'array',
314
585
  minItems: 1,
@@ -322,7 +593,11 @@ export const jsonSchemas = {
322
593
  supplyCost: { type: 'integer', description: '공급가액 (양수: 증가, 음수: 감소)' },
323
594
  unitPrice: { type: 'integer', nullable: true, description: '단가 (선택)' },
324
595
  quantity: { type: 'integer', nullable: true, description: '수량 (선택)' },
325
- tax: { type: 'integer', nullable: true, description: '세액 (선택)' },
596
+ tax: {
597
+ type: 'integer',
598
+ nullable: true,
599
+ description: '세액 (taxType이 TAXABLE이면 정수, ZERO_RATE이면 0, TAX_FREE이면 null)',
600
+ },
326
601
  specification: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_INFORMATION_TEXT_MAX_LENGTH, description: '규격 (선택)' },
327
602
  description: { type: 'string', nullable: true, maxLength: NTS_LINE_ITEM_TEXT_MAX_LENGTH, description: '품목 비고 (선택)' },
328
603
  },
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,yCAAyC,GAAG,EAAE,CAAC;AACrD,MAAM,6BAA6B,GAAG,GAAG,CAAC;AAC1C,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AACrC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC,2BAA2B;AAC3B,iBAAiB;AACjB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,kBAAkB,CAAC;SACzB,GAAG,CAAC,yBAAyB,EAAE,eAAe,yBAAyB,MAAM,CAAC;IACjF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC7E,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAOH,MAAM,gCAAgC,GAAG,eAAe,CAAC;AAEzD,SAAS,6BAA6B,CAAC,KAAa;IAClD,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW;IAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IACtD,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,CAAC;AACzG,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa;IACjD,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa,EAAE,WAAmB;IAClE,MAAM,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa;IACjD,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,gCAAgC,EAAE,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,uBAAuB,GAA2B;QACtD,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;KACV,CAAC;IACF,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,WAAW,KAAK,SAAS,IAAI,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,MAAM,UAAU,GAAG,6BAA6B,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,UAAU,KAAK,gCAAgC,EAAE,CAAC;QACpF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,uBAAuB,GAA2B;QACtD,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;QACT,GAAG,EAAE,IAAI;KACV,CAAC;IACF,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,WAAW,KAAK,SAAS,IAAI,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,oCAAoC,CAAC,KAAa;IACzD,IAAI,4BAA4B,CAAC,KAAK,CAAC;QAAE,OAAO,8BAA8B,CAAC;IAC/E,IAAI,4BAA4B,CAAC,KAAK,CAAC;QAAE,OAAO,8BAA8B,CAAC;IAC/E,IAAI,2BAA2B,CAAC,KAAK,CAAC;QAAE,OAAO,6BAA6B,CAAC;IAC7E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,kCAAkC,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,SAAS,CAAC,6BAA6B,CAAC;KACxC,IAAI,CACH,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CACf,CAAC,GAAG,EAAE,EAAE,CAAC,oCAAoC,CAAC,GAAG,CAAC,KAAK,IAAI,EAC3D,kDAAkD,CACnD,CACF,CAAC;AAEJ,MAAM,kCAAkC,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,SAAS,CAAC,6BAA6B,CAAC;KACxC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC;AAEhE,MAAM,+BAA+B,GAAG,CAAC,SAAiB,EAAE,OAAe,EAAE,EAAE,CAC7E,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE3D,MAAM,uBAAuB,GAAG,CAAC;KAC9B,MAAM,EAAE;KACR,KAAK,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACxC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,EAAE,sBAAsB,CAAC,CAAC;AAE3D,2BAA2B;AAC3B,sBAAsB;AACtB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,oBAAoB,EAAE,kCAAkC;IACxD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAChF,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACpF,OAAO,EAAE,+BAA+B,CAAC,wBAAwB,EAAE,UAAU,wBAAwB,MAAM,CAAC;IAC5G,YAAY,EAAE,+BAA+B,CAAC,yBAAyB,EAAE,UAAU,yBAAyB,MAAM,CAAC;IACnH,YAAY,EAAE,+BAA+B,CAAC,yBAAyB,EAAE,UAAU,yBAAyB,MAAM,CAAC;IACnH,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChE,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,oBAAoB,EAAE,kCAAkC;IACxD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,yBAAyB,CAAC;IAChF,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;IACpF,OAAO,EAAE,+BAA+B,CAAC,wBAAwB,EAAE,UAAU,wBAAwB,MAAM,CAAC;IAC5G,YAAY,EAAE,+BAA+B,CAAC,yBAAyB,EAAE,UAAU,yBAAyB,MAAM,CAAC;IACnH,YAAY,EAAE,+BAA+B,CAAC,yBAAyB,EAAE,UAAU,yBAAyB,MAAM,CAAC;IACnH,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,CAAC;CACpF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,6BAA6B,EAAE,WAAW,6BAA6B,MAAM,CAAC;IACxH,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAChD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,aAAa,EAAE,+BAA+B,CAC5C,yCAAyC,EACzC,UAAU,yCAAyC,MAAM,CAC1D;IACD,WAAW,EAAE,+BAA+B,CAAC,6BAA6B,EAAE,aAAa,6BAA6B,MAAM,CAAC;CAC9H,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;QACpC,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;KAC5E,CAAC;IACF,QAAQ,EAAE,wBAAwB;IAClC,QAAQ,EAAE,wBAAwB;IAClC,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,oBAAoB,CAAC;SAC3B,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;SACzB,GAAG,CAAC,0BAA0B,EAAE,UAAU,0BAA0B,WAAW,CAAC;IACnF,WAAW,EAAE,+BAA+B,CAAC,wBAAwB,EAAE,UAAU,wBAAwB,MAAM,CAAC;CACjH,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IACnF,MAAM,gCAAgC,GAAG,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAElH,IACE,gCAAgC,KAAK,IAAI;QACzC,gCAAgC,KAAK,8BAA8B;QACnE,IAAI,CAAC,QAAQ,CAAC,iBAAiB,IAAI,IAAI,EACvC,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,UAAU,EAAE,mBAAmB,CAAC;YACvC,OAAO,EAAE,mEAAmE;SAC7E,CAAC,CAAC;IACL,CAAC;IAED,IAAI,gCAAgC,KAAK,6BAA6B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;QACnG,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,aAAa,CAAC;YACrB,OAAO,EAAE,4DAA4D;SACtE,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,kCAAkC,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;IAC/F,MAAM,gCAAgC,GAAG,oCAAoC,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAElH,IACE,gCAAgC,KAAK,IAAI;QACzC,gCAAgC,KAAK,8BAA8B,EACnE,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,UAAU,EAAE,sBAAsB,CAAC;YAC1C,OAAO,EAAE,wCAAwC;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,mBAAmB;AACnB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,oBAAoB,EAAE,kCAAkC;IACxD,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC1D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5D,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACjE,CAAC,CAAC;AAEH,2BAA2B;AAC3B,oBAAoB;AACpB,2BAA2B;AAE3B,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;CAC1E,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAC5D,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACzE,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,yBAAyB,CAAC;SAChC,GAAG,CAAC,CAAC,EAAE,iBAAiB,CAAC;SACzB,GAAG,CAAC,0BAA0B,EAAE,UAAU,0BAA0B,WAAW,CAAC;CACpF,CAAC,CAAC;AAEH,2BAA2B;AAC3B,kDAAkD;AAClD,2BAA2B;AAE3B,MAAM,CAAC,MAAM,WAAW,GAA2B;IACjD,iBAAiB,EAAE;QACjB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,CAAC;QAC5E,UAAU,EAAE;YACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE,OAAO,EAAE,YAAY,EAAE;YACtG,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE;YAC7E,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;YAC3E,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE;SACxG;KACF;IACD,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ;QACd,WAAW,EACT,2DAA2D;QAC7D,QAAQ,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC;QAC9D,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE;YAC1E,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;YACvG,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,SAAS,CAAC;gBACvF,WAAW,EAAE,QAAQ;gBACrB,UAAU,EAAE;oBACV,oBAAoB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE;oBACvE,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,KAAK,EAAE;oBAC9F,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,EAAE;oBAClG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,SAAS,EAAE;oBACxG,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,SAAS,EAAE;oBAC9G,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,SAAS,EAAE;oBAC9G,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,kBAAkB,EAAE;oBACtF,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,OAAO,CAAC;wBACnB,UAAU,EAAE;4BACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,cAAc,EAAE;4BAC5F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,aAAa,EAAE;4BAC3G,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,eAAe,EAAE;yBACjH;qBACF;iBACF;aACF;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,sBAAsB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,UAAU,CAAC;gBACxF,WAAW,EAAE,UAAU;gBACvB,UAAU,EAAE;oBACV,oBAAoB,EAAE;wBACpB,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,kDAAkD;qBAChE;oBACD,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,KAAK,EAAE;oBAC9F,kBAAkB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,MAAM,EAAE;oBAClG,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,SAAS,EAAE;oBACxG,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,SAAS,EAAE;oBAC9G,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,SAAS,EAAE;oBAC9G,iBAAiB,EAAE;wBACjB,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,IAAI;wBACd,WAAW,EAAE,4BAA4B;qBAC1C;oBACD,QAAQ,EAAE;wBACR,IAAI,EAAE,OAAO;wBACb,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;wBACX,KAAK,EAAE;4BACL,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,CAAC,OAAO,CAAC;4BACnB,UAAU,EAAE;gCACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,yBAAyB,EAAE,WAAW,EAAE,cAAc,EAAE;gCAC5F,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,0BAA0B,EAAE,WAAW,EAAE,aAAa,EAAE;gCAC3G,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,WAAW,EAAE,eAAe,EAAE;6BACjH;yBACF;qBACF;iBACF;aACF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,0BAA0B;gBACpC,WAAW,EAAE,YAAY,0BAA0B,IAAI;gBACvD,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;oBACxC,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE;wBAC1E,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,KAAK,EAAE;wBACtF,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,EAAE;wBAChE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACrE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE;wBACvE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,yCAAyC,EAAE,WAAW,EAAE,SAAS,EAAE;wBAC/H,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,YAAY,EAAE;qBACrH;iBACF;aACF;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,IAAI;gBACd,SAAS,EAAE,wBAAwB;gBACnC,WAAW,EAAE,gDAAgD;aAC9D;SACF;KACF;IACD,mBAAmB,EAAE;QACnB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,qBAAqB,EAAE;SAC7E;KACF;IACD,0BAA0B,EAAE;QAC1B,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;QAC3B,UAAU,EAAE;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,kBAAkB,EAAE;YACzE,KAAK,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;oBACxC,UAAU,EAAE;wBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE;wBAC7D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,KAAK,EAAE;wBACtF,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE;wBACrE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACtE,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBACrE,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;wBAChE,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,yCAAyC,EAAE,WAAW,EAAE,SAAS,EAAE;wBAC/H,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,6BAA6B,EAAE,WAAW,EAAE,YAAY,EAAE;qBACrH;iBACF;aACF;SACF;KACF;IACD,uBAAuB,EAAE;QACvB,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,wDAAwD;KACtE;CACF,CAAC;AAEF,MAAM,6BAA6B,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAc5F,CAAC;AAEF,6BAA6B,CAAC,WAAW;IACvC,qDAAqD,CAAC;AACxD,6BAA6B,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,GAAG,eAAe,CAAC;AACnF,6BAA6B,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,WAAW;IAC3F,0CAA0C,CAAC;AAC7C,WAAW,CAAC,uBAAuB,CAAC,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/validators/schemas.ts"],"names":[],"mappings":"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"}
package/llms.txt CHANGED
@@ -1,15 +1,15 @@
1
1
  # Bolta CLI
2
2
 
3
- > Bolta API CLI for Korean electronic tax invoices (전자세금계산서)
3
+ > Bolta API CLI for Korean electronic tax invoices and cash receipts (전자세금계산서·현금영수증)
4
4
 
5
- Bolta CLI는 한국 전자세금계산서 API를 위한 커맨드라인 도구입니다.
6
- AI 에이전트(Claude Code 등)가 세금계산서 업무를 자동화할 때 사용합니다.
5
+ Bolta CLI는 한국 전자세금계산서와 현금영수증 API를 위한 커맨드라인 도구입니다.
6
+ AI 에이전트(Claude Code 등)가 세금계산서와 현금영수증 업무를 자동화할 때 사용합니다.
7
7
 
8
8
  ## Authentication
9
9
 
10
10
  환경변수로 설정:
11
11
  - BOLTA_API_KEY: API 키 (test_ 접두사: 샌드박스, live_ 접두사: 프로덕션)
12
- - BOLTA_SUPPLIER_KEY: 공급자 키 (세금계산서 발행 시 필요)
12
+ - BOLTA_SUPPLIER_KEY: 공급자 키 (세금계산서·현금영수증 발행 시 필요)
13
13
 
14
14
  또는 CLI로 설정:
15
15
  - bolta config set api-key <value>
@@ -18,12 +18,12 @@ AI 에이전트(Claude Code 등)가 세금계산서 업무를 자동화할 때
18
18
  ## 핵심 개념
19
19
 
20
20
  ### Supplier Key
21
- supplierKey는 세금계산서를 발행하는 공급자 본인을 식별하는 키입니다.
21
+ supplierKey는 세금계산서나 현금영수증을 발행하는 공급자 본인을 식별하는 키입니다.
22
22
  - 형식: SupplierKey_ 접두사 문자열 (예: SupplierKey_bf8paz)
23
23
  - 획득: 공급자의 사업자 정보로 bolta supplier create 호출 → 응답의 supplierKey
24
24
  - 설정: BOLTA_SUPPLIER_KEY 환경변수, --supplier-key 플래그, 또는 bolta config set supplier-key
25
25
  - API 키(test_/live_) 단위로 독립 관리. 상호 호환 안 됨
26
- 주의: Supplier-Key는 공급자(발행자) 본인의 키입니다. 세금계산서를 받는 거래처(공급받는자)의 정보는 Supplier-Key 헤더가 아니라 요청 본문의 supplied 필드에 포함합니다.
26
+ 주의: Supplier-Key는 공급자(발행자) 본인의 키입니다. 받는 정보는 세금계산서의 supplied 또는 현금영수증의 recipient 필드에 포함합니다.
27
27
 
28
28
  참고: 구 명칭(customer)은 deprecated이며 당분간 동작합니다. `bolta customer ...`, `--customer-key`, `BOLTA_CUSTOMER_KEY`, `config set customer-key` 사용 시 경고가 출력됩니다.
29
29
 
@@ -35,7 +35,7 @@ Bolta API는 사전 충전 포인트 차감 방식 유료 서비스입니다.
35
35
  - 포인트 충전: https://developers.bolta.io 개발자센터
36
36
 
37
37
  ### 개념 안내 커맨드
38
- bolta guide 주요 개념 안내 (supplier-key, payment, workflow, glossary)
38
+ bolta guide 주요 개념 안내 (supplier-key, payment, workflow, cash-receipt, glossary)
39
39
 
40
40
  ## Commands
41
41
 
@@ -66,14 +66,16 @@ bolta invoice issue --data '<json>' [--reference-id <id>] [--supplier-key <key>]
66
66
  세금계산서 정발행. 필수 필드:
67
67
  - date (YYYY-MM-DD)
68
68
  - purpose (CLAIM | RECEIPT)
69
+ - taxType (TAXABLE | ZERO_RATE | TAX_FREE)
69
70
  - supplier: {identificationNumber, organizationName, representativeName, manager: {email}}
70
71
  - supplied: {identificationNumber, organizationName, representativeName, managers: [{email}]}
71
72
  - items: [{date, name, supplyCost}] (1~5개)
72
73
  - supplied.identificationNumber: 사업자등록번호 10자리, 주민등록번호 규칙 13자리, 외국인등록번호 규칙 13자리 허용
73
74
  선택 필드:
74
75
  - supplier/supplied: address, businessType, businessItem, taxRegistrationId
75
- - items: unitPrice, quantity, tax (null=면세), specification, description
76
+ - items: unitPrice, quantity, tax, specification, description
76
77
  - description (최대 200자)
78
+ taxType별 tax 규칙: TAXABLE은 tax가 null/누락이면 안 됨, ZERO_RATE은 모든 tax가 0, TAX_FREE는 모든 tax가 null.
77
79
  외국인등록번호 공급받는자는 정발행만 지원. 이 경우 supplied.taxRegistrationId와 최상위 description은 null/미입력이어야 함. 여권번호는 미지원.
78
80
 
79
81
  bolta invoice issue-request --data '<json>' [--reference-id <id>] [--supplier-key <key>]
@@ -89,7 +91,27 @@ bolta invoice amend termination <issuanceKey> --date <YYYY-MM-DD> [--supplier-ke
89
91
  수정발행: 계약 해제.
90
92
 
91
93
  bolta invoice amend change-supply-cost <issuanceKey> --data '<json>' [--supplier-key <key>]
92
- 수정발행: 공급가액 변동. JSON: {date, items: [{date, name, supplyCost, tax?}]}
94
+ 수정발행: 공급가액 변동. JSON: {date, taxType, items: [{date, name, supplyCost, tax}]}
95
+
96
+ ### Cash Receipt
97
+
98
+ bolta cash-receipt issue --data '<json>' --reference-id <id> [--supplier-key <key>]
99
+ 현금영수증 발행 요청. 필수 필드:
100
+ - itemName (1~20자)
101
+ - issuer: {businessRegistrationNumber, organizationName, representativeName, telephone}
102
+ - recipient:
103
+ - {type: "SELF"}
104
+ - {type: "PHONE", value: "010-1234-5678"}
105
+ - {type: "BUSINESS_REGISTRATION_NUMBER", value: "1234567891"}
106
+ - amount: {supplyAmount, vatAmount, taxFreeAmount?}
107
+ 각 금액과 합계는 9,999,999,999 이하이고 합계는 0보다 커야 함.
108
+
109
+ bolta cash-receipt status --reference-id <id>
110
+ 발행 또는 취소 처리 상태를 한 번 조회.
111
+ PENDING과 REQUEST_SUCCESS는 처리 중이며 ISSUED 또는 CANCELED가 성공 상태.
112
+
113
+ bolta cash-receipt cancel <issuanceKey> --reference-id <새 id> [--supplier-key <key>]
114
+ 발행 완료 건을 전액 취소. 발행 요청과 다른 reference-id를 사용하며 부분 취소는 지원하지 않음.
93
115
 
94
116
  ### Configuration
95
117
 
@@ -106,7 +128,7 @@ bolta config test
106
128
 
107
129
  bolta examples [command]
108
130
  샘플 JSON 출력. command 없이 실행하면 목록 표시.
109
- 사용 가능: supplier-create, invoice-issue, invoice-issue-foreign-supplied, invoice-issue-request, amend-termination, amend-change-supply-cost
131
+ 사용 가능: supplier-create, invoice-issue, invoice-issue-foreign-supplied, invoice-issue-request, cash-receipt-issue, cash-receipt-issue-business, cash-receipt-issue-self, amend-termination, amend-change-supply-cost
110
132
 
111
133
  bolta schema [command]
112
134
  입력 JSON 스키마 출력. command 없이 실행하면 목록 표시.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@bolta-io/cli",
3
- "version": "0.0.17",
4
- "description": "Bolta API CLI for Korean electronic tax invoices (전자세금계산서)",
3
+ "version": "0.1.1",
4
+ "description": "Bolta API CLI for Korean electronic tax invoices and cash receipts (전자세금계산서·현금영수증)",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "bolta": "./dist/bin/bolta.js"
@@ -36,6 +36,8 @@
36
36
  "korean-tax",
37
37
  "전자세금계산서",
38
38
  "세금계산서",
39
+ "cash-receipt",
40
+ "현금영수증",
39
41
  "cli",
40
42
  "ai-tools"
41
43
  ],