Contract

Zenskar is a flexible billing and revenue management system built to serve businesses of all sizes and across industries. It automates both invoicing and revenue recognition, enabling seamless compliance with accounting standards like ASC 606 and IFRS 15 for companies that require it. At the same time, Zenskar remains equally valuable for early-stage startups, service providers, or internal teams that may not need formal revenue recognition and instead use it purely as a robust billing engine. At the core of both workflows lies the concept of a contract, which defines the commercial terms that govern how invoices are generated and, when applicable, how revenue is recognized.

What is a contract

📗

Definition

A contract in Zenskar is a structured digital representation of a commercial agreement between you and your customer. It defines the products or services offered, their pricing, billing cadence, applicable taxes, discounts, and other relevant commercial details. This digital contract forms the foundation for operational and financial processes such as invoicing and revenue recognition.

Why is a contract needed

A contract acts as a single source of truth for how customers are billed and how revenue is recognized. It provides clarity on:

  • What is being sold
  • When and how it should be billed
  • The timing and pattern of revenue recognition (if applicable)
  • Auditability of financial processes

Whether or not your business is subject to financial reporting standards like ASC 606 or IFRS 15, having a structured contract ensures consistency, traceability, and automation in core revenue operations.

Components of a contract in Zenskar

In Zenskar, a contract consists of two primary types of components: products and features. These components define how a commercial agreement is configured for billing and revenue recognition purposes.

Products

A product represents the core offering being delivered to the customer. This could be a subscription, a usage-based service, or a one-time item. Products define the pricing model, billing frequency, and other key attributes that determine how charges are calculated.

Features

Features provide additional commercial terms or configuration settings that modify or enhance how the contract behaves. These components are configured per contract and work together to define the financial and operational behavior of the agreement throughout its lifecycle.

graph TD
  Contract["📄 Contract"]
  Phase["📆 Phase"]
  Product["📦 Product"]
  Feature["✨ Feature (e.g., Tax, Discount)"]

  Contract -->|"Includes one or more"| Phase
  Phase -->|"Contains one or more"| Product
  Phase -->|"Contains one or more"| Feature

style Contract fill:#90ee90,color:#000

Two workflows: billing-only and billing with revenue recognition

Zenskar is designed to support businesses at different stages of financial maturity by enabling two distinct workflows:

  1. Billing-only workflow
    This workflow is ideal for businesses—especially early-stage startups—that are focused on generating invoices and collecting payments. It handles pricing, billing frequency, invoicing, taxation, and discount application. Revenue recognition is triggered in the background but can be completely ignored if the business is not required to comply with accounting standards like ASC 606 or IFRS 15.

  2. Billing with revenue recognition workflow
    This workflow is intended for businesses that are required to comply with ASC 606 and IFRS 15. In addition to managing billing operations, Zenskar automatically carries out revenue recognition based on performance obligations, transaction price allocation, and other criteria defined in the contract. The system is built to support audit-readiness and financial compliance.

🟢

Note

Zenskar activates both workflows for a contract. While revenue recognition always runs in the background, businesses that are not subject to compliance standards can choose to disregard it.

These workflows offer flexibility, allowing businesses to scale their financial operations without changing tools or workflows as compliance needs evolve.

stateDiagram-v2
    [*] --> ContractCreated
    ContractCreated: Contract created
        ContractCreated --> BillingWorkflow : Billing terms defined
        ContractCreated --> RevenueWorkflow : Performance obligations identified

    BillingWorkflow: Billing workflow
    RevenueWorkflow: Revenue workflow

    %% Billing Workflow
    state BillingWorkflow {
        BillingScheduled --> InvoiceGeneratedAndSent : Invoice created and sent to customer
        InvoiceGeneratedAndSent --> PaymentPending : Awaiting payment
        PaymentPending --> PaymentReceived : Payment received
        PaymentReceived --> ReceiptIssued : Receipt issued
        ReceiptIssued --> [*]

        BillingScheduled: Billing scheduled
        InvoiceGeneratedAndSent: Invoice generated and sent
        PaymentPending: Payment pending
        PaymentReceived: Payment received
        ReceiptIssued: Receipt issued
    }

    %% Revenue Recognition Workflow
    state RevenueWorkflow {
        RevenuePlanCreated --> RevenueScheduleGenerated : Revenue schedule created
        RevenueScheduleGenerated --> RevenueRecognized : Revenue recognized on fulfilment of performance obligations
        RevenueRecognized --> [*]

        RevenuePlanCreated: Revenue plan created
        RevenueScheduleGenerated: Revenue schedule generated
        RevenueRecognized: Revenue recognized
    }


    %% Notes
    note right of ContractCreated
      Contract includes product, price, billing, and revenue terms.
    end note

    note left of RevenuePlanCreated
      Allocation of transaction price to performance obligations.
    end note

    note right of RevenueRecognized
      Revenue is recognized based on fulfilment of performance obligations.
    end note

    note right of ReceiptIssued
      Receipt confirms payment and closes the billing transaction.
    end note

