Overview
Manage billing, access and company workspaces.
Your companies. One control center.
Manage company workspaces and access here. Billing details below always belong to the selected company.
Your billing workspace at a glance. Start with customer setup, preview a bill, then test collection and reminders.
Set up your test workspace
Complete these steps to test the billing flow. This checklist does not approve live billing.
Try with sample data
Adds a fictional MN tax package, sample customer and plan. No money is collected.
Needs your attention
Recent activity
Add customer
Test prepaid balance
Post a simulated credit or a rated usage debit. These entries do not calculate tax or collect payment.
Customer accounts
Eligibility reflects prepaid balance only. Service-control mappings and confirmed remote states appear under Email & service control.
Create monthly plan
Attach subscription
Create a subscription record. Attach the subscription here, then configure its schedule under Renewals & reminders.
Plan catalog
Subscriptions
Itemized tax calculator
Each item uses its service location and dated rule package. Caps apply per item; account/monthly aggregation is not supported. Add a recurring line fee only to its designated fee item.
Calculate a bill
Calculation trace
Missing tax coverage blocks billing. Zero tax requires an explicit package with no charges.
Preview a bill to see the subtotal, charges and total here.
Calculation details for developers
Your calculation and rule snapshot will appear here.
Saved invoices
Coverage validation
A directory entry or a source reference does not establish full tax coverage. Customer setup gaps are separate from the missing nationwide rules.
U.S. telecom tax coverage
Reference facts and published federal factors are separate from invoice rule packages. A source-checked component is not a complete state tax result. No reference below is applied automatically to invoices.
Show all 50 states and DC
Select a state
Published observations are individual components. Rates may overlap or apply to different bases; do not add them together.
Technical coverage record
Select a jurisdiction to inspect remaining blockers.
Source references and dated components
Import a rule package
Append-only, date-versioned packages. End date is exclusive. Overlapping coverage is rejected.
Your tax engine
Each calculation preserves its package, dates, input amounts and charge breakdown.
Supported primitives: percentage charges, fixed per-unit fees, and FUSF recovery against an explicit allocation.
This foundation does not yet determine legal sourcing, exemptions, bundled allocations, taxes on taxes, contribution status, or filing obligations.
Coverage register
Billing inside your platform
Your customers keep using your app and login. Your backend maps the signed-in customer, creates a 15-minute billing session, and returns only that customer's billing data. Keep company API keys on your server.
Connect your immutable customer ID to a LoopPay customer below.
Use examples/provider_billing and docs/provider-billing-kit.md. Stripe supports embedded test card payments; PayPal and Coinbase use hosted checkout.
Use signed events or poll with a durable cursor. Customer clicks and browser callbacks never prove payment success.
POST /api/integration/mappings POST /api/integration/sessions GET /api/customer-billing/state POST /api/customer-billing/checkout POST /api/customer-billing/sync GET /api/integration/events?after=0
Customer mapping
Payment & balance events
Not configured.
No secret shown.
Connect your application
All API requests require Authorization: Bearer <token>. Company API keys are bound to one workspace. Platform admins may select a workspace with X-Provider-ID. Financial and customer-mapping mutations require a stable Idempotency-Key. Reuse the same key and payload after an uncertain response; a changed payload returns 409. Session minting, synchronization and configuration use their documented endpoint contracts.
POST /api/customers POST /api/plans POST /api/subscriptions POST /api/tax-rules POST /api/quotes # read-only calculation POST /api/invoices # saves an unpaid invoice POST /api/topups # SIMULATED credit only POST /api/usage # rated debit in cents GET /api/state
Example top-up request
Configure credentials under Payments & gateways. Keep company API keys on your backend.
Recent balanced journal entries
Company workspaces
Find a company and open its billing workspace.
Current company
Customers, plans, balances, invoices and tax packages belong to this workspace. Changing companies never moves those records.
Advanced: company record
Create company workspace
Issue company API key
Grants full access to the current company, including key management. The secret appears once; store it securely.
Generate a company API key
Revoke a company key
Revocation immediately blocks future API requests using that key. If you revoke your own login key, sign in again using another key or the platform admin token.
Choose a key to revoke
Company API keys
Only a prefix and metadata are listed. Plaintext keys cannot be retrieved. Human staff permissions are managed under Staff & access.
Invite a staff member
Owners manage staff. Admins manage billing and integration keys. Viewers can read billing records and preview calculations.
Invitations expire after 48 hours. Delivery goes to the Super Admin local test mailbox, not external email. For an existing company with no owner, Super Admin can invite its first owner here.
Update staff access
Changes apply on the next request. At least one active owner must remain. Only Super Admin can change owner memberships.
Company staff
Local test mailbox
For a test, copy the code, disconnect, choose Use invitation / recovery code, and complete the relevant action.
Company payment options
Saved credentials are not proof of account connectivity. Verify checkout with your account. Each company has separate settings.
Configure a payment gateway
Only company owners and Super Admin can change gateway accounts. Credentials are encrypted and are never returned by the API.
Save a gateway to see its company-specific webhook path.
Gateway delivery needs a reachable HTTPS endpoint or appropriate development forwarding. Local status checks work without webhook forwarding. Old connection versions stay available for reconciling their payments.
Create checkout
No checkout created in this session.Open gateway checkout
After the buyer completes checkout, use Check status below. For PayPal this captures an approved order. Returning to this page alone never marks a payment successful.
Payment history
If creation failed, retry this existing payment instead of creating another. The original gateway idempotency reference is reused. Confirmed payments post once.
Billing worker
No manual run in this session.
Company automation policy
Only owners and Super Admin control background execution. New cycles snapshot their retry policy. Already issued cycles retain their collection mode and dates.
Schedule a subscription
Monthly renewals preserve their original day, including month-end. Missing tax coverage blocks issuance. Saving a schedule does not move existing invoices or reset its issued billing history.
Subscription schedules
Pausing/resuming uses the schedule form. Cancellation is final for that schedule; create a new subscription to restart. Issued invoices remain in your records. In-flight gateway requests may complete.
Issued renewal cycles
A manual retry is explicit. Uncertain gateway creation keeps its original payment reference and may require reconciliation. Past-due flags are advisory; no telecom service is stopped.
Completed collection attempts
Billing email outbox
Company-isolated billing email previews and delivery statuses. SMTP delivery is opt-in under Email & service control. Accepted means relay acceptance, not inbox delivery.
Select a queued message to preview its content.
Customer billing portal
Customers sign in separately and see only their own invoices, subscriptions, prepaid balance and payment history.
Open customer portal in a new tabInvite or disable a customer
The invitation goes to the email already recorded on that customer. Codes expire after 48 hours and can be used once. Disabling blocks all portal bindings for this customer and cancels pending codes.
Manage a linked login
Access changes apply on the next request. Restoring a known login does not change its password. An existing platform identity uses its current password to accept a new customer invitation.
Linked customer logins
Branded billing documents
Download invoices with your company's letterhead and a Powered by LoopPay footer. Monthly summaries consolidate posted charges, payments and wallet activity without charging customers again.
Document archive
Company SMTP
Only new billing messages are sent automatically after enabling. Older previews require explicit queueing. Activation and password recovery remain in the local test mailbox.
Service-control endpoint
Configure your platform to verify HMAC signatures, deduplicate event IDs and acknowledge applied commands. HTTPS public endpoints only. See docs/delivery.md for the receiver contract.
A new signing key is shown once. Copy it into your receiver, then hide it.
No signing key shown.
Customer service mapping
Only explicitly enabled customers receive commands. One external reference represents the service account controlled for this customer.
Delivery queue & attempts
SMTP accepted means the relay accepted the message, not inbox delivery. Service applied requires a matching remote acknowledgment. Failed deliveries stop after five attempts; retries can duplicate SMTP messages after an uncertain result.
Select a job to inspect attempts.
Address jurisdiction datasets
Import source-backed exact-address mappings for this company. Dataset versions are immutable and date-limited. This is operator-supplied evidence, not certified geocoding. Nationwide boundary data is not bundled.
Match a saved service address
An exact full-address match, including the unit and ZIP, must be unique for the selected date. No match or ambiguous matches block resolution. Editing the address clears its previous assignment.
No match requested in this workspace.
Imported dataset versions
Provider tax profile
Customer tax classification
Service address
Address edits invalidate previous jurisdiction assignments. No address verification service is connected.
