Module reference
Every tool your wholesale team needs. One codebase.
These are the 12 modules in a standard Baseframe deployment. Your build might not include all of them — it depends on where your pain is worst.
Invoicing
Invoice generation built around how wholesale actually works — rate memory, quantity breaks, and a PDF your customers can actually read.
Replaces: Zoho Books, QuickBooks Invoice, FreshBooks
- Rate memory per customer — quantities and discounts saved automatically
- Quantity break pricing with visual tier display
- PDF invoice generation with your branding
- Tax rate configuration per customer or jurisdiction
- Multi-line item invoices with per-line notes
- Direct payment link embedded in invoice email
- Cost-to-manufacture tracked for real margin visibility
Payments
Authorize.net CIM integration with client-side tokenization. Customers save cards once, pay with one click forever after. No raw card data on our servers.
Replaces: Stripe Dashboard, Authorize.net Merchant Interface
- Authorize.net CIM — saved card profiles per customer
- Accept.js hosted fields for PCI-compliant card entry
- One-click payment from saved card
- Full and partial refunds
- Void for same-day transactions
- Payment history per customer with aging reports
- Automated receipt emails via AWS SES
CRM
A customer record that actually knows everything about the customer — every invoice, every ticket, every note, every payment, every order.
Replaces: HubSpot, Salesforce Essentials
- Unified customer profile across all modules
- Lifetime value calculation with order history
- Customer merge to handle duplicates
- Chargeback flag with notes and history
- Timeline of all interactions across channels
- Internal notes with timestamps and author
- Quick search across name, email, company, phone
Ticketing
Email-to-ticket conversion with SLA tracking and AI response suggestions. Customer emails become tickets. Your team works them in Baseframe, never in Gmail.
Replaces: Zendesk, HubSpot Service Hub, Freshdesk
- Email-to-ticket via IMAP polling
- AI-powered response suggestions based on customer history
- SLA configuration per ticket priority
- Threaded replies — customer emails land in thread
- Customer context sidebar with full account history
- Internal notes on tickets (not visible to customer)
- Status tracking: open, in-progress, waiting, closed
- Ticket history per customer with message counts
Inventory
Multi-warehouse inventory tracking with Shopify sync. Shopify stays authoritative for quantities — Baseframe adjusts when invoices are packed and paid.
Replaces: Shopify admin inventory pages, spreadsheets
- Multi-warehouse location support
- Shopify inventory sync (read-only)
- Ledger-style adjustment history
- Low-stock alerts per warehouse
- Reserve stock when invoice is drafted
- Commit stock when invoice is paid
- Bulk adjustment import via CSV
SKU Catalog
Your product catalog with cost-to-manufacture tracked per SKU and automatic pricing tier generation. No more pricing spreadsheets.
Replaces: Internal pricing spreadsheets, Zoho Inventory
- Cost-to-manufacture per SKU
- Automatic pricing tier calculation from cost
- Variant management (size, color, configuration)
- Weight tracking per SKU for shipping calculations
- Active/inactive status with archive
- Bulk SKU import and export
- Per-SKU notes and photo management
Quotes
Professional quote generation with auto-calculated pricing from your SKU catalog. Convert accepted quotes to invoices with one click.
Replaces: Manual quote spreadsheets, Zoho quotes
- Auto-calculated pricing from cost-to-manufacture
- PDF quote generation with branding
- Quote-to-invoice conversion with one click
- Expiration dates with automatic follow-up reminders
- Version history for revised quotes
- Customer-specific pricing overrides
Returns / RMA
Return merchandise authorization with per-line item restock decisions and credit memo generation.
Replaces: Manual paperwork and email threads
- RMA creation from original invoice
- Per-line-item return decisions (restock, discard, exchange)
- Credit memo generation against customer account
- Restock triggers inventory adjustment
- Return reason tracking and analytics
- Photo upload for condition documentation
- Customer-facing RMA status page
Notifications
Outbound customer emails and internal team alerts from one place. No more broken Zapier chains.
Replaces: Zapier notification workflows, manual email sending
- Customer email notifications (invoice sent, payment received, etc.)
- Internal team alerts (new ticket, low stock, payment failed)
- Email delivery via AWS SES
- Notification log with delivery status
- Configurable triggers per event type
- Customer notification preference matrix
Reporting
Role-appropriate dashboards with real data. Sales sees revenue. Customer service sees ticket volume. Owners see everything.
Replaces: Metabase, Google Sheets reports, manual tallies
- Role-specific dashboard views
- Revenue by customer, period, and SKU
- Ticket volume and resolution time analytics
- Inventory turnover by SKU
- Payment aging report
- Scheduled report delivery via email
- CSV export for any report
Audit Trail
Append-only JSONB snapshots of every mutation. Who changed what, when, and from what to what. Immutable records.
Replaces: Hoping nothing bad happened, spreadsheet changelogs
- Before/after JSONB snapshots on every write
- Actor, timestamp, IP address, and user agent on every record
- Filterable by user, resource type, and date range
- Immutable — no delete or update of audit records
- Exportable for compliance review
- Linked to the record being audited
Admin Panel
User management, activity monitoring, and system configuration without touching a third-party dashboard.
Replaces: Auth0 dashboard, admin spreadsheets
- User provisioning and deprovisioning via Entra ID
- Role assignment (owner, sales, customer-service)
- Activity log per user
- Ticket spam rule management
- System health indicators
- Data import and export tools
Not every client needs every module. We scope the build to what actually moves the needle for your business. Talk to us about what you need.