Add NATS account-balance SoT and statement review for customers, CS, and sales
Some checks are pending
offline / test (push) Waiting to run

Internal billing now uses verae.billing.* request-reply and pubs. zappier-account-balance tracks prepaid, credits, usage, and payments. Portal, admin, CS, and sales all review the same statement. Independent Forgejo repos stay split via push-module-repos.
This commit is contained in:
George Lambert 2026-09-11 15:35:37 -04:00
parent a1a5b957fd
commit ac38676645
135 changed files with 3078 additions and 130 deletions

View file

@ -1,6 +1,6 @@
# zappier-customer-service
Department API for **customer-service credit additions** (goodwill, make-goods). Prepaid balances stay on **zappier-edge**; this service is the CS front door and audit copy.
Department API for **customer-service credit additions** and **review** of credits, balances, usage, and payments. Internally uses **NATS** `verae.billing.*` (account-balance). HTTP fallback to account-balance then zappier-edge.
**Forgejo:** https://git.georgelambert.org/marchon/zappier-customer-service
**Catalog:** https://zapier.georgelambert.org/packages/zappier-customer-service/README.pdf
@ -14,8 +14,10 @@ curl -X POST http://127.0.0.1:3011/credits -H 'content-type: application/json' \
| Route | Job |
|-------|-----|
| `GET /` | Staff review UI |
| `GET /health` | `{ ok, role }` |
| `POST /credits` | Add/subtract prepaid cents on the customer |
| `POST /credits` | Add/subtract prepaid cents (NATS `balance.adjust`) |
| `GET /credits?customerId=` | Ledger |
| `GET /review/:customerId` | Full statement (balance, credits, usage, payments) |
Does not talk to NATS or Zapier cloud.
Talks to NATS `verae.billing.*` internally. Never talks to Zapier cloud.