Invoice Desk
    Invoice Desk
    • Getting Started
    • Static Data
      • List currencies
        GET
      • List countries
        GET
      • List states
        GET
      • List cities
        GET
      • StaticDataController_testError
        GET
    • Company
      • List companies
        GET
      • Add Company
        POST
      • Update Company
        PATCH
      • Fetch details of a company by ID
        GET
      • Delete a company
        DELETE
      • Get all payments for a company
        GET
    • Client
      • List clients
        GET
      • Add client
        POST
      • Update a client
        PATCH
      • Remove client
        DELETE
      • Get client details
        GET
    • Invoice
      • List invoices
        GET
      • Create invoice
        POST
      • Get invoice by ID
        GET
      • Update invoice
        PATCH
      • Delete a specific invoice
        DELETE
      • Import invoices
        POST
      • Export invoice
        GET
      • Send invoice
        POST
    • Invoice Payments
      • Record payment for invoice
      • Get payments for invoice
    • Product
      • List products
      • Add product
      • Update a product
      • Remove a product
    • Account
      • Get account details
      • Update account details
    • Project
      • List projects
      • Create a project
      • Get project by ID
      • Update a project
      • Remove a project
    • Company Settings
      • Create a new tax
      • Get company invoice settings
    • Timesheet
      • Get time entries for a project
      • Create a timesheet
      • Update
      • Delete
    • Role
      • List roles
    • User Profile
      • Fetch auth user profile
      • Update user profile

    Company

    Invoice Desk supports multi-company management, allowing users to operate multiple organizations from a single account. This is especially useful to manage billing and operations across different business entities.
    Each company acts as an isolated workspace—data like clients, invoices, products, timesheets, and projects are scoped specifically to the selected company. This ensures a clear separation of records, enabling accurate reporting, cleaner bookkeeping, and better organization.
    Key Capabilities
    Create and manage multiple companies under a single user account.
    Switch between companies easily via API or UI.
    All major resources (e.g., invoices, projects, time entries) are scoped by company to maintain data isolation.
    API requests must include a valid company_id to access or manipulate any associated data.
    For Frontend Developers
    When building multi-company interfaces, ensure the selected company_id is passed with every API call. You can persist the current company context in app state and switch it on user request (e.g., via a company switcher dropdown).
    Examples:
    Show only clients, projects, and invoices related to the selected company.
    Load company-specific settings or branding on login or switch.
    For Backend Developers
    All API interactions are company-aware. You’ll need to include the company_id in requests that read or write data. This makes it easy to enforce boundaries, apply company-specific logic (e.g., invoice numbering rules), and maintain security.
    Suggested practices:
    Store the active company_id in session or access token metadata.
    Validate user access to a company before processing requests.
    Use company context when generating reports or syncing external data.
    Modified at 2025-05-14 07:31:55
    Previous
    StaticDataController_testError
    Next
    List companies
    Built with