Role of a contract in a billing-only workflow

For businesses that are not required to comply with ASC 606 or IFRS 15, the contract still plays a vital role:

  • It defines the commercial terms used to generate invoices
  • It drives the billing engine to calculate charges on a recurring or usage basis
  • It allows integration with systems like CPQ and ERP for a seamless quote-to-cash process

In this workflow, revenue recognition runs passively in the background but can be ignored without consequence. Businesses typically operate on a cash or simple accrual basis and use the contract primarily to automate invoicing and reporting.

Role of a contract in a billing with revenue recognition workflow

Revenue recognition must comply with ASC 606 or IFRS 15, depending on the accounting standards applicable to the business. ASC 606 is mandatory for entities reporting under U.S. GAAP, while IFRS 15 is required for those following international financial reporting standards. These are not optional guidelines but legally binding accounting standards that ensure transparency, consistency, and audit readiness in how revenue is reported..

  1. Identify the contract with a customer
  2. Identify the performance obligations in the contract
  3. Determine the transaction price
  4. Allocate the transaction price to performance obligations
  5. Recognize revenue as performance obligations are satisfied

Zenskar plays a key role in automating and managing steps 2 through 5. However, the first step—identifying whether a contract exists and meets the five ASC 606 criteria—is outside the scope of Zenskar.

Once a valid contract has been identified and created in Zenskar—either manually, via API, or through integrations—Zenskar takes over and executes the downstream revenue recognition process, ensuring accurate and audit-ready financial treatment of revenue based on the contract's commercial terms.

🚧

Note

Zenskar captures and manages the commercial structure of a contract, but it does not assess its legal enforceability.

How are contracts created in Zenskar

  stateDiagram-v2
    [*] --> Contract_Options
    Contract_Options: Available options for handling contracts in Zenskar

    Contract_Options --> Sync_Existing_Contracts : Option 1
    Sync_Existing_Contracts: Sync contracts

    Contract_Options --> Create_New_Contracts_Manually : Option 2
    Create_New_Contracts_Manually: Create contracts manually

    Contract_Options --> Create_New_Contracts_API : Option 3
    Create_New_Contracts_API: Create and configure contracts via Zenskar APIs

    Sync_Existing_Contracts --> Contracts_Available
    Create_New_Contracts_Manually --> Contracts_Available
    Create_New_Contracts_API --> Contracts_Available

    Contracts_Available: Your contracts are now available in Zenskar for billing and revenue management
    Contracts_Available --> [*]

    state Sync_Existing_Contracts {
        [*] --> Sync_In_Progress
        Sync_In_Progress --> Sync_Completed : Contracts synced successfully
        Sync_Completed --> [*] : Sync process completed
        Sync_In_Progress: Sync contracts from third-party systems (ERP, CRM, CPQ) using Zenskar's third-party integrations
        Sync_Completed: Contracts are now available in Zenskar
    }

    state Create_New_Contracts_Manually {
        [*] --> Contract_Creation
        Contract_Creation --> Contract_Ready : Contract created in Zenskar
        Contract_Ready --> [*] : Contract creation completed
        Contract_Creation: Create new contracts based on physical or electronic versions
        Contract_Ready: New contracts are ready for further processing
    }
    
    state Create_New_Contracts_API {
        [*] --> Contract_Creation_API
        Contract_Creation_API --> Contract_Ready_API : Contract created in Zenskar
        Contract_Ready_API --> [*] : Contract creation completed
        Contract_Creation_API: Create and configure contracts via Zenskar APIs
        Contract_Ready_API: New contracts are ready for further processing
    }

    note left of Contract_Options
        You can either sync existing contracts from third-party systems (ERP, CRM, or CPQ),
        or create new contracts based on physical contracts (hard copies) or electronic versions (PDFs).
    end note