Initial import of zappier-account-balance from zapier monorepo

This commit is contained in:
George Lambert 2026-09-11 18:38:09 -04:00
commit 498b44e1da
10 changed files with 457 additions and 0 deletions

31
README.md Normal file
View file

@ -0,0 +1,31 @@
# zappier-account-balance
Source of truth for **customer prepaid balances** (persisted `books.json`). Internal traffic is **NATS request-reply**; HTTP is health plus a fallback. zappier-edge `balanceCents` is a cache of this book.
**Forgejo:** https://git.georgelambert.org/marchon/zappier-account-balance
**Catalog:** https://zapier.georgelambert.org/packages/zappier-account-balance/README.pdf
Zapier cloud never connects here. zappier-edge, customer-service, sales-pricing, and accounting-export do.
## Subjects
| Subject | Kind | Who |
|---------|------|-----|
| `verae.billing.statement.get` | request-reply | portal, CS, sales, admin |
| `verae.billing.balance.get` | request-reply | anyone internal |
| `verae.billing.balance.adjust` | request-reply | CS credits, portal reload |
| `verae.billing.usage.recorded` | pub | zappier-edge meter |
| `verae.billing.payment.recorded` | pub | portal reload, invoice paid |
| `verae.billing.credit.applied` | pub | CS |
Queue group: `account-balance`.
## Run
```bash
NATS_URL=nats://127.0.0.1:4222 PORT=3010 npm start
curl http://127.0.0.1:3010/health
curl http://127.0.0.1:3010/statement/cust_1
```
Statement JSON: `{ customerId, prepaidCents, credits[], usage[], payments[] }`.