# Plock > Plock is a subscription and usage-based billing platform for B2B SaaS and service companies. It handles the full quote-to-cash cycle: quoting, subscription management, automated invoicing, ERP dispatch, and revenue reporting — in a single platform. Website: https://www.plock.io Plock connects to your databases and data sources to pull consumption data, maps your schema using AI, and turns usage metrics into billable products. It generates invoices automatically based on subscriptions and usage, and projects revenue for the current month updated continuously as data arrives. **Core domain model**: Customers (your end clients) → Subscriptions (billing arrangements) → Subscription items (products + price plans) → Invoices (generated automatically per billing period). ## Pricing models Plock supports fixed fees, usage-based pricing, and hybrid models on the same subscription. **Fixed pricing**: A recurring fee charged regardless of usage. No usage data required. **Usage-based pricing (metered)**: Customers pay based on consumption. Four tier modes control how rates are applied: - **Graduated**: Each tier's rate applies only to usage within that tier's range. All applicable tiers accumulate. - **Volume — from start**: The matched tier's rate applies to all units from the first (volume discount). - **Volume — from 2nd tier**: Like volume, but the first tier acts as a free allowance; the matched rate applies only above that threshold. - **Bulk — by tier**: The matched tier's rate applies only to usage within that tier's range. Within each tier: per-unit amount, flat fee, or both combined. Tiers can optionally bill in block increments (e.g. per 100 API calls, rounded up). Multiple price plans can exist per product (e.g. standard plan and enterprise plan), and plans can be priced in different currencies. ## Subscription management A subscription links a customer to products and agreed prices. Key properties: **States**: Active, Draft, Paused Revenue Collection, Ended. **Billing timing**: In Advance (charged at period start) or In Arrears (charged at period end). Both fixed and metered products support either. A single subscription can mix both — e.g. annual licence in advance plus monthly usage in arrears. **Billing intervals**: Monthly, quarterly (3 months), 6 months, annual, or custom (e.g. every 2 months). **Billing period modes**: Calendar Month (periods align to calendar months) or Continuous (periods follow the subscription start date). **Proration**: When a subscription starts mid-period, the first invoice is automatically prorated to cover only the days from the start date. **Price indexation**: Subscriptions can have automatic annual price increases (a date + percentage). Applied automatically on the configured date each year. **Minimum commitment**: A guaranteed minimum per billing period. If calculated total falls below the minimum, the minimum is charged instead; usage above it is billed as overage. **Rebates**: Percentage or fixed-amount discounts at subscription or item level, with optional expiry dates. **Scheduled changes**: Future-dated changes (plan, quantity, price, rebate, add/remove items, end date). Applied automatically on the scheduled date. A compensation invoice is generated if needed for in-advance subscriptions. **Group billing**: A master account can have child accounts. When billing periods and practices match, child subscriptions are invoiced in a single coordinated run, each with its own invoice linked to the master. **Pause revenue collection**: Stop invoicing without cancelling. Charges accrue internally; on resume, a single invoice covers the accrued period. **Cancellation period**: A configurable notice period (e.g. 3 months) tracked on the subscription. ## Invoicing and accounting **Invoice types**: In Arrears, In Advance, Overage (when usage exceeds minimum commitment), One-off (ad-hoc charges), Credit, Adjustment (compensation when a scheduled change affects an already-invoiced period). **ERP integrations** — invoices are dispatched automatically to: - Fortnox (Swedish accounting) - Microsoft Business Central - Netvisor (Finnish accounting) - Kleer (accounting gateway) Auto-dispatch can be enabled per subscription with an optional minimum invoice amount threshold. **Accruals**: When configured, Plock sends accrual schedules alongside invoices to the ERP for correct revenue recognition. Deferred revenue (billed in advance) and accrued revenue (billed in arrears) are both supported. **Invoice tracking**: Real-time payment status (unpaid, paid, overdue, collected, credited, cancelled), due dates, and full audit trail. **Invoice splitting**: Invoices can be split across cost centres or legal entities. ## Quote management The Quote module (optional) allows sales to create detailed offers that convert directly into subscriptions when signed. **Quote states**: Draft → Awaiting Approval (if discount exceeds limit) → Approval Approved/Rejected → Awaiting Response (sent to client) → Signed / Rejected. **Contents**: Products and price plans, quantities, rebates, one-off charges (e.g. onboarding fees), contract terms (start date, length, billing interval, renewal interval, notice period), and currency. **Approval workflow**: Quotes exceeding a configured discount limit require manager approval before being sent. Each approver has a maximum rebate they can authorise. **Value summaries**: Total value, committed value (fixed + committed metered), usage-based value, one-off total, and ARR — both pre- and post-rebate. **HubSpot integration**: Quotes can be created from HubSpot deals. Quote and deal values stay in sync. When the deal is marked Closed Won, Plock creates the subscription automatically. **Subscription creation**: When a quote is signed, Plock creates an active subscription with all terms, pricing, and one-off charges carried over. ## Revenue intelligence (Expand module) The Expand module (optional) monitors usage patterns and surfaces actionable signals daily: - **Churn risk**: Sustained usage decline over 2+ weeks — prompts proactive outreach. - **Upsell opportunity**: Sustained usage growth over 2+ weeks — customer may be ready for a higher tier. - **Usage spike**: Exceptional single-day increase compared to normal patterns. - **Usage drop**: Exceptional single-day decrease compared to normal patterns. Signal thresholds are tuned per account based on feedback (helpful / not helpful). Signals are delivered in-platform and optionally via Slack. Expand also tracks per-product adoption scores per account. ## Reporting and metrics All reports run on a rolling 13-month basis. **Revenue metrics**: - **MRR** (Monthly Recurring Revenue): Actual recurring revenue billed in a given month. Changes when billing starts, changes, or stops. - **CMRR** (Contracted MRR): Revenue from signed agreements, including future changes. Appears when a deal is signed, not when billing starts. - **ARR** = MRR × 12. **CARR** = CMRR × 12. - **FMRR** (Forecasted MRR): Projected usage revenue from historical patterns. Two methods: trailing average or linear trend. Each forecast includes a confidence level. - **EMRR** (Estimated MRR) = CMRR + FMRR. For future months: the most complete forward estimate. For past months: equals actual MRR. - **EARR** = EMRR × 12. **Movement metrics** (how revenue changed month-over-month): New, Expansion, Contraction, Churn. Available for both MRR and CMRR families. Filterable by account or product. **Retention metrics**: - **NRR %**: Revenue retained or grown from existing accounts (>100% = net expansion). - **GRR %**: Revenue retained excluding expansion (always ≤100%). **Usage health distribution**: Categorises accounts as under-utilising (<40% of plan), healthy (40–80%), or over-utilising (>80%). **Total billings**: Total invoiced amount per month (differs from MRR — e.g. an annual prepayment creates a large one-month billing event). **Exportable reports** (CSV): MRR, CMRR, Revenue, Snapshots, SaaS Metrics, Projections, Account Balance, Cash Collection forecast, MRR/CMRR/Usage per account per month. ## Data sources Plock pulls usage data from your existing systems using three methods: - **Direct connect**: Plock connects directly to your database with credentials you provide. - **Database agent**: An open-source agent runs in your cloud environment and communicates with Plock — used when your database is behind a firewall or VPC. - **API push**: Send usage data programmatically via the Plock REST API. **Supported databases/sources**: MySQL, PostgreSQL, Microsoft SQL Server, MongoDB, Snowflake, Google BigQuery, Amazon Redshift, REST APIs, GraphQL APIs. After connecting, Plock's AI maps your database schema in plain language. Non-developers can identify which tables represent usage metrics and turn them into billable products with no coding. **Blueprints**: The query/instruction attached to a product that tells Plock how to fetch usage data. Blueprint types: SQL, JSON extraction, MongoDB aggregation. Aggregation types: sum, max, min, average. Blueprints use macros (`{customer_id}`, `{start}`, `{end}`) to scope queries to the right customer and billing period. ## Integrations - **HubSpot** (CRM): Bidirectional. Companies → Accounts, Deals → Quotes, Closed Won deals → Subscriptions. Custom field mappings configurable. - **Fortnox** (ERP): Invoice dispatch + automatic accrual schedules. OAuth connection. - **Microsoft Business Central** (ERP): Invoice posting. Multi-environment/multi-market supported. - **Netvisor** (ERP): Invoice dispatch for Finnish accounting. - **Kleer** (accounting gateway): Routes invoices to various accounting systems. - **Planhat** (CSM): Pulls company data from Planhat to enrich Plock account records. - **Slack**: Billing alerts, Expand signals, agent status notifications. ## Security and compliance - Multi-factor authentication required on all production systems. - Role-based access control (RBAC) for user permissions within the platform. - API access via OAuth2 with scoped tokens. - GDPR: privacy policy at https://www.plock.io/privacy-policy.html ## API Plock provides a public REST API following the JSON:API specification for customer integrations. It supports subscriptions, invoices, invoice items, and subscription items. Authentication uses OAuth2 scoped tokens. Usage data can also be pushed via the API to avoid direct database connections where not feasible.