sync: auto-sync from HOWARD-HOME at 2026-07-13 11:11:22

Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-07-13 11:11:22
This commit is contained in:
2026-07-13 11:11:54 -07:00
parent 7291c5e691
commit f2f0fe0f70
5 changed files with 55 additions and 0 deletions

View File

@@ -150,3 +150,13 @@ confirm true state before any follow-up action.
POST/GET customer; POST contact; POST ticket (+ number); POST ticket comment (hidden);
POST add_line_item; POST invoice (from ticket); POST estimate + line_items + PUT recalc;
POST appointment; POST schedule (paused). All parse under the shapes documented in `syncro.md`.
## 2026-07-13 — Invoice line population is ASYNCHRONOUS after POST /invoices
`POST /invoices` returns immediately, but the invoice's `line_items` are populated from the
ticket's unbilled charges in the background. A `GET /invoices/{id}` fired in the same second
can return a PARTIAL line set (observed: 10 of 17 lines / 18.0h of 28.0h on ACG-internal
#32546, invoice 68040; a re-GET moments later showed all 17 / 28.0h). Verified the ticket held
all 17 lines throughout. Rule: if the post-invoice verification shows fewer lines than the
ticket, WAIT and re-GET before concluding lines were dropped — do NOT create a second invoice
(it would double-bill the late-arriving lines). Large line counts (17) make the window visible;
the usual 1-2 line invoices never showed it.