Loading...

Mango Billing

Invoicing, collections, revenue recognition, commissions, and tax — the finance motion for the revenue stack.

MangoApps

Category
Productivity & Utility
Version
1.0.0
Installs
0
Published
Apr 2026
Type
App

Overview

Mango Billing owns the finance / AR surface for the revenue stack. AR aging dashboard, automated dunning sequences (day 7/14/30/45), ASC 606 revenue recognition with period close + GL export, tiered-accelerator commission plans with per-rep attainment tracking, Anrok tax integration, and an Ask AI agent for finance questions. Built on the existing Billing::* domain layer (Invoice, Subscription, Stripe, Refund, CreditTransaction). Replaces the sysadmin BillingInvoicesController + CustomerBillingController with a workflow-aware, tenant-scoped surface.

Highlights

Track AR aging across 0–30 / 31–60 / 61–90 / 90+ buckets for every open invoice.
Automate dunning sequences with configurable day 7 / 14 / 30 / 45 cadence and pause/resume controls.
Recognize revenue on ASC 606 schedules with period-close workflow and journal-entry CSV export.
Pay tiered-accelerator commissions per event type (new logo, renewal, expansion) with per-rep attainment tracking.
Sync tax automatically via Anrok on every invoice, with a jurisdiction liability summary.
Ask the Mango Billing AI agent finance questions like "which invoices are in 30+ day dunning?" right from the sidebar.

Capabilities

Invoices & Collections
  • Invoice list + detail view (tenant-scoped)
  • Mark paid, void, write off, send reminder, download PDF
  • Manual invoice creation for non-Stripe billing
  • Stripe webhook sync (paid / failed / overdue)
  • AR aging dashboard with bucket breakdown
Dunning
  • Per-invoice DunningSequence state machine
  • Configurable cadence (default: day 7 / 14 / 30 / 45)
  • Hourly DunningAdvanceJob advances sequences past thresholds
  • Pause/resume a sequence (e.g., customer in dispute)
  • DunningEvent audit log per sequence transition
Revenue Recognition
  • RevenueSchedule per subscription / contracted invoice
  • Monthly RevenueScheduleEntry rows with period_start/period_end
  • Straight-line recognition across contract term
  • Period-close workflow (stamp recognized_at on entries)
  • Journal-entry CSV export for NetSuite / QuickBooks
Commissions
  • CommissionPlan with nested CommissionPlanTier rows per event type
  • Tiered accelerators (e.g., 8% to $500k, 12% above)
  • Per-rep CommissionAttainment quarterly rollups
  • Auto-fires on ProposalService#mark_won and RenewalProposalGenerator
  • Earnings approval + payout CSV export
Tax (Anrok)
  • Billing::Anrok::Client REST wrapper
  • AnrokSyncJob on invoice creation
  • TaxTransaction audit record per synced invoice
  • Jurisdiction liability summary view
AI Agent & Analytics
  • MangoBillingAgent answers finance questions via Ask AI
  • Tools: AR aging, search invoices, customer financial summary
  • Analytics: DSO, collection rate, aging detail (admin-only)
  • CSV export of invoices, earnings, and journal entries
Limits & Specs
  • Default payment terms: Net 30 (configurable)
  • Default dunning cadence: Day 7 / 14 / 30 / 45
  • Revenue recognition method: Straight-line, monthly
  • Tax provider: Anrok (optional)
  • Payment rail: Stripe (unchanged)
  • Allowed roles: Admin, Super Admin

Use cases

Controller reviews overdue AR
Open the AR aging dashboard, see bucketed totals across 0–30 / 31–60 / 61–90 / 90+ days, and drill into the oldest invoices still in active dunning.
Pause dunning mid-negotiation
Customer is renegotiating a contract — pause their dunning sequence from the invoice detail page so they stop receiving collections emails.
Close the books each month
Review the current period's revenue schedule entries, close the period to stamp recognized_at atomically, and export the journal-entry CSV for NetSuite or QuickBooks.
Approve quarterly commissions
Sales ops reviews per-rep earnings with attainment-to-date, sees tier-boundary splits on large deals, bulk-approves, and exports the payout CSV for finance.
Write off an uncollectable invoice
Apply a write-off to a long-overdue invoice using the existing Refund + CreditTransaction services — the AR aging buckets rebalance automatically.
Answer finance questions from Ask AI
Ask the Mango Billing agent "which invoices are in 30+ day dunning?" or "what are commissions owed this quarter?" and get grounded answers with links back to the source records.

FAQ

Sysadmin billing is a platform-admin surface designed for MangoApps staff. Mango Billing is a workflow-aware tenant app: it adds dunning, revenue recognition, commissions, and tax on top of the same Billing::Invoice / Billing::Customer domain layer. The sysadmin surface is retired when Mango Billing ships.

No. Mango Billing reads the existing Billing::* tables in place — Invoice, Subscription, Customer, Refund, CreditTransaction, Event. New tables only back dunning, revenue recognition, and commissions; history stays where it is.

Turn off commissions_enabled in Settings. The rest of the app (invoices, dunning, RevRec, tax) still works, and commission plans and earnings stay hidden from the nav.

No. Tax is off by default. Flip tax_enabled and paste an Anrok API key to sync. Without Anrok, invoices still flow — finance can add tax manually on manual invoices.

No. Stripe remains the payment rail. Mango Billing sits on top of the existing Billing::StripeService + WebhookProcessor — webhook events keep updating local Billing::Invoice records as they always have. Mango Billing adds the workflow layers finance owns (dunning, close, commissions).

Ask AI Product Advisor

Hi! I'm the MangoApps Product Advisor. I can help you with:

  • Understanding our 40+ workplace apps
  • Finding the right solution for your needs
  • Answering questions about pricing and features
  • Pointing you to free tools you can try right now

What would you like to know?