White-label FreeMaint as your own CMMS for your clients
Provision client companies, manage tiers, impersonate, see billing and activity
The Reseller Program lets you white-label FreeMaint and offer it to your own clients as a Computerized Maintenance Management System (CMMS) under your brand. This guide walks through every action you will perform as a reseller admin: from provisioning a client to seeing your monthly wholesale invoice.
Go to Reseller Console → Activity Log. Every reseller action is logged in chronological order: client creation, tier changes, impersonation start/exit, password re-issue, client suspension. You can filter by entity type (Companies / Users / Subscriptions) to focus on a specific event class. Audit rows are kept indefinitely — useful for compliance, dispute resolution, or proving when a support session occurred.
Go to Reseller Console → Settings. The Gold Partner badge section has two download buttons: SVG (for your website — infinitely scalable, crisp at any size) and PNG 800×800 (for slide decks, Word documents, email signatures). The badge is free to use on your marketing materials as long as your reseller status is active. Do not modify the badge design.
Go to Reseller Console → Billing. The top card shows the LIVE projection for the current month — what you would owe FreeMaint if the cron fired today, broken down by tier with the volume discount applied. The bottom table shows past invoices — one per month, generated automatically on the 1st of the following month at 03:00 UTC. Each row shows period, subtotal, discount tier (Bronze/Silver/Gold/Platinum), total and payment status (Pending/Paid/Overdue/Void).
From Reseller Console → Client Companies, click 'Create Client'. The form has 4 sections: Company name, Admin user (email + first name + optional last name), Initial subscription tier (Core/Starter/Business/Enterprise — Core by default, you can upgrade later), and Regional settings (timezone, currency, language). Submit and you land on the credentials page that shows a temporary password — shown ONCE, save it now.
Issue: I impersonated a client and the session expired. Did the client see anything?
Solution: No. Impersonation uses a separate JWT scoped to the client's tenant. When it expires (or you manually exit), the JWT is invalidated and you're returned to your Reseller Console. The client never sees the impersonation event in their own session — only the entry in your reseller activity log captures it.
Issue: My client wants to leave. How do I cancel their subscription?
Solution: From the client detail page, click 'Suspend'. This sets the subscription to CANCELLED, deactivates the user logins, and excludes the client from your next monthly invoice. Suspension is reversible by FreeMaint ops within 90 days. After 90 days, the data is permanently deleted per GDPR.
Issue: Can a client see they're using a white-labelled FreeMaint?
Solution: If your tier is Enterprise and you have full custom branding enabled, your clients see your logo, color and company name everywhere — and 'Powered by FreeMaint' can be hidden. Smaller tiers always show 'Powered by FreeMaint' in the footer.
Issue: How is the volume discount calculated?
Solution: It applies to the TOTAL number of ACTIVE clients across ALL tiers (Core counted as 0). With 1-10 active clients you're in Bronze (0% discount). At 11 clients you cross into Silver (-10% on the full wholesale total). At 26 you cross into Gold (-15%). At 50+ you're Platinum (-20%).
Issue: I created a client but didn't save the temporary password. What now?
Solution: From the client detail page, click 'Re-issue temporary password'. A new password is generated and shown ONCE — copy it immediately. The previous password is invalidated. This action is logged in your Activity Log as an UPDATED USER event.
Issue: When does the monthly invoice fire?
Solution: 1st of every month at 03:00 UTC. The cron generates one invoice per active reseller covering the previous calendar month. If the run fails for any reason, FreeMaint operations is alerted via PostHog and Telegram and re-triggers the run manually — the @@unique constraint ensures no duplicate invoices.
Issue: I impersonated a client and the session expired. Did the client see anything?
Solution: No. Impersonation uses a separate JWT scoped to the client's tenant. When it expires (or you manually exit), the JWT is invalidated and you're returned to your Reseller Console. The client never sees the impersonation event in their own session — only the entry in your reseller activity log captures it.
Issue: My client wants to leave. How do I cancel their subscription?
Solution: From the client detail page, click 'Suspend'. This sets the subscription to CANCELLED, deactivates the user logins, and excludes the client from your next monthly invoice. Suspension is reversible by FreeMaint ops within 90 days. After 90 days, the data is permanently deleted per GDPR.
Issue: Can a client see they're using a white-labelled FreeMaint?
Solution: If your tier is Enterprise and you have full custom branding enabled, your clients see your logo, color and company name everywhere — and 'Powered by FreeMaint' can be hidden. Smaller tiers always show 'Powered by FreeMaint' in the footer.
Issue: How is the volume discount calculated?
Solution: It applies to the TOTAL number of ACTIVE clients across ALL tiers (Core counted as 0). With 1-10 active clients you're in Bronze (0% discount). At 11 clients you cross into Silver (-10% on the full wholesale total). At 26 you cross into Gold (-15%). At 50+ you're Platinum (-20%).
Issue: I created a client but didn't save the temporary password. What now?
Solution: From the client detail page, click 'Re-issue temporary password'. A new password is generated and shown ONCE — copy it immediately. The previous password is invalidated. This action is logged in your Activity Log as an UPDATED USER event.
Issue: When does the monthly invoice fire?
Solution: 1st of every month at 03:00 UTC. The cron generates one invoice per active reseller covering the previous calendar month. If the run fails for any reason, FreeMaint operations is alerted via PostHog and Telegram and re-triggers the run manually — the @@unique constraint ensures no duplicate invoices.
From the Client Companies table, click 'View as' on any row to log in as the client's admin user. A yellow banner appears at the top with 'Exit impersonation' button. You see exactly what the client sees and can fix issues for them in-place. The impersonation session expires automatically after 15 minutes of inactivity — a warning toast fires at 14 minutes so you can extend.
When FreeMaint operations activates your reseller status, your company unlocks the Reseller Console (top-left sidebar) with five sections: Client Companies, Billing, Activity Log, Settings, and a Gold Partner badge for marketing. You can create unlimited client tenants, switch into any of them for support, see live wholesale billing, and download your partner badge.
Email contact@freemaint.com for any reseller-specific question. Mention 'reseller' in the subject line to route it to the partnership team. We aim for a response within one business day.
From the client detail page, you cannot yet change the tier via the UI directly — use the API or contact FreeMaint operations. The wholesale rate updates immediately and appears on next month's invoice line for that client. Downgrade is allowed but features the client was using on the old tier will become gated.
FreeMaint CMMS
© 2026 FreeMaint. All rights reserved.