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

    Invoice

    The Invoices API is the core of your billing workflow in Invoice Desk. It allows you to create, manage, and automate invoices for your clients—fully scoped to a specific company.
    In addition to the standard CRUD operations, the Invoices API also supports advanced actions like importing invoices in bulk, exporting to PDF, and emailing invoices directly to clients.
    Invoices are tightly integrated with other entities like clients, projects, and timesheets, ensuring accurate and traceable billing.
    Key Capabilities
    Full CRUD support for invoices (Create, Read, Update, Delete).
    Import invoices via JSON payload for fast onboarding or migration.
    Export invoices as PDF files with your company branding and formatting.
    Send invoices directly to client email addresses from within the platform.
    For Frontend Developers
    Display invoice lists, filtered by status (e.g., draft, sent, paid).
    Allow users to create or edit invoices using pre-filled data from timesheets or products.
    Trigger PDF export for download or preview.
    Integrate “Send to Client” functionality with minimal UI effort—just call the send endpoint.
    Best practices:
    Use optimistic UI updates after creation or sending.
    Cache invoice PDFs if preview is required before emailing.
    For Backend Developers
    Invoice creation and delivery are often part of larger workflows. Use the API to:
    Programmatically generate invoices based on time tracked or project milestones.
    Bulk import invoices via a JSON schema for migration or third-party integration.
    Schedule automated invoice sends or reminders.
    Ensure company_id and client_id are validated on every invoice action.
    Additional considerations:
    Sending an invoice triggers an email with an attachment of the PDF.
    Export endpoint returns a binary stream (PDF) for direct download or attachment.
    Modified at 2025-05-14 07:43:26
    Previous
    Get client details
    Next
    List invoices
    Built with