master-zapier-plan-draft/packages/zappier-account-balance/README.md
George Lambert ac38676645
Some checks are pending
offline / test (push) Waiting to run
Add NATS account-balance SoT and statement review for customers, CS, and sales
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.
2026-09-11 15:35:37 -04:00

31 lines
1.1 KiB
Markdown

# zappier-account-balance
Source of truth for **customer prepaid balances**. Internal traffic is **NATS request-reply**; HTTP is health plus a fallback.
**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[] }`.