Smokeball · Schema

Smokeball Invoice

LegalLaw FirmPractice ManagementMattersContactsDocumentsBillingTrust AccountingTime Tracking

Properties

Name Type Description
href string
relation string
method string
self object
id string The unique identifier of the invoice.
versionId string The unique identifier representing the current version of the invoice.
matter object A link to the matter associated with the invoice.
matterId string The unique identifier of the matter this invoice belongs to.
lastUpdatedByUserId string The unique identifier of the user who last updated the invoice.
description string A short description of the invoice contents or purpose.
status object The status of the invoice. Possible values: Draft = 0, Final = 1, Paid = 2, Deleted = 3 or Void = 4.
invoiceNumber integer The sequential number assigned to the invoice.
invoiceTitle string The main title of the invoice.
invoiceTitleLine2 string The optional second line of the invoice title.
issuedDate string The date the invoice was issued.
dueDate string The date by which payment for the invoice is due.
paidDate string The date the invoice was fully paid. Only populated if the invoice has been paid in full.
discount object The discount configuration for the invoice (e.g., fixed or percentage). See InvoiceTotals.Discount for the actual amount discounted.
surcharge object The surcharge configuration for the invoice (e.g., fixed or percentage).
debtors array The list of debtors associated with this invoice.
entries array The individual entries (fees or expenses) included in the invoice.
waived boolean Indicates whether the invoice has been waived.
invoiceTotals object The calculated totals for the invoice, including billed, paid, unpaid, tax, interest, discounts, etc.
View JSON Schema on GitHub

JSON Schema

smokeball-invoice.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.github.io/smokeball/json-schema/smokeball-invoice.json",
  "title": "Smokeball Invoice",
  "type": "object",
  "properties": {
    "href": {
      "type": "string",
      "nullable": true
    },
    "relation": {
      "type": "string",
      "nullable": true
    },
    "method": {
      "type": "string",
      "default": "GET",
      "nullable": true
    },
    "self": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Link"
        }
      ],
      "nullable": true
    },
    "id": {
      "type": "string",
      "description": "The unique identifier of the invoice.",
      "nullable": true,
      "example": "16567e88-784c-470e-8952-e5a70fe2eb0c"
    },
    "versionId": {
      "type": "string",
      "description": "The unique identifier representing the current version of the invoice.",
      "nullable": true,
      "example": "39ffde97-eeeb-4747-bb8f-7c7c10b3c985"
    },
    "matter": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Link"
        }
      ],
      "description": "A link to the matter associated with the invoice.",
      "nullable": true
    },
    "matterId": {
      "type": "string",
      "description": "The unique identifier of the matter this invoice belongs to.",
      "nullable": true,
      "example": "6398a045-509e-49a2-9268-bb8231fa9340"
    },
    "lastUpdatedByUserId": {
      "type": "string",
      "description": "The unique identifier of the user who last updated the invoice.",
      "nullable": true,
      "example": "5fc5ee85-6643-4623-b019-a0dccceafe47"
    },
    "description": {
      "type": "string",
      "description": "A short description of the invoice contents or purpose.",
      "nullable": true,
      "example": "Services provided."
    },
    "status": {
      "allOf": [
        {
          "$ref": "#/components/schemas/InvoiceStatus"
        }
      ],
      "description": "The status of the invoice.\r\n\r\nPossible values: Draft = 0, Final = 1, Paid = 2, Deleted = 3 or Void = 4.",
      "example": 0
    },
    "invoiceNumber": {
      "type": "integer",
      "description": "The sequential number assigned to the invoice.",
      "format": "int64",
      "nullable": true,
      "example": 10001
    },
    "invoiceTitle": {
      "type": "string",
      "description": "The main title of the invoice.",
      "nullable": true,
      "example": "My First Invoice"
    },
    "invoiceTitleLine2": {
      "type": "string",
      "description": "The optional second line of the invoice title.",
      "nullable": true,
      "example": "Subtitle"
    },
    "issuedDate": {
      "type": "string",
      "description": "The date the invoice was issued.",
      "format": "date-time",
      "example": "2022-09-16T00:00:00+00:00"
    },
    "dueDate": {
      "type": "string",
      "description": "The date by which payment for the invoice is due.",
      "format": "date-time",
      "example": "2022-09-25T00:00:00+00:00"
    },
    "paidDate": {
      "type": "string",
      "description": "The date the invoice was fully paid.\r\n\r\nOnly populated if the invoice has been paid in full.",
      "format": "date-time",
      "example": "2022-09-20T00:00:00+00:00"
    },
    "discount": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Discount"
        }
      ],
      "description": "The discount configuration for the invoice (e.g., fixed or percentage).\r\n\r\nSee InvoiceTotals.Discount for the actual amount discounted.",
      "nullable": true
    },
    "surcharge": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Surcharge"
        }
      ],
      "description": "The surcharge configuration for the invoice (e.g., fixed or percentage).",
      "nullable": true
    },
    "debtors": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/Debtor"
      },
      "description": "The list of debtors associated with this invoice.",
      "nullable": true
    },
    "entries": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/InvoicedMatterEntryItem"
      },
      "description": "The individual entries (fees or expenses) included in the invoice.",
      "nullable": true
    },
    "waived": {
      "type": "boolean",
      "description": "Indicates whether the invoice has been waived.",
      "example": false
    },
    "invoiceTotals": {
      "allOf": [
        {
          "$ref": "#/components/schemas/InvoiceTotals"
        }
      ],
      "description": "The calculated totals for the invoice, including billed, paid, unpaid, tax, interest, discounts, etc.",
      "nullable": true
    }
  },
  "additionalProperties": false
}