invoice_reissue
Voids a 'sent' invoice with no money on it and reissues it under the next number: 'sent', dated today, same client, currency, notes, terms and lines, tax on today's rules, the old days to pay unless due_date is sent. A foreign-currency sg_gst invoice issued before today needs fx_rate_to_sgd and fx_rate_date for today unless its rate is dated today. The old one is cancelled, its client link stops working, both trails link them. Paid, part-paid, credited or written-off invoices refuse: correct them with a credit note (invoice_adjustment_record). When present, the second content block is the new invoice as copy-ready text. Nothing is sent. NEXT: invoice_share only if the user asks for a link.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | The invoice to cancel and issue again (invoice_list shows ids); its invoice_number works too. | |
| reason | No | Why the invoice is reissued, kept in both invoices' activity (max 500). | |
| due_date | No | Epoch milliseconds of the new due date, today or later. Omit it to give the new invoice the old one's days to pay, counted from today. | |
| fx_rate_date | No | The date the fx rate is for, YYYY-MM-DD. Send with fx_rate_to_sgd. | |
| fx_rate_to_sgd | No | sg_gst invoices in a currency other than SGD: Singapore dollars per 1 unit of the invoice currency for today, the new invoice's date of supply ("1.3502", up to 6 decimals, from MAS, a local bank, Bloomberg, Reuters or Oanda). Send with fx_rate_date. Needed when the invoice was issued before today and its rate is not dated today; otherwise the old rate, if any, is kept. | |
| invoice_number | No | Alias of id — the invoice's own number. | |
| fx_rate_to_sgd_ppm | No | fx_rate_to_sgd in millionths (1.3502 → 1350200), instead of fx_rate_to_sgd. Send with fx_rate_date. | |
| expected_updated_at | No | Optional compare-and-set guard: the updated_at you last read. A mismatch returns CONFLICT and changes nothing. |