Income

Money received (cash basis), including invoice payments.

MethodPathSummary
GET/api/companies/:companyId/incomeList income
GET/api/companies/:companyId/income/summaryIncome received in a tax year (cash basis): invoice payments + the log
POST/api/companies/:companyId/incomeRecord income
PUT/api/companies/:companyId/income/:idUpdate income
DELETE/api/companies/:companyId/income/:idDelete income

#List income

GET/api/companies/:companyId/income
Address
https://<your-org>.brambleit.cloud/simplebooks/api/companies/:companyId/income
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in).
Licence: SimpleBooks.

Path parameters

NameTypeDescription
companyIdrequiredinteger

Query parameters

NameTypeDescription
tax_yearany

Response 200

FieldTypeDescription
incomearray of object
income[].idinteger
income[].company_idinteger
income[].customer_idinteger, or null
income[].payerstring, or null
income[].received_onstring (date)
income[].tax_yearstring
income[].descriptionstring, or null
income[].grossnumber
income[].cis_deductednumber
income[].vatnumber
income[].netnumber
income[].referencestring, or null
income[].notesstring, or null
income[].created_byinteger, or null
income[].created_atstring (date-time)
income[].updated_atstring (date-time)
income[].deleted_atstring (date-time), or null
income[].customer_namestring
payersarray of any
Example response
JSON
{
  "income": [
    {
      "id": 42,
      "company_id": 7,
      "customer_id": 7,
      "payer": "string",
      "received_on": "2026-11-12",
      "tax_year": "string",
      "description": "string",
      "gross": 12.5,
      "cis_deducted": 12.5,
      "vat": 12.5,
      "net": 12.5,
      "reference": "string",
      "notes": "string",
      "created_by": 1,
      "created_at": "2026-11-12T09:30:00.000Z",
      "updated_at": "2026-11-12T09:30:00.000Z",
      "deleted_at": "2026-11-12T09:30:00.000Z",
      "customer_name": "Example customer name"
    }
  ],
  "payers": []
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/simplebooks/api/companies/1/income', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#Income received in a tax year (cash basis): invoice payments + the log

GET/api/companies/:companyId/income/summary
Address
https://<your-org>.brambleit.cloud/simplebooks/api/companies/:companyId/income/summary
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in).
Licence: SimpleBooks.

Path parameters

NameTypeDescription
companyIdrequiredinteger

Query parameters

NameTypeDescription
tax_yearany

Response 200

FieldTypeDescription
tax_yearany
Example response
JSON
{
  "tax_year": null,
  "…await taxreturn.incomeTo": "…"
}

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/simplebooks/api/companies/1/income/summary', {
  method: 'GET',
  credentials: 'include',
});
const data = await res.json();

#Record income

POST/api/companies/:companyId/income
Address
https://<your-org>.brambleit.cloud/simplebooks/api/companies/:companyId/income
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in).
Licence: SimpleBooks.

Path parameters

NameTypeDescription
companyIdrequiredinteger

Response 201

FieldTypeDescription
idinteger
Example response
JSON
{
  "id": 42
}

Errors

StatusMessage
400Unknown customer
400Who paid you?

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/simplebooks/api/companies/1/income', {
  method: 'POST',
  credentials: 'include',
});
const data = await res.json();

#Update income

PUT/api/companies/:companyId/income/:id
Address
https://<your-org>.brambleit.cloud/simplebooks/api/companies/:companyId/income/:id
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in).
Licence: SimpleBooks.

Path parameters

NameTypeDescription
companyIdrequiredinteger
idrequirednumber

Request body JSON

NameTypeDescription
received_onstring (date)
customer_idnumber
payerstring
descriptionstring
referencestring
notesstring
grossarray of any
cis_deductedany
vatany

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Errors

StatusMessage
404Not found

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/simplebooks/api/companies/1/income/12.5', {
  method: 'PUT',
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({"received_on":"2026-11-12","customer_id":12.5,"payer":"string","description":"string","reference":"string","notes":"string","gross":[],"cis_deducted":"…","vat":"…"}),
});
const data = await res.json();

#Delete income

DELETE/api/companies/:companyId/income/:id
Address
https://<your-org>.brambleit.cloud/simplebooks/api/companies/:companyId/income/:id
Requires
Signed-in browser session (the sso_session / session_id cookies from Bramble sign-in).
Licence: SimpleBooks.

Path parameters

NameTypeDescription
companyIdrequiredinteger
idrequirednumber

Response 200

FieldTypeDescription
okboolean
Example response
JSON
{
  "ok": true
}

Errors

StatusMessage
404Not found

Example request

JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/simplebooks/api/companies/1/income/12.5', {
  method: 'DELETE',
  credentials: 'include',
});
const data = await res.json();