@factucat/cli 0.2.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -127,6 +127,16 @@ If you switch the invoice to USD without specifying an exchange rate, FactuCat a
127
127
  factucat invoice set-meta --currency USD
128
128
  ```
129
129
 
130
+ Set an optional **Fecha de emisión** when creating, updating, or stamping a draft:
131
+
132
+ ```bash
133
+ factucat invoice create --fecha 2026-10-28
134
+ factucat invoice set-meta --issued-at 2026-10-28
135
+ factucat invoice stamp --fecha 2026-10-28 --dry-run
136
+ ```
137
+
138
+ `--fecha` and `--issued-at` accept `YYYY-MM-DD` or an ISO datetime. ISO instants use the issuer's timezone (default `America/Mexico_City`); dates without an offset represent a local calendar day. Choose today or up to two days earlier to stay within the SAT 72-hour window. A stamp override is saved before stamping. Stored dates are checked again at stamp time; an expired or invalid date returns `INVALID_ISSUE_DATE`. Omission keeps the existing date, or uses the stamping time when none is set. Dry-run shows the selected date without saving it.
139
+
130
140
  Preview the full invoice before stamping:
131
141
 
132
142
  ```bash
@@ -141,6 +151,15 @@ factucat invoice stamp
141
151
 
142
152
  In an interactive terminal, `invoice stamp` shows the full preview first and can ask whether you want to send the stamped invoice through the customer contact channels registered in FactuCat.
143
153
 
154
+ Preview without stamping or changing the current draft:
155
+
156
+ ```bash
157
+ factucat invoice-stamp --draft-id dft_123 --dry-run
158
+ factucat invoice-stamp --draft-id dft_123 --dry-run --json
159
+ ```
160
+
161
+ The preview includes the environment selected by the key prefix (`test` or `live`) and the idempotency key.
162
+
144
163
  ## Unattended workflow
145
164
 
146
165
  For agents and scripts, prefer `--json` and `--no-input`.
@@ -194,12 +213,18 @@ Preview the draft:
194
213
  factucat invoice show --draft-id dft_123 --json
195
214
  ```
196
215
 
197
- Stamp without prompts:
216
+ Stamp with explicit confirmation and a reusable idempotency key:
198
217
 
199
218
  ```bash
200
- factucat invoice stamp --draft-id dft_123 --no-input --json
219
+ factucat invoice-stamp --draft-id dft_123 --yes --idempotency-key order-123-stamp --json
201
220
  ```
202
221
 
222
+ `--yes` skips confirmation and delivery prompts. The existing `--no-input`, `--json`, and non-interactive stamping behavior remains supported. Delivery uses the flags you provide.
223
+
224
+ `invoice-stamp` returns `idempotencyKey` alongside the invoice fields in JSON and prints it in human output. Failed stamp/cancel requests also print the key so you can reuse it. If omitted, the CLI generates a UUID once per invocation, which the SDK reuses for transport retries. To retry across separate CLI invocations, pass the **same key and request options** with `--idempotency-key`.
225
+
226
+ `customer-create`, `invoice-create`, and `invoice-add-item` also accept `--idempotency-key`; each generates a fresh UUID when omitted.
227
+
203
228
  Stamp and request delivery to customer contacts:
204
229
 
205
230
  ```bash
@@ -223,6 +248,15 @@ factucat invoice stamp \
223
248
 
224
249
  ## Current draft helpers
225
250
 
251
+ List remote drafts:
252
+
253
+ ```bash
254
+ factucat draft-list --query "Público" --limit 20 --offset 0 --json
255
+ factucat draft-list --status error --limit 10 --json
256
+ ```
257
+
258
+ `draft-list` has no spaced alias. `--status` accepts `draft` or `error`. The CLI filters status locally across API pages before applying `--offset` and `--limit` (default 50 when filtering by status). A status filter can therefore require multiple read requests.
259
+
226
260
  Select an existing draft as your current one:
227
261
 
228
262
  ```bash
@@ -255,6 +289,13 @@ List customers:
255
289
  factucat customer list --limit 20
256
290
  ```
257
291
 
292
+ Get a customer by ID:
293
+
294
+ ```bash
295
+ factucat customer-get cus_123 --json
296
+ factucat customer get cus_123
297
+ ```
298
+
258
299
  Create a customer:
259
300
 
