Add NATS account-balance SoT and statement review for customers, CS, and sales
Some checks are pending
offline / test (push) Waiting to run
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:
parent
a1a5b957fd
commit
ac38676645
135 changed files with 3078 additions and 130 deletions
12
packages/docs-master/modules/zappier-account-balance/NATS.md
Normal file
12
packages/docs-master/modules/zappier-account-balance/NATS.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# NATS — zappier-account-balance
|
||||
|
||||
Queue group `account-balance`. This process is the source of truth for prepaid cents.
|
||||
|
||||
| Direction | Address | Kind | Body |
|
||||
|-----------|---------|------|------|
|
||||
| IN | `verae.billing.statement.get` | request-reply | `{ customerId }` → statement |
|
||||
| IN | `verae.billing.balance.get` | request-reply | `{ customerId }` → statement |
|
||||
| IN | `verae.billing.balance.adjust` | request-reply | `{ customerId, cents, reason, agent, kind }` |
|
||||
| IN | `verae.billing.usage.recorded` | pub | `{ customerId, endpointId, cents, at }` (debits prepaid) |
|
||||
|
||||
`payment.recorded` and `credit.applied` are fan-out events from publishers; prepaid mutations go through `balance.adjust`.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
# zappier-account-balance
|
||||
|
||||
NATS source of truth for prepaid balances, credits, usage events, and payments.
|
||||
|
|
@ -1,3 +1,7 @@
|
|||
# zappier-accounting-export NATS
|
||||
# NATS — zappier-accounting-export
|
||||
|
||||
None.
|
||||
| Direction | Address | Kind |
|
||||
|-----------|---------|------|
|
||||
| OUT | `verae.billing.statement.get` | request-reply (review) |
|
||||
|
||||
IIF/CSV export remains HTTPS to zappier-edge admin.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
# zappier-accounting-export
|
||||
|
||||
Exports zappier invoices to QuickBooks IIF and accounting CSV.
|
||||
Accounting export of invoices to QuickBooks IIF and CSV, plus **review** of customer credits, balances, usage, and payments over NATS.
|
||||
|
||||
Forgejo: https://git.georgelambert.org/marchon/zappier-accounting-export
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
# zappier-customer-service NATS
|
||||
# NATS — zappier-customer-service
|
||||
|
||||
None. HTTPS only to zappier-edge admin.
|
||||
| Direction | Address | Kind |
|
||||
|-----------|---------|------|
|
||||
| OUT | `verae.billing.statement.get` | request-reply (review) |
|
||||
| OUT | `verae.billing.balance.adjust` | request-reply (credits) |
|
||||
|
||||
HTTP fallback: `ACCOUNT_BALANCE_URL` then zappier-edge admin. Zapier cloud never connects here.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# zappier-customer-service
|
||||
|
||||
CS department API for prepaid credit additions. Writes `balanceCents` on zappier-edge.
|
||||
CS department API and UI for prepaid credit additions and **review** of credits, balances, usage, and payments.
|
||||
|
||||
Internal path: NATS `verae.billing.statement.get` / `verae.billing.balance.adjust` → account-balance. HTTP fallback to `:3010` then zappier-edge admin.
|
||||
|
||||
Forgejo: https://git.georgelambert.org/marchon/zappier-customer-service
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# zappier-sales-pricing NATS
|
||||
# NATS — zappier-sales-pricing
|
||||
|
||||
None.
|
||||
| Direction | Address | Kind |
|
||||
|-----------|---------|------|
|
||||
| OUT | `verae.billing.statement.get` | request-reply (review) |
|
||||
|
||||
Pricing writes remain HTTPS to zappier-edge admin.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
# zappier-sales-pricing
|
||||
|
||||
Sales department per-customer tier and multiplier. Writes through zappier-edge `/admin/api/customers`.
|
||||
Sales department API and UI for per-customer tier/multiplier and **review** of the same NATS statement as CS and the customer portal.
|
||||
|
||||
Forgejo: https://git.georgelambert.org/marchon/zappier-sales-pricing
|
||||
|
|
|
|||
|
|
@ -1,10 +1,15 @@
|
|||
# NATS — zappier-edge
|
||||
|
||||
This process **does not subscribe or publish** on NATS.
|
||||
Zapier cloud still never connects to NATS. The edge process **does** publish and request on the private billing bus.
|
||||
|
||||
| Direction | Address | Peer | Body |
|
||||
|-----------|---------|------|------|
|
||||
| IN HTTPS | `/v1/*` | Zapier Platform app | JSON + `x-api-key` |
|
||||
| OUT HTTPS | middleware `/zapier/v1/*` | verae-middleware | same tenant request |
|
||||
| OUT NATS | `verae.billing.usage.recorded` | account-balance | meter event |
|
||||
| OUT NATS | `verae.billing.payment.recorded` | account-balance / others | portal reload |
|
||||
| OUT NATS | `verae.billing.credit.applied` | account-balance / others | admin/CS credit |
|
||||
| OUT NATS | `verae.billing.statement.get` | account-balance | portal/admin review |
|
||||
| OUT NATS | `verae.billing.balance.adjust` | account-balance | prepaid mutation |
|
||||
|
||||
NATS is private to middleware workers and archives.
|
||||
Jobs, archive, and webhooks stay on middleware workers.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue