Billing
The billing command mirrors everything the Settings → Billing page
reads — the GST billing profile, the active subscription, recent
invoices, and billing logs.
Read-only by design. No profile update, no GSTIN validation, no certificate upload, no payment initiation. To change billing details, use the web app.
Quick start
splashify billing # consolidated view (all sections)
splashify billing profile # GST profile + billing address
splashify billing invoices # invoice list
splashify billing logs # billing log entries (all-time)
splashify billing logs --period 30d # narrow the window
splashify billing logs --limit 100 # cap the result countCommand reference
| Subcommand | Backed by |
|---|---|
(none — default) / details / overview | Merges all five reads below into one JSON object |
profile | GET /api/v1/app/billing |
invoices | GET /api/v1/app/invoices |
logs [--period --limit] | GET /api/v1/app/expenses/billing-logs |
Consolidated view
The default returns:
{
"profile": { "billing": { "display_name": "...", "gst_no": "...", "billing_address": { ... } } },
"subscription": { "user": { "plan_name": "...", "plan_status": "...", "plan_expires_at": "..." } },
"wallet": { "wallet_amount": 1234.56 },
"invoices": { "invoices": [ ... ] },
"logs": { ... }
}A section that fails for any reason is reported as {"error": "..."}
for that key — the rest of the view still renders.
Common patterns
# Billing-critical fields only
splashify billing | jq '{
legal_name: .profile.billing.display_name,
gst_no: .profile.billing.gst_no,
gst_treatment: .profile.billing.gst_treatment,
city: .profile.billing.billing_address.city,
state: .profile.billing.billing_address.state,
plan: .subscription.user.plan_name,
expires: .subscription.user.plan_expires_at,
wallet: .wallet.wallet_amount,
invoice_count: (.invoices.invoices | length)
}'
# Most recent invoice
splashify billing invoices | jq '.invoices[0]'
# All invoice numbers and totals
splashify billing invoices | \
jq -r '.invoices[] | "\(.invoice_number)\t\(.total)\t\(.status)"'
# Billing logs for the last 30 days
splashify billing logs --period 30d | jqDownloading an invoice PDF
Not exposed as a friendly command — the backend returns a binary
response. Use the URL pattern below with your oc_live_ token in the
Authorization header (curl works), or open the invoice from the web
app:
https://api.splashifypro.com/api/v1/app/invoices/<invoice_id>/downloadRelated
- Subscription — plan, add-ons, eligibility
- Wallet — balance and transactions
- Track expenses — per-message deduction log