260
301
  ```bash
@@ -297,6 +338,46 @@ factucat invoice download pdf MIAU-00036 --output ./facturas/factura-marzo.pdf
297
338
 
298
339
  If you do not pass `--output`, the file is saved in the current working directory.
299
340
 
341
+ ## Cancel an invoice
342
+
343
+ `invoice-cancel <invoiceRef>` (also `invoice cancel`) accepts an invoice ID, SAT UUID, or folio, just like `invoice-get`. Only issued invoices with a SAT UUID can be cancelled.
344
+
345
+ Review a cancellation without submitting it:
346
+
347
+ ```bash
348
+ factucat invoice-cancel MIAU-00036 --reason 02 --dry-run
349
+ factucat invoice-cancel MIAU-00036 --reason 02 --dry-run --json
350
+ ```
351
+
352
+ The preview shows the SAT UUID, receiver RFC and name, total, currency, reason, replacement invoice if provided, key environment (`test`/`live`), and idempotency key. A dry run performs reads only, never prompts, and exits successfully when the inputs are valid.
353
+
354
+ Cancel interactively:
355
+
356
+ ```bash
357
+ factucat invoice-cancel MIAU-00036 --reason 02
358
+ ```
359
+
360
+ The CLI shows the same preview and asks for confirmation. In scripts, with `--json`, or with `--no-input`, cancellation requires **`--yes`**. `--no-input` alone does not authorize cancellation.
361
+
362
+ ```bash
363
+ factucat invoice-cancel MIAU-00036 \
364
+ --reason 02 \
365
+ --yes \
366
+ --idempotency-key order-123-cancel \
367
+ --json
368
+ ```
369
+
370
+ `--reason` is required and accepts `01`, `02`, `03`, or `04`. Reason `01` additionally requires a different replacement invoice, resolved by ID, SAT UUID, or folio:
371
+
372
+ ```bash
373
+ factucat invoice-cancel MIAU-00036 \
374
+ --reason 01 \
375
+ --replacement-invoice MIAU-00037 \
376
+ --dry-run
377
+ ```
378
+
379
+ JSON output includes the API result (`status`, `evidence`, and `invoice` when present) and `idempotencyKey`. A `not_confirmed` status means cancellation has not yet been confirmed.
380
+
300
381
  ## Notes about inference
301
382
 
302
383
  FactuCat automatically infers several values when possible:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAwMrC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,sBAsBzE;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,sBAMd;AAuDD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;CACnB,mBA0EA;AAqZD,wBAAsB,IAAI,CAAC,OAAO,GAAE,KAAK,CAAC,MAAM,CAAgB,iBA+2B/D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAyNrC,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,sBAsBzE;AAED,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,KAAK,EAAE,MAAM,sBAMd;AAuGD,wBAAsB,uBAAuB,CAAC,KAAK,EAAE;IACnD,GAAG,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC,CAAA;IACvC,UAAU,EAAE,MAAM,CAAA;CACnB,mBA0EA;AAuZD,wBAAsB,IAAI,CAAC,OAAO,GAAE,KAAK,CAAC,MAAM,CAAgB,iBAwkC/D"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { readFileSync } from 'node:fs';
3
3
  import { mkdir, stat, writeFile } from 'node:fs/promises';
4
4
  import { dirname, resolve } from 'node:path';
5
5
  import { fileURLToPath } from 'node:url';
6
+ import { draftListItemSchema, draftListQuerySchema, invoiceCancelReasonSchema, invoiceVatTreatmentLabels, invoiceVatTreatmentSchema, } from '@factucat/public-api-contracts';
6
7
  import { confirm, intro, isCancel, outro, select, spinner, text } from '@clack/prompts';
7
8
  import { cac } from 'cac';
8
9
  import { FactuCatApiError } from '@factucat/sdk';
@@ -36,6 +37,7 @@ Comandos:
36
37
  invoice current
37
38
  invoice show
38
39
  invoice list
40
+ draft-list
39
41
  invoice set-customer
40
42
  invoice set-receiver
41
43
  invoice set-meta
@@ -46,9 +48,11 @@ Comandos:
46
48
  invoice discard
47
49
  invoice stamp
48
50
  invoice get <invoiceRef> # invoiceId, UUID SAT o folio
51
+ invoice cancel <invoiceRef> --reason <01|02|03|04>
49
52
  invoice download xml <invoiceRef>
50
53
  invoice download pdf <invoiceRef>
51
54
  customer list
55
+ customer get <customerId>
52
56
  customer search <query>
53
57
  customer create
54
58
 
@@ -56,6 +60,9 @@ Notas:
56
60
  invoice add-item infiere automáticamente Clave SAT, unidad, IVA e ISR si no los especificas.
57
61
  invoice set-meta --currency USD consulta automáticamente el tipo de cambio oficial del DOF si no mandas --exchange-rate.
58
62
  invoice stamp muestra una previa antes de timbrar cuando hay terminal interactiva.
63
+ invoice create, invoice set-meta e invoice stamp aceptan --fecha <YYYY-MM-DD|ISO> (alias --issued-at).
64
+ invoice stamp e invoice cancel aceptan --dry-run, --yes e --idempotency-key.
65
+ invoice cancel requiere --yes cuando no hay confirmación interactiva; --no-input no confirma.
59
66
  invoice stamp --send-to-customer-contacts solicita el envío por email y WhatsApp registrados en el cliente, si existen.
60
67
  `;
61
68
  function withJsonFlag(command) {
@@ -116,9 +123,11 @@ function normalizeArgv(rawArgv) {
116
123
  { from: ['invoice', 'discard'], to: 'invoice-discard' },
117
124
  { from: ['invoice', 'stamp'], to: 'invoice-stamp' },
118
125
  { from: ['invoice', 'get'], to: 'invoice-get' },
126
+ { from: ['invoice', 'cancel'], to: 'invoice-cancel' },
119
127
  { from: ['invoice', 'download', 'xml'], to: 'invoice-download-xml' },
120
128
  { from: ['invoice', 'download', 'pdf'], to: 'invoice-download-pdf' },
121
129
  { from: ['customer', 'list'], to: 'customer-list' },
130
+ { from: ['customer', 'get'], to: 'customer-get' },
122
131
  { from: ['customer', 'search'], to: 'customer-search' },
123
132
  { from: ['customer', 'create'], to: 'customer-create' },
124
133
  ];
@@ -173,7 +182,53 @@ export function normalizeNumericCodeOptionFromArgv(argv, optionName, fallbackVal
173
182
  return normalizeNumericCodeOption(readRawOptionValue(argv, optionName) ?? fallbackValue, width);
174
183
  }
175
184
  function canPromptInteractively(options) {
176
- return !options.json && !options.noInput && process.stdin.isTTY && process.stdout.isTTY;
185
+ return !options.json && !options.noInput && options.input !== false && process.stdin.isTTY && process.stdout.isTTY;
186
+ }
187
+ function resolveIdempotencyKey(argv) {
188
+ const value = readRawOptionValue(argv, '--idempotency-key');
189
+ if (value === undefined) {
190
+ return randomUUID();
191
+ }
192
+ const key = value.trim();
193
+ if (!key || key.length > 255) {
194
+ throw new Error('`--idempotency-key` debe tener entre 1 y 255 caracteres.');
195
+ }
196
+ return key;
197
+ }
198
+ async function getKeyEnvironment() {
199
+ const apiKey = getEffectiveApiKey(await readConfig());
200
+ return apiKey?.startsWith('fc_test_') ? 'test' : 'live';
201
+ }
202
+ async function listDraftsWithStatus(input) {
203
+ const status = draftListItemSchema.shape.status.optional().parse(input.status);
204
+ const query = draftListQuerySchema.parse(input.query);
205
+ if (!status) {
206
+ return input.sdk.listDrafts(query);
207
+ }
208
+ const limit = query.limit ?? 50;
209
+ let skip = query.offset ?? 0;
210
+ const matches = [];
211
+ for (let offset = 0; offset <= 1000000; offset += 100) {
212
+ const page = await input.sdk.listDrafts({
213
+ query: query.query,
214
+ limit: 100,
215
+ offset,
216
+ });
217
+ for (const draft of page) {
218
+ if (draft.status !== status)
219
+ continue;
220
+ if (skip > 0) {
221
+ skip -= 1;
222
+ continue;
223
+ }
224
+ matches.push(draft);
225
+ if (matches.length === limit)
226
+ return matches;
227
+ }
228
+ if (page.length < 100)
229
+ return matches;
230
+ }
231
+ throw new Error('La búsqueda excede el límite de paginación. Usa `--query` para acotarla.');
177
232
  }
178
233
  async function resolveDownloadPath(input) {
179
234
  if (!input.output?.trim()) {
@@ -312,7 +367,7 @@ function formatDraftItemLine(input) {
312
367
  const satCode = input.productCode ?? input.suggestedProductCode ?? '-';
313
368
  return [
314
369
  `${input.id} ${input.quantity} x ${input.description} ${input.amount} ${input.currency}`,
315
- ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
370
+ ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${input.vatTreatment ? invoiceVatTreatmentLabels[input.vatTreatment] : formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
316
371
  ];
317
372
  }
318
373
  function formatIsoDateLabel(value) {
@@ -329,7 +384,7 @@ function formatPreviewItemLine(input) {
329
384
  return [
330
385
  `${input.index}. ${input.description}`,
331
386
  ` Cantidad: ${input.quantity} · Precio unitario: ${input.unitPrice} ${input.currency} · Importe: ${input.amount} ${input.currency}`,
332
- ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
387
+ ` SAT: ${satCode} · Unidad: ${input.unitCode} · IVA trasladado: ${input.vatTreatment ? invoiceVatTreatmentLabels[input.vatTreatment] : formatTaxRateLabel(input.vatRate)} · ISR retenido: ${formatTaxRateLabel(input.isrWithholdingRate)}`,
333
388
  ];
334
389
  }
335
390
  function formatDraftPreview(draft) {
@@ -350,6 +405,7 @@ function formatDraftPreview(draft) {
350
405
  formatOptionalValue(' Correo', draft.receiverEmail),
351
406
  '',
352
407
  'Comprobante:',
408
+ formatOptionalValue(' Fecha de emisión', draft.issueDate ?? 'Al momento de timbrar'),
353
409
  formatOptionalValue(' Tipo CFDI', draft.cfdiType),
354
410
  formatOptionalValue(' Uso CFDI', draft.cfdiUse),
355
411
  formatOptionalValue(' Exportación', draft.exportacion),
@@ -373,6 +429,7 @@ function formatDraftPreview(draft) {
373
429
  productCode: item.productCode,
374
430
  suggestedProductCode: item.suggestedProductCode,
375
431
  unitCode: item.unitCode,
432
+ vatTreatment: item.vatTreatment,
376
433
  vatRate: item.vatRate,
377
434
  isrWithholdingRate: item.isrWithholdingRate,
378
435
  }))
@@ -430,7 +487,6 @@ async function loadDraftCustomer(sdk, draft) {
430
487
  }
431
488
  async function resolveInteractiveStampInput(input) {
432
489
  const customer = await loadDraftCustomer(input.sdk, input.draft);
433
- printHuman(formatDraftPreview(input.draft));
434
490
  const confirmed = await confirm({
435
491
  message: '¿Timbramos esta factura ahora?',
436
492
  active: 'Sí, timbrar',
@@ -551,6 +607,7 @@ export async function main(rawArgv = process.argv) {
551
607
  }
552
608
  const cli = cac('factucat');
553
609
  cli.version(CLI_VERSION);
610
+ let idempotencyKey;
554
611
  cli
555
612
  .command('auth-api-key-set', 'Guardar API key')
556
613
  .option('--value <apiKey>', 'API key a guardar')
@@ -636,11 +693,14 @@ export async function main(rawArgv = process.argv) {
636
693
  });
637
694
  withJsonFlag(cli
638
695
  .command('invoice-create', 'Crear borrador remoto')
696
+ .option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
697
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
639
698
  .option('--customer-id <customerId>', 'ID del cliente')
640
699
  .option('--customer <customerName>', 'Busca el cliente por nombre o RFC y lo asigna automáticamente al borrador')
641
700
  .option('--draft', 'Crear y dejar como borrador')
642
701
  .option('--no-input', 'Nunca preguntar datos faltantes')).action(async (options) => {
643
702
  const commandOptions = options;
703
+ idempotencyKey = resolveIdempotencyKey(argv);
644
704
  const sdk = await getSdk();
645
705
  const resolvedCustomer = commandOptions.customerId
646
706
  ? await sdk.getCustomer(commandOptions.customerId)
@@ -650,7 +710,7 @@ export async function main(rawArgv = process.argv) {
650
710
  customerRef: commandOptions.customer,
651
711
  })
652
712
  : null;
653
- const draft = await sdk.createDraft(resolvedCustomer ? { customerId: resolvedCustomer.id } : {}, { idempotencyKey: randomUUID() });
713
+ const draft = await sdk.createDraft({ ...(resolvedCustomer ? { customerId: resolvedCustomer.id } : {}), issueDate: commandOptions.fecha ?? commandOptions.issuedAt }, { idempotencyKey });
654
714
  await setCurrentDraftId(draft.id);
655
715
  if (commandOptions.json) {
656
716
  printJson(draft);
@@ -694,6 +754,28 @@ export async function main(rawArgv = process.argv) {
694
754
  }
695
755
  printHuman(formatDraftPreview(draft));
696
756
  });
757
+ withJsonFlag(cli
758
+ .command('draft-list', 'Listar borradores remotos')
759
+ .option('--status <status>', 'Estado: draft o error')
760
+ .option('--query <query>', 'Búsqueda')
761
+ .option('--limit <limit>', 'Límite')
762
+ .option('--offset <offset>', 'Resultados a omitir')).action(async (options) => {
763
+ const sdk = await getSdk();
764
+ const drafts = await listDraftsWithStatus({
765
+ sdk,
766
+ status: options.status,
767
+ query: {
768
+ query: normalizeStringOption(options.query),
769
+ limit: options.limit === undefined ? undefined : Number(options.limit),
770
+ offset: options.offset === undefined ? undefined : Number(options.offset),
771
+ },
772
+ });
773
+ if (options.json) {
774
+ printJson(drafts);
775
+ return;
776
+ }
777
+ printHuman(drafts.map((draft) => `${draft.id} ${draft.status} ${draft.receiverLegalName} ${draft.total} ${draft.currency}`));
778
+ });
697
779
  withJsonFlag(cli
698
780
  .command('invoice-list', 'Listar facturas')
699
781
  .option('--status <status>', 'Estado')
@@ -757,6 +839,7 @@ export async function main(rawArgv = process.argv) {
757
839
  });
758
840
  withJsonFlag(cli
759
841
  .command('invoice-set-meta', 'Actualizar metadatos del borrador. Si usas USD sin --exchange-rate, se consulta automáticamente el DOF.')
842
+ .option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
760
843
  .option('--draft-id <draftId>', 'ID del borrador')
761
844
  .option('--cfdi-use <cfdiUse>', 'Uso CFDI')
762
845
  .option('--exportacion <exportacion>', 'Clave SAT c_Exportacion: 01, 02, 03 o 04')
@@ -769,6 +852,7 @@ export async function main(rawArgv = process.argv) {
769
852
  const sdk = await getSdk();
770
853
  const draftId = await resolveDraftId(options.draftId);
771
854
  const input = {
855
+ issueDate: options.fecha ?? options.issuedAt,
772
856
  cfdiUse: normalizeStringOption(options.cfdiUse),
773
857
  exportacion: normalizeNumericCodeOptionFromArgv(argv, '--exportacion', options.exportacion, 2),
774
858
  paymentMethod: normalizeStringOption(options.paymentMethod),
@@ -810,11 +894,13 @@ export async function main(rawArgv = process.argv) {
810
894
  });
811
895
  withJsonFlag(cli
812
896
  .command('invoice-add-item', 'Agregar concepto al borrador. Si omites Clave SAT, unidad o impuestos, FactuCat intenta inferirlos automáticamente.')
897
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
813
898
  .option('--draft-id <draftId>', 'ID del borrador')
814
899
  .option('--description <description>', 'Descripción')
815
900
  .option('--unit-price <unitPrice>', 'Precio unitario')
816
901
  .option('--quantity <quantity>', 'Cantidad', { default: '1' })
817
- .option('--iva <iva>', 'IVA del concepto: 0, 10 o 16. Si lo omites, se infiere automáticamente.')
902
+ .option('--iva <iva>', 'IVA del concepto: 0, 8, 10 (histórico) o 16. 0 significa Tasa 0%. Si lo omites, se infiere automáticamente.')
903
+ .option('--vat-treatment <vatTreatment>', 'Tratamiento de IVA: iva_16, iva_8, tasa_0, exento o no_objeto.')
818
904
  .option('--vat <vat>', 'Alias de compatibilidad para `--iva`')
819
905
  .option('--isr-retenido <isrRetenido>', 'ISR retenido: 0, 1.25 o 10. Si lo omites, se infiere automáticamente.')
820
906
  .option('--isr-withholding <isrWithholding>', 'Alias de compatibilidad para `--isr-retenido`')
@@ -823,6 +909,7 @@ export async function main(rawArgv = process.argv) {
823
909
  if (!options.description || !options.unitPrice) {
824
910
  throw new Error('Debes indicar `--description <description>` y `--unit-price <unitPrice>`.');
825
911
  }
912
+ idempotencyKey = resolveIdempotencyKey(argv);
826
913
  const sdk = await getSdk();
827
914
  const draftId = await resolveDraftId(options.draftId);
828
915
  const iva = normalizeStringOption(options.iva ?? options.vat);
@@ -831,6 +918,7 @@ export async function main(rawArgv = process.argv) {
831
918
  description: String(options.description),
832
919
  quantity: Number(options.quantity),
833
920
  unitPrice: Number(options.unitPrice),
921
+ vatTreatment: options.vatTreatment === undefined ? undefined : invoiceVatTreatmentSchema.parse(options.vatTreatment),
834
922
  vatRate: iva === undefined ? undefined : parseVatFlag(iva),
835
923
  vatSource: iva === undefined ? undefined : 'manual',
836
924
  isrWithholdingRate: isrRetenido === undefined
@@ -846,7 +934,7 @@ export async function main(rawArgv = process.argv) {
846
934
  loading.start('Infiriendo la clave SAT de este concepto...');
847
935
  }
848
936
  const draft = await sdk.addDraftItem(draftId, input, {
849
- idempotencyKey: randomUUID(),
937
+ idempotencyKey,
850
938
  });
851
939
  if (loading) {
852
940
  loading.stop('Concepto clasificado y agregado al borrador.');
@@ -863,11 +951,13 @@ export async function main(rawArgv = process.argv) {
863
951
  .option('--description <description>', 'Descripción')
864
952
  .option('--unit-price <unitPrice>', 'Precio unitario')
865
953
  .option('--quantity <quantity>', 'Cantidad')
954
+ .option('--vat-treatment <vatTreatment>', 'Tratamiento de IVA: iva_16, iva_8, tasa_0, exento o no_objeto.')
866
955
  .option('--product-code <productCode>', 'Clave SAT del producto. Si la omites al cambiar la descripción, se puede re-inferir automáticamente.')
867
956
  .option('--unit-code <unitCode>', 'Clave SAT de unidad. Si la omites al cambiar la descripción, se puede re-inferir automáticamente.')).action(async (itemId, options) => {
868
957
  const sdk = await getSdk();
869
958
  const draftId = await resolveDraftId(options.draftId);
870
959
  const input = {
960
+ vatTreatment: options.vatTreatment === undefined ? undefined : invoiceVatTreatmentSchema.parse(options.vatTreatment),
871
961
  description: normalizeStringOption(options.description),
872
962
  quantity: options.quantity === undefined ? undefined : Number(options.quantity),
873
963
  unitPrice: options.unitPrice === undefined ? undefined : Number(options.unitPrice),
@@ -924,6 +1014,7 @@ export async function main(rawArgv = process.argv) {
924
1014
  productCode: item.productCode,
925
1015
  suggestedProductCode: item.suggestedProductCode,
926
1016
  unitCode: item.unitCode,
1017
+ vatTreatment: item.vatTreatment,
927
1018
  vatRate: item.vatRate,
928
1019
  isrWithholdingRate: item.isrWithholdingRate,
929
1020
  })));
@@ -947,15 +1038,36 @@ export async function main(rawArgv = process.argv) {
947
1038
  });
948
1039
  withJsonFlag(cli
949
1040
  .command('invoice-stamp', 'Timbrar borrador actual. En modo interactivo muestra la previa y pregunta si quieres enviarla al cliente después.')
1041
+ .option('--fecha, --issued-at <YYYY-MM-DD|ISO>', 'Fecha de emisión: hoy o hasta 2 días atrás (límite SAT de 72 horas)')
950
1042
  .option('--draft-id <draftId>', 'ID del borrador')
1043
+ .option('--idempotency-key <key>', 'Clave para reintentar el mismo timbrado')
1044
+ .option('--dry-run', 'Mostrar previa sin timbrar')
1045
+ .option('--yes', 'Confirmar el timbrado sin preguntas')
951
1046
  .option('--no-input', 'Nunca preguntar nada; útil para agentes y scripts')
952
1047
  .option('--send-to-customer-contacts', 'Solicita entrega por email y WhatsApp registrados en el cliente, si existen.')
953
1048
  .option('--send-customer-email', 'Solicita entrega por correo del cliente')
954
1049
  .option('--send-customer-whatsapp', 'Solicita entrega por WhatsApp del cliente')).action(async (options) => {
1050
+ idempotencyKey = resolveIdempotencyKey(argv);
955
1051
  const sdk = await getSdk();
956
1052
  const draftId = await resolveDraftId(options.draftId);
957
- const interactiveMode = canPromptInteractively(options);
958
- const draft = interactiveMode ? await sdk.getDraft(draftId) : null;
1053
+ const interactiveMode = !options.yes && canPromptInteractively(options);
1054
+ const savedDraft = interactiveMode || options.dryRun ? await sdk.getDraft(draftId) : null;
1055
+ const draft = savedDraft && { ...savedDraft, issueDate: options.fecha ?? options.issuedAt ?? savedDraft.issueDate };
1056
+ if (draft) {
1057
+ const environment = await getKeyEnvironment();
1058
+ if (options.dryRun && options.json) {
1059
+ printJson({ dryRun: true, idempotencyKey, environment, draft });
1060
+ return;
1061
+ }
1062
+ printHuman([
1063
+ ...formatDraftPreview(draft),
1064
+ `Entorno: ${environment}`,
1065
+ `Idempotency-Key: ${idempotencyKey}`,
1066
+ ]);
1067
+ }
1068
+ if (options.dryRun) {
1069
+ return;
1070
+ }
959
1071
  const interactiveResolution = interactiveMode && draft
960
1072
  ? await resolveInteractiveStampInput({
961
1073
  sdk,
@@ -978,11 +1090,14 @@ export async function main(rawArgv = process.argv) {
978
1090
  sendCustomerEmail: options.sendCustomerEmail,
979
1091
  sendCustomerWhatsApp: options.sendCustomerWhatsApp,
980
1092
  };
1093
+ const issueDate = options.fecha ?? options.issuedAt;
1094
+ if (issueDate !== undefined)
1095
+ stampInput.issueDate = issueDate;
981
1096
  const loading = !options.json ? spinner() : null;
982
1097
  if (loading) {
983
1098
  loading.start('Timbrando factura...');
984
1099
  }
985
- const invoice = await sdk.stampDraft(draftId, stampInput, { idempotencyKey: randomUUID() });
1100
+ const invoice = await sdk.stampDraft(draftId, stampInput, { idempotencyKey });
986
1101
  if (loading) {
987
1102
  loading.stop('Factura timbrada.');
988
1103
  }
@@ -990,13 +1105,14 @@ export async function main(rawArgv = process.argv) {
990
1105
  await setCurrentDraftId(undefined);
991
1106
  }
992
1107
  if (options.json) {
993
- printJson(invoice);
1108
+ printJson({ ...invoice, idempotencyKey });
994
1109
  return;
995
1110
  }
996
1111
  printHuman([
997
1112
  `Factura timbrada: ${invoice.id}`,
998
1113
  `Folio: ${invoice.folio ?? 'sin folio'}`,
999
1114
  `UUID SAT: ${invoice.satUuid ?? 'pendiente'}`,
1115
+ `Idempotency-Key: ${idempotencyKey}`,
1000
1116
  ...formatDeliverySummary({
1001
1117
  sendCustomerEmail: stampInput.sendCustomerEmail ??
1002
1118
  stampInput.sendToCustomerContacts,
@@ -1006,6 +1122,114 @@ export async function main(rawArgv = process.argv) {
1006
1122
  }),
1007
1123
  ]);
1008
1124
  });
1125
+ withJsonFlag(cli
1126
+ .command('invoice-cancel <invoiceRef>', 'Cancelar factura por invoiceId, UUID SAT o folio')
1127
+ .option('--reason <01|02|03|04>', 'Motivo de cancelación (obligatorio)')
1128
+ .option('--replacement-invoice <ref>', 'Factura sustituta (obligatoria para motivo 01)')
1129
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma cancelación')
1130
+ .option('--yes', 'Confirmar la cancelación sin preguntas')
1131
+ .option('--no-input', 'Nunca preguntar; requiere --yes para cancelar')
1132
+ .option('--dry-run', 'Mostrar previa sin cancelar')).action(async (invoiceRef, options) => {
1133
+ const reason = readRawOptionValue(argv, '--reason');
1134
+ const parsedReason = invoiceCancelReasonSchema.safeParse(reason);
1135
+ if (!parsedReason.success) {
1136
+ throw new Error('Debes indicar `--reason` con uno de estos motivos: 01, 02, 03 o 04.');
1137
+ }
1138
+ const replacementOption = readRawOptionValue(argv, '--replacement-invoice');
1139
+ const replacementRef = normalizeStringOption(replacementOption);
1140
+ if (parsedReason.data === '01' && !replacementRef) {
1141
+ throw new Error('El motivo 01 requiere `--replacement-invoice <ref>`.');
1142
+ }
1143
+ if (parsedReason.data !== '01' && replacementOption !== undefined) {
1144
+ throw new Error('`--replacement-invoice` solo se permite con el motivo 01.');
1145
+ }
1146
+ const interactiveMode = canPromptInteractively(options);
1147
+ if (!options.dryRun && !options.yes && !interactiveMode) {
1148
+ throw new Error('Cancelar requiere confirmación explícita. Usa `--yes` para confirmar o `--dry-run` para revisar la previa.');
1149
+ }
1150
+ idempotencyKey = resolveIdempotencyKey(argv);
1151
+ const sdk = await getSdk();
1152
+ const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
1153
+ const invoice = await sdk.getInvoice(invoiceId);
1154
+ if (invoice.status !== 'issued' || !invoice.satUuid?.trim()) {
1155
+ throw new Error('Solo se pueden cancelar facturas emitidas (issued) con UUID SAT.');
1156
+ }
1157
+ const replacementInvoiceId = replacementRef
1158
+ ? await resolveInvoiceReference({ sdk, invoiceRef: replacementRef })
1159
+ : undefined;
1160
+ if (replacementInvoiceId === invoiceId) {
1161
+ throw new Error('La factura sustituta debe ser distinta de la factura que quieres cancelar.');
1162
+ }
1163
+ const replacement = replacementInvoiceId
1164
+ ? await sdk.getInvoice(replacementInvoiceId)
1165
+ : undefined;
1166
+ if (parsedReason.data === '01' &&
1167
+ (replacement?.status !== 'issued' || !replacement.satUuid?.trim())) {
1168
+ throw new Error('El motivo 01 requiere una factura sustituta timbrada.');
1169
+ }
1170
+ const environment = await getKeyEnvironment();
1171
+ const preview = {
1172
+ invoiceId,
1173
+ satUuid: invoice.satUuid,
1174
+ receiverRfc: invoice.receiverRfc,
1175
+ receiverLegalName: invoice.receiverLegalName,
1176
+ total: invoice.total,
1177
+ currency: invoice.currency,
1178
+ reason: parsedReason.data,
1179
+ replacementInvoiceId,
1180
+ replacementSatUuid: replacement?.satUuid,
1181
+ environment,
1182
+ idempotencyKey,
1183
+ };
1184
+ if (options.dryRun && options.json) {
1185
+ printJson({ dryRun: true, ...preview });
1186
+ return;
1187
+ }
1188
+ if (options.dryRun || (interactiveMode && !options.yes)) {
1189
+ printHuman([
1190
+ `Factura: ${invoiceId}`,
1191
+ `UUID SAT: ${preview.satUuid}`,
1192
+ `Receptor: ${preview.receiverLegalName}`,
1193
+ `RFC: ${preview.receiverRfc}`,
1194
+ `Total: ${preview.total} ${preview.currency}`,
1195
+ `Motivo: ${preview.reason}`,
1196
+ ...(replacementInvoiceId
1197
+ ? [
1198
+ `Factura sustituta: ${replacementInvoiceId}`,
1199
+ `UUID SAT de la sustituta: ${preview.replacementSatUuid}`,
1200
+ ]
1201
+ : []),
1202
+ `Entorno: ${environment}`,
1203
+ `Idempotency-Key: ${idempotencyKey}`,
1204
+ ]);
1205
+ }
1206
+ if (options.dryRun) {
1207
+ return;
1208
+ }
1209
+ if (!options.yes) {
1210
+ const confirmed = await confirm({
1211
+ message: '¿Confirmas la cancelación de esta factura?',
1212
+ active: 'Sí, cancelar factura',
1213
+ inactive: 'No, conservar factura',
1214
+ initialValue: false,
1215
+ });
1216
+ if (isCancel(confirmed) || !confirmed) {
1217
+ outro('No se solicitó la cancelación.');
1218
+ return;
1219
+ }
1220
+ }
1221
+ const result = await sdk.cancelInvoice(invoiceId, { reason: parsedReason.data, replacementInvoiceId }, { idempotencyKey });
1222
+ if (options.json) {
1223
+ printJson({ ...result, idempotencyKey });
1224
+ return;
1225
+ }
1226
+ printHuman([
1227
+ result.status === 'cancelled'
1228
+ ? `Factura cancelada: ${invoiceId}`
1229
+ : `Cancelación aún no confirmada: ${invoiceId}`,
1230
+ `Idempotency-Key: ${idempotencyKey}`,
1231
+ ]);
1232
+ });
1009
1233
  withJsonFlag(cli.command('invoice-get <invoiceRef>', 'Obtener factura por invoiceId, UUID SAT o folio')).action(async (invoiceRef, options) => {
1010
1234
  const sdk = await getSdk();
1011
1235
  const invoiceId = await resolveInvoiceReference({ sdk, invoiceRef });
@@ -1066,6 +1290,21 @@ export async function main(rawArgv = process.argv) {
1066
1290
  }
1067
1291
  printHuman(customers.map((customer) => `${customer.id} ${customer.legalName}`));
1068
1292
  });
1293
+ withJsonFlag(cli.command('customer-get <customerId>', 'Obtener cliente')).action(async (customerId, options) => {
1294
+ const sdk = await getSdk();
1295
+ const customer = await sdk.getCustomer(customerId);
1296
+ if (options.json) {
1297
+ printJson(customer);
1298
+ return;
1299
+ }
1300
+ printHuman([
1301
+ `Cliente: ${customer.id}`,
1302
+ `Razón social: ${customer.legalName}`,
1303
+ `RFC: ${customer.rfc}`,
1304
+ `Código postal: ${customer.postalCode}`,
1305
+ `Régimen fiscal: ${customer.taxRegime}`,
1306
+ ]);
1307
+ });
1069
1308
  withJsonFlag(cli.command('customer-search <query>', 'Buscar clientes')).action(async (query, options) => {
1070
1309
  const sdk = await getSdk();
1071
1310
  const customers = await sdk.listCustomers({ query });
@@ -1077,6 +1316,7 @@ export async function main(rawArgv = process.argv) {
1077
1316
  });
1078
1317
  withJsonFlag(cli
1079
1318
  .command('customer-create', 'Crear cliente')
1319
+ .option('--idempotency-key <key>', 'Clave para reintentar la misma operación')
1080
1320
  .option('--legal-name <legalName>', 'Razón social')
1081
1321
  .option('--rfc <rfc>', 'RFC')
1082
1322
  .option('--postal-code <postalCode>', 'Código postal')
@@ -1088,6 +1328,7 @@ export async function main(rawArgv = process.argv) {
1088
1328
  if (!options.legalName || !options.rfc || !options.postalCode || !options.taxRegime) {
1089
1329
  throw new Error('Debes indicar `--legal-name`, `--rfc`, `--postal-code` y `--tax-regime`.');
1090
1330
  }
1331
+ idempotencyKey = resolveIdempotencyKey(argv);
1091
1332
  const sdk = await getSdk();
1092
1333
  const input = {
1093
1334
  legalName: String(options.legalName),
@@ -1101,7 +1342,7 @@ export async function main(rawArgv = process.argv) {
1101
1342
  sendInvoices: true,
1102
1343
  };
1103
1344
  const customer = await sdk.createCustomer(input, {
1104
- idempotencyKey: randomUUID(),
1345
+ idempotencyKey,
1105
1346
  });
1106
1347
  if (options.json) {
1107
1348
  printJson(customer);
@@ -1120,10 +1361,14 @@ export async function main(rawArgv = process.argv) {
1120
1361
  error: {
1121
1362
  message: getErrorMessage(error),
1122
1363
  },
1364
+ ...(idempotencyKey ? { idempotencyKey } : {}),
1123
1365
  });
1124
1366
  }
1125
1367
  else {
1126
1368
  process.stderr.write(`${getErrorMessage(error)}\n`);
1369
+ if (idempotencyKey) {
1370
+ process.stderr.write(`Idempotency-Key: ${idempotencyKey}\n`);
1371
+ }
1127
1372
  }
1128
1373
  process.exitCode = exitCodeFromError(error);
1129
1374
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export function getErrorMessage(error) {
25
25
  if (error.code === 'plan_required') {
26
26
  const base = error.message ||
27
27
  'Tu plan actual no incluye la API pública de FactuCat.';
28
- const upgrade = 'Actualiza a un plan con API (Miau Pro o plan API) desde Suscripción en la configuración de FactuCat: https://factucat.com/settings/subscription';
28
+ const upgrade = 'Actualiza a un plan con API (Miau Pro o Plan API) desde Suscripción en la configuración de FactuCat: https://factucat.com/settings/subscription';
29
29
  const requestId = error.requestId && error.requestId !== 'unknown'
30
30
  ? ` (requestId: ${error.requestId})`
31
31
  : '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factucat/cli",
3
- "version": "0.2.6",
3
+ "version": "0.3.0",
4
4
  "private": false,
5
5
  "description": "CLI for Mexican CFDI 4.0 invoicing with FactuCat Cloud",
6
6
  "type": "module",
@@ -41,18 +41,19 @@
41
41
  }
42
42
  },
43
43
  "devDependencies": {
44
- "@types/node": "^24.12.0"
44
+ "@types/node": "^24.19.2"
45
45
  },
46
46
  "dependencies": {
47
- "@clack/prompts": "^1.1.0",
48
- "cac": "^7.0.0",
49
- "@factucat/public-api-contracts": "0.3.0",
50
- "@factucat/sdk": "0.3.0"
47
+ "@clack/prompts": "^1.8.1",
48
+ "@factucat/public-api-contracts": "0.4.0",
49
+ "@factucat/sdk": "0.4.0",
50
+ "cac": "^7.1.0"
51
51
  },
52
52
  "scripts": {
53
53
  "build": "tsc -p tsconfig.build.json",
54
54
  "lint": "eslint \"src/**/*.ts\" --ignore-pattern \"src/**/*.d.ts\" --ignore-pattern \"src/**/*.test.ts\"",
55
55
  "factucat": "tsx src/bin.ts",
56
- "test": "vitest run"
56
+ "test": "vitest run",
57
+ "typecheck": "tsc --noEmit -p tsconfig.json"
57
58
  }
58
59
  }