Download OpenAPI specification:Download
The API reference lists all available endpoints for products Kashoo Cloud Accounting and TrulySmall Accounting. The endpoints are divided topically and have references on the product to make it easier for you to navigate through the docs.
Before you begin consuming our API, please remember to register for an account at https://app.kashoo.com.
Once registered, verified and logged in, you can visit your network log in your favourite browser and inspect the Authorization
http header. The contents
of the header should be in the structure:
TOKEN json:{
"authenticationCode":"asdasdasdasdasdadasdasdasda",
"expiryDate":1698789858551,
"locale":"default",
"myUserId":1231232,
"restriction":null,
"site":"app.kashoo.net"
}
Example of a curl command using the authorization
http header
$ curl 'https://app.kashoo.net/api/users/me' \
-H 'authority: app.kashoo.net' \
-H 'accept: application/json' \
-H 'accept-language: en-US,en;q=0.9' \
-H 'authorization: TOKEN json:{"authenticationCode":"asdasdasdad=","expiryDate":1698789858551,"locale":"default","myUserId":123456,"restriction":null,"site":"app.kashoo.net"}' \
-H 'cache-control: no-cache' \
-H 'cookie: ajs_user_id=33127134229; ajs_anonymous_id=%2254be0f28-28c8-458a-b2cf-c3644f28d151%22; intercom-device-id-ru1jzcf6=0f8a72d7-7970-4d61-9869-ba33ae902fe6; intercom-device-id-ozuis1bl=ed602266-4732-4748-9f0b-2459ddac5853; _ga_CY4PWDCG1M=GS1.1.1687542225.9.0.1687542225.60.0.0; _ga_PC87G4ED5E=GS1.1.1689609810.40.1.1689609926.0.0.0; CF_Authorization=eyJhbGciOiJSUzI1NiIsImtpZCI6Ijc4NjU2Mjk1ZmIyYzg2YjlhZDZmMjNkNWQ2NDcyMWNhMmJlYTA4MWI0ZTQ0MGNjYTJkYzM1MzU2ZmE4YzU1NTYifQ.eyJhdWQiOlsiYjQzYjc0ZmJlZjJhOWMxNmVmZTA5ZTAxMGE5YzNiMDUzZWM2NjhjOGQzODY4YjUyMmFkZGIzYzUyZDQ4ZWFmNSJdLCJlbWFpbCI6Im15a29uZS5zYXVuZGVyc0BrYXNob28uY29tIiwiZXhwIjoxNjk4MTg1MDQ4LCJpYXQiOjE2OTc1ODAyNDgsIm5iZiI6MTY5NzU4MDI0OCwiaXNzIjoiaHR0cHM6Ly9rYXNob28uY2xvdWRmbGFyZWFjY2Vzcy5jb20iLCJ0eXBlIjoiYXBwIiwiaWRlbnRpdHlfbm9uY2UiOiIzZjVsalpPaHNuU3k4bVl3Iiwic3ViIjoiMDI3NGIyYzQtYjQwMC00MGU3LWFjZjgtNmYwYmUxMzk0MzVhIiwiY291bnRyeSI6IkNBIn0.Mv8XCtNf5Vu3mazxv0HcV7Or9-lj_LmPHnS8PdqkxVBGnxYxkLGviQJ0uky4-QpyC5tJUV8uJu9WWlwCcJSiIqWBnUn7MzX5wM9FdzbivTonnhsn9n6yaFe2Umr4-MM4bTKkBWpQvVIvtjoc_1fCqfpsomyTF1I_o-ibL9GEcnubK13L1a2WhNj_M5Qiz78XKfc5y4YNSKDcskm5wCWV_HxXTlobVAMWGIoylTHsJehkzjiYR85j8liNITmTSDa4YcEv4ewUWoKfnOI8D6FLS1o_BjF_hIulJxpcRQmHWlNSpASqwwOggPXL13dHnijEVf0qBGcjpwqLAnTO-0rltA; books.auth="%7B%22authenticationCode%22%3A%22AyYz56icCUu5WkyY5tipKE9Y33s%3D%22%2C%22expiryDate%22%3A1698789858551%2C%22locale%22%3A%22default%22%2C%22myUserId%22%3A33127134229%2C%22restriction%22%3Anull%2C%22site%22%3A%22app.kashoo.net%22%7D"; _gcl_au=1.1.1070748686.1697580278; _gid=GA1.2.587057302.1697580278; _ga=GA1.2.336009730.1676480183; _ga_SCZS8PWQCV=GS1.1.1697733824.105.1.1697733859.0.0.0; ajs_group_id=; __tld__=' \
-H 'pragma: no-cache' \
-H 'referer: https://app.kashoo.net/tsb/business/33127134234/dashboard' \
-H 'sec-ch-ua: "Not/A)Brand";v="99", "Google Chrome";v="115", "Chromium";v="115"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'sec-ch-ua-platform: "macOS"' \
-H 'sec-fetch-dest: empty' \
-H 'sec-fetch-mode: cors' \
-H 'sec-fetch-site: same-origin' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36' \
-H 'vnd-kashoo-client-name: shoebox-web-app' \
-H 'vnd-kashoo-client-version: 09dbe5e' \
--compressed
The API endpoints also indicate which of our accounting products are supported by indicating one or both of the following product markers.
kashooKashoo Cloud Accounting (Our classic platform) tsaTrulySmall Accounting (Our leading-edge platform)
id | integer <int64> |
object (ContactInformationInfo) | |
staff | boolean |
betaTester | boolean |
accountingProfessional | boolean |
expireSessions | boolean |
useHighContrastStyle | boolean |
readOnly | boolean |
removed | boolean |
active | boolean |
verified | boolean |
object (TransferDate) | |
object (TransferDate) | |
object (TransferDate) | |
lastLogin | string <date-time> |
serviceProvider | integer <int64> |
serviceProviderAdmin | boolean |
allowSelectionOfNonStandardAccounts | boolean |
inviteCode | string |
string | |
name | string |
Array of objects (LinkInfo) |
Adds a new user to our system. This is an unverified user, meaning that we are not yet certain that they own the associated credentials. To make sure of this, a verification email is sent to user and permanent access is only granted if they click on the associated link.
first | string |
last | string |
string | |
password | string |
additionalParams | string Default: "" |
site | string |
lc | string Default: "en_US" |
duration | integer <int64> Default: 86400000 |
Adds a new user to the system. This is a verified user, which means that we assume that they are the owner of the passed in user credentials, and we do not need to send a verification email to them to make sure. This is useful in cases like iOS, Square, and oauth2, where the users have already verified with the associated provider.
first | string |
last | string |
string | |
password | string |
provider_name | string |
provider_access_token | string |
invite | string |
additionalParams | string Default: "" |
site | string |
lc | string Default: "en_US" |
duration | integer <int64> Default: 86400000 |
Gets a Subscription using an subscription ID or userID (fusionauth)
id | string ID of subscriptions |
subscriberId | string Subscriber ID |
Authorization required | string Example: Bearer foo |
{- "subscription": {
- "appId": "string",
- "expiresDate": "2019-10-12T07:20:50.520Z",
- "id": "string",
- "isSandbox": true,
- "originalPurchaseDate": "2019-10-12T07:20:50.520Z",
- "pauseDate": "2019-10-12T07:20:50.520Z",
- "platformProductId": "string",
- "purchaseDate": "2019-10-12T07:20:50.520Z",
- "resumeDate": "2019-10-12T07:20:50.520Z",
- "status": "string",
- "store": "string",
- "subscriberId": "string",
- "subscriptionApplication": "string",
- "unsubscribeDetectedAt": "2019-10-12T07:20:50.520Z",
- "userId": "string"
}
}
Creates a Subscription
Create Subscription Request
appId | string @inject_tag: json:"appId" |
originalId | string @inject_tag: json:"originalId" // original_transaction_id for Apple, OrderID for Google, subscription.id for chargebee |
platformProductId | string @inject_tag: json:"platformProductId" // productId for google , ie: com.trulysmall.invoices. PlanID for chargebee, ProductID for Apple |
purchaseToken | string @inject_tag: json:"purchaseToken" // Base64-encoded receipt data for App Store (Apple); Purchase Token for the Play Store (Google); hostedPageID for chargebee as it doesn't provide anything. |
store required | string @inject_tag: validate:"required" swaggertype:"string" |
subscriberId | string @inject_tag: json:"subscriberId" // businessId |
subscriptionApplication | string @inject_tag: json:"subscriptionApplication" swaggertype:"string" |
userEmail | string @inject_tag: json:"userEmail" |
userId | string @inject_tag: json:"userId" |
{- "appId": "string",
- "originalId": "string",
- "platformProductId": "string",
- "purchaseToken": "string",
- "store": "string",
- "subscriberId": "string",
- "subscriptionApplication": "string",
- "userEmail": "string",
- "userId": "string"
}
{- "subscription": {
- "appId": "string",
- "expiresDate": "2019-10-12T07:20:50.520Z",
- "id": "string",
- "isSandbox": true,
- "originalPurchaseDate": "2019-10-12T07:20:50.520Z",
- "pauseDate": "2019-10-12T07:20:50.520Z",
- "platformProductId": "string",
- "purchaseDate": "2019-10-12T07:20:50.520Z",
- "resumeDate": "2019-10-12T07:20:50.520Z",
- "status": "string",
- "store": "string",
- "subscriberId": "string",
- "subscriptionApplication": "string",
- "unsubscribeDetectedAt": "2019-10-12T07:20:50.520Z",
- "userId": "string"
}
}
Creates a new chargebee checkout window
Authorization required | string Example: Bearer foo |
New Checkout
couponId | Array of strings @inject_tag: json:"couponId" |
object (github_com_Kashoo_accounting-api-gateway_internal_common_proto_serverpbv3.ChargeBeeCustomer) | |
subscriberId required | string @inject_tag: json:"subscriberId" validate:"required" // fusionauth ID |
subscriptionApplication required | string @inject_tag: json:"subscriptionApplication" swaggertype:"string" validate:"required" |
subscriptionPlanId required | string @inject_tag: json:"subscriptionPlanId" validate:"required" |
userId required | string @inject_tag: json:"userId" validate:"required" |
{- "couponId": [
- "string"
], - "customer": {
- "city": "string",
- "country": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "line1": "string",
- "line2": "string",
- "locale": "string",
- "stateCode": "string",
- "zip": "string"
}, - "subscriberId": "string",
- "subscriptionApplication": "string",
- "subscriptionPlanId": "string",
- "userId": "string"
}
{- "checkoutInfo": [
- 0
], - "content": [
- 0
], - "createdAt": 0,
- "embed": true,
- "expiresAt": 0,
- "failureReason": "string",
- "id": "string",
- "object": "string",
- "passThruContent": "string",
- "resourceVersion": 0,
- "state": "string",
- "type": "string",
- "updatedAt": 0,
- "url": "string"
}
Creates a new chargebee portal session
Authorization required | string Example: Bearer foo |
New portal session
subscriberId | string @inject_tag: json:"subscriberId" // fusionauth ID |
subscriptionApplication | string @inject_tag: json:"subscriptionApplication" swaggertype:"string" |
{- "subscriberId": "string",
- "subscriptionApplication": "string"
}
{- "accessUrl": "string",
- "createdAt": 0,
- "customerId": "string",
- "expiresAt": 0,
- "id": "string",
- "loginAt": 0,
- "loginIpAddress": "string",
- "logoutAt": 0,
- "logoutIpAddress": "string",
- "object": "string",
- "redirectUrl": "string",
- "status": "string",
- "token": "string"
}
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
removed | boolean |
type | string |
contacts | Array of integers <int64> [ items <int64 > ] |
Providing version == 2 will return a TaxCompositeInfo, else a LegacyTaxInfo
business_id required | integer <int64> |
version | integer <int32> |
[- {
- "id": 0,
- "business": 0,
- "name": "string",
- "description": "string",
- "lazyRounding": true,
- "system": true,
- "removed": true,
- "archived": true,
- "canBeRegistered": true,
- "canBeRecovered": true,
- "registeredDefault": true,
- "recoveredDefault": true,
- "rates": [
- {
- "id": 0,
- "tax": 0,
- "rate": 0,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "compound": true,
- "archived": true,
- "removed": true,
- "regions": [
- {
- "id": 0,
- "country": "string",
- "provinceOrState": "string",
- "currency": "string",
- "isoCode": "string",
- "callingCode": "string",
- "empty": true
}
], - "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}
}
], - "accounts": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "configuration": [
- {
- "id": 0,
- "businessTaxAccountConfig": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "registered": true,
- "recoverable": true,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "registrationNumber": "string",
- "archived": true,
- "removed": true,
- "tax": 0,
- "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}, - "actualEndDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "business": 0
}
]
}
]
business_id required | integer <int64> |
[- {
- "id": 0,
- "business": 0,
- "name": "string",
- "description": "string",
- "lazyRounding": true,
- "system": true,
- "removed": true,
- "archived": true,
- "canBeRegistered": true,
- "canBeRecovered": true,
- "registeredDefault": true,
- "recoveredDefault": true,
- "rates": [
- {
- "id": 0,
- "tax": 0,
- "rate": 0,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "compound": true,
- "archived": true,
- "removed": true,
- "regions": [
- {
- "id": 0,
- "country": "string",
- "provinceOrState": "string",
- "currency": "string",
- "isoCode": "string",
- "callingCode": "string",
- "empty": true
}
], - "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}
}
], - "accounts": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "configuration": [
- {
- "id": 0,
- "businessTaxAccountConfig": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "registered": true,
- "recoverable": true,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "registrationNumber": "string",
- "archived": true,
- "removed": true,
- "tax": 0,
- "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}, - "actualEndDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "business": 0
}
]
}
]
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
type | string Enum: "ACCOUNTS_RECEIVABLE" "ACCOUNTS_PAYABLE" "BANK" "COST_OF_GOODS_SOLD" "CREDIT_CARD" "EQUITY" "EXPENSE" "FIXED_ASSET" "INCOME" "GAIN_OR_LOSS_ON_EXCHANGE" "LONG_TERM_LIABILITY" "OTHER_CURRENT_ASSET" "OTHER_CURRENT_LIABILITY" "OTHER_ASSET" "TAXES" "CASH" "RETAINED_EARNINGS" "PREPAID_EXPENSE" "CLIENT_CREDIT" "INVENTORY" "PAYROLL_TAX" |
description | string |
number | string |
standardTerms | string |
object (TransferDate) | |
object (TransferDate) | |
removed | boolean |
feed | integer <int64> |
readOnly | boolean |
taxNumber | integer <int64> |
taxAuthorityCode | string |
archived | boolean |
normalBalanceCredit | boolean |
system | boolean |
parent | integer <int64> |
nameAndNumber | string |
lastModified | integer <int64> |
Array of objects (LinkInfo) |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
removed | boolean |
type | string |
contacts | Array of integers <int64> [ items <int64 > ] |
Providing version == 2 will return a TaxCompositeInfo, else a LegacyTaxInfo
business_id required | integer <int64> |
version | integer <int32> |
[- {
- "id": 0,
- "business": 0,
- "name": "string",
- "description": "string",
- "lazyRounding": true,
- "system": true,
- "removed": true,
- "archived": true,
- "canBeRegistered": true,
- "canBeRecovered": true,
- "registeredDefault": true,
- "recoveredDefault": true,
- "rates": [
- {
- "id": 0,
- "tax": 0,
- "rate": 0,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "compound": true,
- "archived": true,
- "removed": true,
- "regions": [
- {
- "id": 0,
- "country": "string",
- "provinceOrState": "string",
- "currency": "string",
- "isoCode": "string",
- "callingCode": "string",
- "empty": true
}
], - "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}
}
], - "accounts": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "configuration": [
- {
- "id": 0,
- "businessTaxAccountConfig": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "registered": true,
- "recoverable": true,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "registrationNumber": "string",
- "archived": true,
- "removed": true,
- "tax": 0,
- "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}, - "actualEndDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "business": 0
}
]
}
]
business_id required | integer <int64> |
[- {
- "id": 0,
- "business": 0,
- "name": "string",
- "description": "string",
- "lazyRounding": true,
- "system": true,
- "removed": true,
- "archived": true,
- "canBeRegistered": true,
- "canBeRecovered": true,
- "registeredDefault": true,
- "recoveredDefault": true,
- "rates": [
- {
- "id": 0,
- "tax": 0,
- "rate": 0,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "compound": true,
- "archived": true,
- "removed": true,
- "regions": [
- {
- "id": 0,
- "country": "string",
- "provinceOrState": "string",
- "currency": "string",
- "isoCode": "string",
- "callingCode": "string",
- "empty": true
}
], - "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}
}
], - "accounts": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "configuration": [
- {
- "id": 0,
- "businessTaxAccountConfig": {
- "id": 0,
- "business": 0,
- "tax": 0,
- "payableAccount": 0,
- "receivableAccount": 0,
- "expenseAccount": 0,
- "archived": true
}, - "registered": true,
- "recoverable": true,
- "startDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "endDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "registrationNumber": "string",
- "archived": true,
- "removed": true,
- "tax": 0,
- "period": {
- "start": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "end": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}
}, - "actualEndDate": {
- "year": 0,
- "month": 0,
- "dayOfMonth": 0,
- "future": true,
- "past": true,
- "firstDayOfMonth": true,
- "monthEnum": "JANUARY",
- "lastDayOfMonth": true,
- "maxDayOfMonth": 0,
- "dayOfYear": 0,
- "leapYear": true
}, - "business": 0
}
]
}
]
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
type | string Enum: "ACCOUNTS_RECEIVABLE" "ACCOUNTS_PAYABLE" "BANK" "COST_OF_GOODS_SOLD" "CREDIT_CARD" "EQUITY" "EXPENSE" "FIXED_ASSET" "INCOME" "GAIN_OR_LOSS_ON_EXCHANGE" "LONG_TERM_LIABILITY" "OTHER_CURRENT_ASSET" "OTHER_CURRENT_LIABILITY" "OTHER_ASSET" "TAXES" "CASH" "RETAINED_EARNINGS" "PREPAID_EXPENSE" "CLIENT_CREDIT" "INVENTORY" "PAYROLL_TAX" |
description | string |
number | string |
standardTerms | string |
object (TransferDate) | |
object (TransferDate) | |
removed | boolean |
feed | integer <int64> |
readOnly | boolean |
taxNumber | integer <int64> |
taxAuthorityCode | string |
archived | boolean |
normalBalanceCredit | boolean |
system | boolean |
parent | integer <int64> |
nameAndNumber | string |
lastModified | integer <int64> |
Array of objects (LinkInfo) |
Gets a Subscription using an subscription ID or userID (fusionauth)
id | string ID of subscriptions |
subscriberId | string Subscriber ID |
Authorization required | string Example: Bearer foo |
{- "subscription": {
- "appId": "string",
- "expiresDate": "2019-10-12T07:20:50.520Z",
- "id": "string",
- "isSandbox": true,
- "originalPurchaseDate": "2019-10-12T07:20:50.520Z",
- "pauseDate": "2019-10-12T07:20:50.520Z",
- "platformProductId": "string",
- "purchaseDate": "2019-10-12T07:20:50.520Z",
- "resumeDate": "2019-10-12T07:20:50.520Z",
- "status": "string",
- "store": "string",
- "subscriberId": "string",
- "subscriptionApplication": "string",
- "unsubscribeDetectedAt": "2019-10-12T07:20:50.520Z",
- "userId": "string"
}
}
Creates a Subscription
Create Subscription Request
appId | string @inject_tag: json:"appId" |
originalId | string @inject_tag: json:"originalId" // original_transaction_id for Apple, OrderID for Google, subscription.id for chargebee |
platformProductId | string @inject_tag: json:"platformProductId" // productId for google , ie: com.trulysmall.invoices. PlanID for chargebee, ProductID for Apple |
purchaseToken | string @inject_tag: json:"purchaseToken" // Base64-encoded receipt data for App Store (Apple); Purchase Token for the Play Store (Google); hostedPageID for chargebee as it doesn't provide anything. |
store required | string @inject_tag: validate:"required" swaggertype:"string" |
subscriberId | string @inject_tag: json:"subscriberId" // businessId |
subscriptionApplication | string @inject_tag: json:"subscriptionApplication" swaggertype:"string" |
userEmail | string @inject_tag: json:"userEmail" |
userId | string @inject_tag: json:"userId" |
{- "appId": "string",
- "originalId": "string",
- "platformProductId": "string",
- "purchaseToken": "string",
- "store": "string",
- "subscriberId": "string",
- "subscriptionApplication": "string",
- "userEmail": "string",
- "userId": "string"
}
{- "subscription": {
- "appId": "string",
- "expiresDate": "2019-10-12T07:20:50.520Z",
- "id": "string",
- "isSandbox": true,
- "originalPurchaseDate": "2019-10-12T07:20:50.520Z",
- "pauseDate": "2019-10-12T07:20:50.520Z",
- "platformProductId": "string",
- "purchaseDate": "2019-10-12T07:20:50.520Z",
- "resumeDate": "2019-10-12T07:20:50.520Z",
- "status": "string",
- "store": "string",
- "subscriberId": "string",
- "subscriptionApplication": "string",
- "unsubscribeDetectedAt": "2019-10-12T07:20:50.520Z",
- "userId": "string"
}
}
Creates a new chargebee checkout window
Authorization required | string Example: Bearer foo |
New Checkout
couponId | Array of strings @inject_tag: json:"couponId" |
object (github_com_Kashoo_accounting-api-gateway_internal_common_proto_serverpbv3.ChargeBeeCustomer) | |
subscriberId required | string @inject_tag: json:"subscriberId" validate:"required" // fusionauth ID |
subscriptionApplication required | string @inject_tag: json:"subscriptionApplication" swaggertype:"string" validate:"required" |
subscriptionPlanId required | string @inject_tag: json:"subscriptionPlanId" validate:"required" |
userId required | string @inject_tag: json:"userId" validate:"required" |
{- "couponId": [
- "string"
], - "customer": {
- "city": "string",
- "country": "string",
- "email": "string",
- "firstName": "string",
- "lastName": "string",
- "line1": "string",
- "line2": "string",
- "locale": "string",
- "stateCode": "string",
- "zip": "string"
}, - "subscriberId": "string",
- "subscriptionApplication": "string",
- "subscriptionPlanId": "string",
- "userId": "string"
}
{- "checkoutInfo": [
- 0
], - "content": [
- 0
], - "createdAt": 0,
- "embed": true,
- "expiresAt": 0,
- "failureReason": "string",
- "id": "string",
- "object": "string",
- "passThruContent": "string",
- "resourceVersion": 0,
- "state": "string",
- "type": "string",
- "updatedAt": 0,
- "url": "string"
}
Creates a new chargebee portal session
Authorization required | string Example: Bearer foo |
New portal session
subscriberId | string @inject_tag: json:"subscriberId" // fusionauth ID |
subscriptionApplication | string @inject_tag: json:"subscriptionApplication" swaggertype:"string" |
{- "subscriberId": "string",
- "subscriptionApplication": "string"
}
{- "accessUrl": "string",
- "createdAt": 0,
- "customerId": "string",
- "expiresAt": 0,
- "id": "string",
- "loginAt": 0,
- "loginIpAddress": "string",
- "logoutAt": 0,
- "logoutIpAddress": "string",
- "object": "string",
- "redirectUrl": "string",
- "status": "string",
- "token": "string"
}
business_id required | integer <int64> |
inviteCode | string |
id | integer <int64> |
name | string |
description | string |
currency | string |
monthlyPrice | integer <int32> |
annualPrice | integer <int32> |
taxCode | string |
upgradePaymentAmount | integer <int32> |
selectable | boolean |
externalDescription | string |
numOfAdditionalUsers | integer <int32> |
expiryDays | integer <int32> |
free | boolean |
freeTrial | boolean |
paymentProcessorType | string Enum: "NONE" "BEANSTREAM" "APPLE" |
billingPlatform | string Enum: "D_BILLING" "ITUNES" "SQUARE" "AMAZON" "OFFLINE" "CHARGEBEE" "TRULYSMALL" |
delayOfInitialPaymentInDays | integer <int32> |
Lists the invoices that have been made on the business's current contract (plan).
business_id required | integer <int64> |
object (TransferDate) | |
object (TransferDate) | |
offset | integer <int32> |
limit | integer <int32> Default: 50 |
contact_id required | integer <int64> |
object (TransferDate) | |
object (TransferDate) | |
offset | integer <int32> Default: 0 |
limit | integer <int32> Default: 100 |
sortColumn | string |
sortOrder | string |
amountLe | integer <int64> |
amountGe | integer <int64> |
type | Array of strings Items Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
search | string |
contact_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
type | string Enum: "CUSTOMER" "VENDOR" "PARTNER" "OWNER" "GOVERNMENT" "OTHER" "EMPLOYEE" |
object (ContactInformationInfo) | |
linkedBusiness | integer <int64> |
receivableAccount | integer <int64> |
payableAccount | integer <int64> |
incomeOrExpenseAccount | integer <int64> |
defaultTaxCode | string |
paymentAccount | integer <int64> |
paymentTerms | string |
currency | string |
comments | Array of strings |
collaborationContext | integer <int64> |
prefix | string |
removed | boolean |
archived | boolean |
organization | boolean |
parent | integer <int64> |
groups | Array of integers <int64> [ items <int64 > ] |
string | |
phoneNumbers | string |
address | string |
name | string |
lastModified | integer <int64> |
You can pass form parameters email and password to send the username and password for login. You can also use HTTP Auth Basic to pass the username and password in the Authorization HTTP header, this will parse that and return the new auth token for you. To extend an existing token you can pass that in the Authorization header.
site | string |
lc | string Default: "en_US" |
duration | integer <int64> Default: 86400000 |
restriction | string |
string | |
password | string |
mfaCode | string |
provider | string |
authCode | string |
user_id required | integer <int64> |
uuid required | string |
{- "myUserId": 0,
- "expiryDate": "2019-08-24T14:15:22Z",
- "restriction": "string",
- "site": "string",
- "locale": "string",
- "authenticationCode": "string"
}
Retrieve basic details on the client app registered with the given public ID. Does not require authorization.
ClientAppDetails Request
clientId | string |
{- "clientId": "someid"
}
{- "clientId": "someid",
- "displayName": "someid",
}
Begins the login process to an external provider (e.g. Facebook) by storing and returning a state token.
Oauth2 External Login Request
clientAppId | string |
provider | string |
{- "clientAppId": "your.app.id",
- "provider": "Facebook"
}
Endpoint for logging in to the provider. Handles basic auth and external oauth2 providers.
Oauth2 Login Request
authCode | string |
provider | string |
{- "authCode": "No9ztZcyRYiyJ-x1Ab6vzLkWKPp8Goyiay8R3y3G/Yzo?0u-FzH1oNCOST98dDOJc?x=KnIx5B-QN=CkY429iJT5KH3tLdrBHTMI=OUcMGEwyEwzDPs2aKkG1eik5jW8f!XAdUlhFmkY-yM!Vh2Bwkm0VMYs!10dbt7mpPbzq2otgdlpHBG3H-2E8a5C5Mt/t?u1U1UYZuGYm5F2FG2TttQo7DI0sEzERWHMAZ5hOdx8BV!1IFSxjc64NID8XxUm",
- "provider": "kashoo"
}
Grant permission to access one or more of a user's businesses.
AccessTokenInfo
clientGrantId | string |
clientId | string |
creation | string |
expiration | string |
id | string |
revoked | string |
scope | string |
token | string |
userId | string |
{- "clientGrantId": "",
- "clientId": "",
- "creation": "2050-01-01T12:00",
- "expiration": "2050-01-01T12:00",
- "id": "",
- "revoked": "2050-01-01T12:00",
- "scope": "['','']",
- "token": "",
- "userId": ""
}
{- "clientGrantId": "1212121121",
- "clientId": "1212121121",
- "creation": "2020-01-10T12:30U",
- "expiration": "2020-01-10T12:30U",
- "id": "",
- "revoked": "2020-01-10T12:30U",
- "scope": [
- "[public private]"
], - "token": "1212121adasd24343dadsa",
- "userId": "foo"
}
account_id required | integer <int64> |
object (TransferDate) | |
object (TransferDate) | |
offset | integer <int32> Default: 0 |
limit | integer <int32> Default: 100 |
sortColumn | string |
sortOrder | string |
amountLe | integer <int64> |
amountGe | integer <int64> |
search | string |
account_id required | integer <int64> |
object (TransferDate) | |
object (TransferDate) | |
type | Array of strings Items Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
offset | integer <int32> Default: 0 |
limit | integer <int32> Default: 100 |
sortColumn | string |
sortOrder | string |
amountLe | integer <int64> |
amountGe | integer <int64> |
search | string |
contactId | integer <int64> |
account_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
type | string Enum: "ACCOUNTS_RECEIVABLE" "ACCOUNTS_PAYABLE" "BANK" "COST_OF_GOODS_SOLD" "CREDIT_CARD" "EQUITY" "EXPENSE" "FIXED_ASSET" "INCOME" "GAIN_OR_LOSS_ON_EXCHANGE" "LONG_TERM_LIABILITY" "OTHER_CURRENT_ASSET" "OTHER_CURRENT_LIABILITY" "OTHER_ASSET" "TAXES" "CASH" "RETAINED_EARNINGS" "PREPAID_EXPENSE" "CLIENT_CREDIT" "INVENTORY" "PAYROLL_TAX" |
description | string |
number | string |
standardTerms | string |
object (TransferDate) | |
object (TransferDate) | |
removed | boolean |
feed | integer <int64> |
readOnly | boolean |
taxNumber | integer <int64> |
taxAuthorityCode | string |
archived | boolean |
normalBalanceCredit | boolean |
system | boolean |
parent | integer <int64> |
nameAndNumber | string |
lastModified | integer <int64> |
Array of objects (LinkInfo) |
business_id required | integer <int64> |
offset | integer <int32> |
limit | integer <int32> Default: 0 |
type | Array of strings unique Items Enum: "ACCOUNTS_RECEIVABLE" "ACCOUNTS_PAYABLE" "BANK" "COST_OF_GOODS_SOLD" "CREDIT_CARD" "EQUITY" "EXPENSE" "FIXED_ASSET" "INCOME" "GAIN_OR_LOSS_ON_EXCHANGE" "LONG_TERM_LIABILITY" "OTHER_CURRENT_ASSET" "OTHER_CURRENT_LIABILITY" "OTHER_ASSET" "TAXES" "CASH" "RETAINED_EARNINGS" "PREPAID_EXPENSE" "CLIENT_CREDIT" "INVENTORY" "PAYROLL_TAX" |
archived | boolean |
Allows bulk deletion of shoebox items that match the specified query parameters.
items Request
account | string |
amountGe | integer Should be integer |
amountLe | integer Should be integer |
businessId required | string |
complete | boolean |
endDate | string |
ignored | boolean |
processed | boolean |
search | string |
sourceId | string |
sources | Array of strings |
startDate | string |
state | string |
types | Array of strings |
{- "account": "",
- "amountGe": 500,
- "amountLe": 10000,
- "businessId": "123456",
- "complete": true,
- "endDate": "2020-01-10T12:30U",
- "ignored": false,
- "processed": false,
- "search": "bill",
- "sourceId": "",
- "sources": [
- "['bank'",
- " 'internal']"
], - "startDate": "2020-01-10T12:30U",
- "state": "",
- "types": [
- "['invoice'",
- " 'bill']"
]
}
Gets one or more shoebox items as requested via the item id. The item ids are specified within the body of the request as a set of strings.
items Request
businessId required | string in: body |
{- "businessId": "123456"
}
Allows bulk deletion of shoebox items by shoebox id. The item ids are specified within the body of the request as a set of strings.
items Request
businessId required | string in: body |
{- "businessId": "123456"
}
Queries specifically for shoebox items that originated from a bank import. The semantics of this search are slightly different.
items Request
account | string |
businessId required | string |
limit | string |
offset | string |
{- "account": "",
- "businessId": "123456",
- "limit": "25",
- "offset": "1"
}
This takes the items from the processed state back to the ready state. The normal form is recalcualted and the matches are queried for again. This call is idempotent. This is called when the user would like to undo a post and have the item go through the process workflow again.
items Request
businessId required | string in: body |
{- "businessId": "123456"
}
Although the books api and web app will already create the appropriate books record and process the primary shoebox item, this method updates all of the associated shoebox items accordingly. This includes processing the secondary shoebox items and writing the appropriate matching metadata.
items Request
businessId required | string |
shoeboxItemId required | string |
{- "businessId": "123456",
- "shoeboxItemId": "123456"
}
Gets the shoebox items for a given business. Includes several optional filter arguments for narrowing down the list of shoebox items.
businessId required | string Business ID |
items Request
account | string |
amountGe | integer Should be integer |
amountLe | integer Should be integer |
businessId required | string |
consistent | boolean |
endDate | string |
exclude | string |
ignored | boolean |
limit | string |
nonBankFeed | boolean |
offset | string |
order | string |
processed | boolean |
search | string |
sort | string |
sourceId | string |
sources | Array of strings |
startDate | string |
state | string |
types | Array of strings |
{- "account": "",
- "amountGe": 500,
- "amountLe": 10000,
- "businessId": "123456",
- "consistent": false,
- "endDate": "2020-01-10T12:30U",
- "exclude": "",
- "ignored": false,
- "limit": "25",
- "nonBankFeed": true,
- "offset": "1",
- "order": "asc",
- "processed": false,
- "search": "bill",
- "sort": "date",
- "sourceId": "",
- "sources": [
- "['bank'",
- " 'internal']"
], - "startDate": "2020-01-10T12:30U",
- "state": "",
- "types": [
- "['invoice'",
- " 'bill']"
]
}
Upserts a set of shoebox items for a business. This either creates each shoebox item or updates the item data if it already exists. The change handlers are then run on each item to calculate their normal forms and make match suggestions. The endpoint is synchronous so that the caller can wait for the results to complete if that's important.
businessId required | string Business ID |
ShoeboxItemInfo[]
data | string The data of the shoebox item stored as a json document. |
previousData | string Any previous versions of the data. |
received | string The datetime that the item was received. |
source | string The source of the item, ex: "yodlee". |
sourceId | string The id assigned to the item by the source. |
state | string The state of the shoebox item ("processed", "ready"). |
type required | string The type of item ("bank", "import"). |
{- "data": "{\"custom\":\"data\"}",
- "previousData": "{\"custom\":\"data-v0\"}",
- "received": "2020-01-10T12:30U",
- "source": "yodlee, upload",
- "sourceId": "dd2232",
- "state": "processed",
- "type": "bank"
}
This is similar to the upsertItems call except that items are deduplicated against other bank items. This is important for bank feeds because the bank feed providers do not send only new items and instead we have to retrieve overlapping date ranges each day. In addition, a bank feed could be reconnected to an existing account.
businessId required | string Business ID |
items Request
businessId required | string in: body |
{- "businessId": "123456"
}
Note: there exists a PUT endpoint in the RecordResource as well. This is an older one that has to be maintained as well.
business_id required | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
description | string |
memo | string |
exchangeRate | number <double> |
contact | integer <int64> |
currency | string |
account | integer <int64> |
object (TransferDate) | |
collaborationContext | integer <int64> |
number | string |
contactName | string |
removed | boolean |
readOnly | boolean |
homeCurrency | string |
project | integer <int64> |
projectName | string |
creation | string <date-time> |
lastModified | string <date-time> |
inboxReference | string |
Array of objects (AdjustmentInfo) | |
foreignCurrency | boolean |
type | string Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
allowZeroAmounts | boolean |
Array of objects (RecordAttachmentInfo) | |
Array of objects (LinkInfo) |
record_id required | integer <int64> |
to | string |
cc | string |
bcc | string |
message | string |
processor | string |
preview | boolean |
previewType | string |
attachments | Array of strings |
template | string |
Lists all of the categorization rules that a business has created.
businessId required | string Business ID |
limit | string max nubmers of rules to return |
offset | string the starting offset to return the rules from |
ListRulesRequest
{ }
{- "rules": [
- {
- "accountNumber": "string",
- "category": "string",
- "merchant": "string",
- "taxes": [
- "string"
]
}
]
}
Accepts a list of bank transactions as json and categorizes each one of them according to the business's rules.
businessId required | string Business ID |
CategorizeReuqest
Array of objects (github_com_Kashoo_accounting-api-gateway_internal_common_proto_serverpbv2.TransactionData) |
{- "transactions": [
- {
- "data": {
- "type_url": "string",
- "value": [
- 0
]
}, - "source": 0
}
]
}
{- "account_number": "string",
- "account_tax_number": "string",
- "rule": {
- "category": "string",
- "merchant": "string"
}, - "taxes": [
- "string"
], - "transaction": {
- "category": "string",
- "merchant": "string"
}, - "transaction_id": "string"
}
Allows the user to delete an existing rule.
businessId required | string Business ID |
DeleteRuleRequest
category | string |
merchant | string |
{- "category": "string",
- "merchant": "string"
}
{- "code": 0,
- "detail": "string",
- "id": "string",
- "status": "string"
}
Allows the user to save an edit to an existing categorization rule. Used to edit the rules set up in the usual flow within the app.
businessId required | string Business ID |
SaveRuleRequest
accountNumber | string |
category | string |
merchant | string |
taxes | Array of strings |
{- "accountNumber": "string",
- "category": "string",
- "merchant": "string",
- "taxes": [
- "string"
]
}
{- "code": 0,
- "detail": "string",
- "id": "string",
- "status": "string"
}
Updates the categorization rule for a given transaction so that the next time that categorize is called, the indicated category is returned.
businessId required | string Business ID |
UpdateRulesRequest
account_number | string |
object (anypb.Any) | |
merchant | string |
source | integer (github_com_Kashoo_accounting-api-gateway_internal_common_proto_serverpbv2.Source) Enum: 0 1 |
taxes | Array of strings |
{- "account_number": "string",
- "data": {
- "type_url": "string",
- "value": [
- 0
]
}, - "merchant": "string",
- "source": 0,
- "taxes": [
- "string"
]
}
{- "code": 0,
- "detail": "string",
- "id": "string",
- "status": "string"
}
This is the same as accessing records with type=INVOICE.
business_id required | integer <int64> |
offset | integer <int32> |
limit | integer <int32> Default: 50 |
object (TransferDate) | |
object (TransferDate) | |
search | string |
amountGe | integer <int64> |
amountLe | integer <int64> |
exclude | string |
status | string |
object (TransferDate) | |
sortColumn | string |
sortOrder | string |
contactId | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
description | string |
memo | string |
exchangeRate | number <double> |
contact | integer <int64> |
currency | string |
account | integer <int64> |
object (TransferDate) | |
collaborationContext | integer <int64> |
number | string |
contactName | string |
removed | boolean |
readOnly | boolean |
homeCurrency | string |
project | integer <int64> |
projectName | string |
creation | string <date-time> |
lastModified | string <date-time> |
inboxReference | string |
Array of objects (PaymentAllocationIn) | |
terms | string |
object (TransferDate) | |
poNumber | string |
Array of objects (LegacyTaxEntryInfo) | |
totalDue | integer <int64> |
balanceDue | integer <int64> |
paid | boolean |
exchangePayment | boolean |
keepInOriginalCurrency | boolean |
balanceDueFormatted | string |
totalDueFormatted | string |
totalBeforeTaxes | integer <int64> |
Array of objects (RecordTaxAmount) | |
totalLocalDue | integer <int64> |
type | string Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
income | boolean |
totalPaid | integer <int64> |
paidInvoice | boolean |
totalPaidImmediately | integer <int64> |
totalPaidLater | integer <int64> |
allowZeroAmounts | boolean |
Array of objects (RecordAttachmentInfo) | |
foreignCurrency | boolean |
Array of objects (LineItemInfo) | |
Array of objects (LinkInfo) |
business_id required | integer <int64> |
offset | integer <int32> |
limit | integer <int32> Default: 50 |
object (TransferDate) | |
object (TransferDate) | |
search | string |
amountGe | integer <int64> |
amountLe | integer <int64> |
sortColumn | string |
sortOrder | string |
contactId | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
description | string |
memo | string |
exchangeRate | number <double> |
contact | integer <int64> |
currency | string |
account | integer <int64> |
object (TransferDate) | |
collaborationContext | integer <int64> |
number | string |
contactName | string |
removed | boolean |
readOnly | boolean |
homeCurrency | string |
project | integer <int64> |
projectName | string |
creation | string <date-time> |
lastModified | string <date-time> |
inboxReference | string |
unallocatedAmount | integer <int64> |
Array of objects (PaymentAllocationOut) | |
creditAccount | integer <int64> |
method | string |
amount | integer <int64> |
byCheck | boolean |
type | string Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
allowZeroAmounts | boolean |
Array of objects (RecordAttachmentInfo) | |
foreignCurrency | boolean |
Array of objects (LinkInfo) |
This is the same as accessing records with type=BILL_PAYMENT.
business_id required | integer <int64> |
offset | integer <int32> |
limit | integer <int32> Default: 50 |
object (TransferDate) | |
object (TransferDate) | |
search | string |
amountGe | integer <int64> |
amountLe | integer <int64> |
sortColumn | string |
sortOrder | string |
contactId | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
description | string |
memo | string |
exchangeRate | number <double> |
contact | integer <int64> |
currency | string |
account | integer <int64> |
object (TransferDate) | |
collaborationContext | integer <int64> |
number | string |
contactName | string |
removed | boolean |
readOnly | boolean |
homeCurrency | string |
project | integer <int64> |
projectName | string |
creation | string <date-time> |
lastModified | string <date-time> |
inboxReference | string |
unallocatedAmount | integer <int64> |
Array of objects (PaymentAllocationOut) | |
creditAccount | integer <int64> |
method | string |
amount | integer <int64> |
byCheck | boolean |
Array of objects (CheckRegistryInfo) | |
type | string Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
allowZeroAmounts | boolean |
Array of objects (RecordAttachmentInfo) | |
foreignCurrency | boolean |
Array of objects (LinkInfo) |
This is the same as accessing records with type=BILL.
business_id required | integer <int64> |
offset | integer <int32> |
limit | integer <int32> Default: 50 |
object (TransferDate) | |
object (TransferDate) | |
search | string |
amountGe | integer <int64> |
amountLe | integer <int64> |
exclude | string |
status | string |
object (TransferDate) | |
sortColumn | string |
sortOrder | string |
contactId | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
description | string |
memo | string |
exchangeRate | number <double> |
contact | integer <int64> |
currency | string |
account | integer <int64> |
object (TransferDate) | |
collaborationContext | integer <int64> |
number | string |
contactName | string |
removed | boolean |
readOnly | boolean |
homeCurrency | string |
project | integer <int64> |
projectName | string |
creation | string <date-time> |
lastModified | string <date-time> |
inboxReference | string |
Array of objects (PaymentAllocationIn) | |
terms | string |
object (TransferDate) | |
poNumber | string |
Array of objects (LegacyTaxEntryInfo) | |
totalDue | integer <int64> |
balanceDue | integer <int64> |
paid | boolean |
exchangePayment | boolean |
keepInOriginalCurrency | boolean |
balanceDueFormatted | string |
totalDueFormatted | string |
totalBeforeTaxes | integer <int64> |
Array of objects (RecordTaxAmount) | |
totalLocalDue | integer <int64> |
type | string Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
income | boolean |
totalPaid | integer <int64> |
paidInvoice | boolean |
totalPaidImmediately | integer <int64> |
totalPaidLater | integer <int64> |
allowZeroAmounts | boolean |
Array of objects (RecordAttachmentInfo) | |
foreignCurrency | boolean |
Array of objects (LineItemInfo) | |
Array of objects (LinkInfo) |
This is the same as accessing records with type=TRANSFER.
business_id required | integer <int64> |
offset | integer <int32> |
limit | integer <int32> Default: 50 |
object (TransferDate) | |
object (TransferDate) | |
search | string |
amountGe | integer <int64> |
amountLe | integer <int64> |
sortColumn | string |
sortOrder | string |
contactId | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
description | string |
memo | string |
exchangeRate | number <double> |
contact | integer <int64> |
currency | string |
account | integer <int64> |
object (TransferDate) | |
collaborationContext | integer <int64> |
number | string |
contactName | string |
removed | boolean |
readOnly | boolean |
homeCurrency | string |
project | integer <int64> |
projectName | string |
creation | string <date-time> |
lastModified | string <date-time> |
inboxReference | string |
depositAccount | integer <int64> |
depositCurrency | string |
amount | integer <int64> |
foreignCurrency | boolean |
type | string Enum: "INVOICE" "TRANSFER" "ADJUSTMENT" "BILL" "BILL_PAYMENT" "INVOICE_PAYMENT" "YEAR_END_ADJUSTMENT" "OPENING_BALANCE" |
allowZeroAmounts | boolean |
Array of objects (RecordAttachmentInfo) | |
Array of objects (LinkInfo) |
To create a batch of transactions with images which performs OCR on the images and save transaction details, follow the two steps below.
Call `POST /blob/:namespace/:businessid/`
and include multiple blobs in the payload.
Once the POST is successfull your response will contain a list of (name, uuid).
Example of response:
[{
"name": "JohnDoh__Flight_123456.pdf",
"uuid": "a77c4b48-28ba-4abe-b1e7-f2439cbe6e86"
}]
See Attachments > Blobstore > Upload multiple blobs for a given businessId
Call `PUT /shoebox/businesses/{businessId}/items`
to upsert (update if exists, create if new) shoebox items created by the previous POST blobstore call. Remember to use the blob's uuid as the `sourceId` and set the `source` field as "upload". This call will create transactions
, and they will be available in the Inbox (to review). These transactions must be posted manually.
See example payload below:
[{
type: "document",
source: "upload",
state: "ready",
sourceId: "550e8400-e29b-41d4-a716-446655440000", // uuid of the blob
received: "2020-10-12T12:00U",
data: {
size: 120000, // file size in bytes
mimeType: 'image/jpg',
filename: 'walmart-receipt.jpg',
lastModified: "2020-10-12T12:00U",
date: "2020-10-12T12:00U"
}
}
]
See Transactions > Shoebox > Upserts a set of shoebox items
ℹ️ Note
OCR usages may be subject to separate usage charges in the future.
feed_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
state | string Enum: "OK" "LOCKED_OUT" "NEEDS_EDIT" "REFRESHING" |
lastRefreshed | string <date-time> |
creationDate | string <date-time> |
displayName | string |
identifier | string |
provider | string Enum: "YODLEE" "PLAID" "DEMOFEED" |
errorCode | string |
errorMessage | string |
groupName | string |
refreshProgress | number <double> |
Array of objects (BankFeedAccountInfo) |
{- "id": 0,
- "business": 0,
- "state": "OK",
- "lastRefreshed": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "displayName": "string",
- "identifier": "string",
- "provider": "YODLEE",
- "errorCode": "string",
- "errorMessage": "string",
- "groupName": "string",
- "refreshProgress": 0,
- "bankFeedAccountInfos": [
- {
- "id": 0,
- "account": 0,
- "accountNumber": "string",
- "accountName": "string",
- "accountType": "BANK",
- "providerAccountId": "string",
- "lastRefreshed": "2019-08-24T14:15:22Z",
- "balance": 0,
- "currency": "string",
- "autoUpdateEnabled": true,
- "unlocked": true
}
]
}
business_id required | integer <int64> |
[- {
- "id": 0,
- "business": 0,
- "state": "OK",
- "lastRefreshed": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "displayName": "string",
- "identifier": "string",
- "provider": "YODLEE",
- "errorCode": "string",
- "errorMessage": "string",
- "groupName": "string",
- "refreshProgress": 0,
- "bankFeedAccountInfos": [
- {
- "id": 0,
- "account": 0,
- "accountNumber": "string",
- "accountName": "string",
- "accountType": "BANK",
- "providerAccountId": "string",
- "lastRefreshed": "2019-08-24T14:15:22Z",
- "balance": 0,
- "currency": "string",
- "autoUpdateEnabled": true,
- "unlocked": true
}
]
}
]
business_id required | integer <int64> |
locales | Array of strings |
customizationName | string |
language | string |
redirectUrl | string |
{- "expiration": "string",
- "link_token": "string"
}
business_id required | integer <int64> |
feed_id required | integer <int64> |
locales | Array of strings |
customizationName | string |
language | string |
redirectUrl | string |
{- "expiration": "string",
- "link_token": "string"
}
business_id required | integer <int64> |
publicToken | string |
{- "publicToken": "string"
}
{- "id": 0,
- "business": 0,
- "state": "OK",
- "lastRefreshed": "2019-08-24T14:15:22Z",
- "creationDate": "2019-08-24T14:15:22Z",
- "displayName": "string",
- "identifier": "string",
- "provider": "YODLEE",
- "errorCode": "string",
- "errorMessage": "string",
- "groupName": "string",
- "refreshProgress": 0,
- "bankFeedAccountInfos": [
- {
- "id": 0,
- "account": 0,
- "accountNumber": "string",
- "accountName": "string",
- "accountType": "BANK",
- "providerAccountId": "string",
- "lastRefreshed": "2019-08-24T14:15:22Z",
- "balance": 0,
- "currency": "string",
- "autoUpdateEnabled": true,
- "unlocked": true
}
]
}
business_id required | integer <int64> |
feed_id required | integer <int64> |
{- "url": "string",
- "jwt": "string",
- "params": {
- "providerAccountId": 0,
- "userExperienceFlow": {
- "property1": { },
- "property2": { }
}, - "dataset": [
- {
- "name": "string",
- "attribute": [
- {
- "name": "string",
- "container": [
- "string"
]
}
]
}
], - "flow": "string"
}
}
business_id required | integer <int64> |
feed_id required | integer <int64> |
{- "url": "string",
- "jwt": "string",
- "params": {
- "providerAccountId": 0,
- "userExperienceFlow": {
- "property1": { },
- "property2": { }
}, - "dataset": [
- {
- "name": "string",
- "attribute": [
- {
- "name": "string",
- "container": [
- "string"
]
}
]
}
], - "flow": "string"
}
}
business_id required | integer <int64> |
additionalStatus | string |
bankName | string |
fnToCall | string |
providerAccountId | integer <int64> |
providerId | integer <int64> |
requestId | string |
status | string |
operation | string |
{- "additionalStatus": "string",
- "bankName": "string",
- "fnToCall": "string",
- "providerAccountId": 0,
- "providerId": 0,
- "requestId": "string",
- "status": "string",
- "operation": "string"
}
Returns a list of currencies defined in our system. The main use of currency information is for formatting purposes, since this will tell you the number of decimal places, the type of decimal to use, and any prefix/suffix that are appropriate.
tax_id required | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
description | string |
lazyRounding | boolean |
system | boolean |
removed | boolean |
archived | boolean |
canBeRegistered | boolean |
canBeRecovered | boolean |
registeredDefault | boolean |
recoveredDefault | boolean |
Array of objects (TaxRateInfo) | |
object (BusinessTaxAccountConfigInfo) | |
Array of objects (BusinessTaxConfigInfo) |
rate_id required | integer <int64> |
createAccounts | boolean Default: false |
id | integer <int64> |
object (BusinessTaxAccountConfigInfo) | |
registered | boolean |
recoverable | boolean |
object (TransferDate) | |
object (TransferDate) | |
registrationNumber | string |
archived | boolean |
removed | boolean |
tax | integer <int64> |
object (Period) | |
object (TransferDate) | |
business | integer <int64> |
config_id required | integer <int64> |
rate_id required | integer <int64> |
createAccounts | boolean Default: false |
id | integer <int64> |
object (BusinessTaxAccountConfigInfo) | |
registered | boolean |
recoverable | boolean |
object (TransferDate) | |
object (TransferDate) | |
registrationNumber | string |
archived | boolean |
removed | boolean |
tax | integer <int64> |
object (Period) | |
object (TransferDate) | |
business | integer <int64> |
rate_id required | integer <int64> |
rate_id required | integer <int64> |
id | integer <int64> |
tax | integer <int64> |
rate | number <double> |
object (TransferDate) | |
object (TransferDate) | |
compound | boolean |
archived | boolean |
removed | boolean |
Array of objects (RegionInfo) | |
object (Period) |
rate_id required | integer <int64> |
id | integer <int64> |
tax | integer <int64> |
rate | number <double> |
object (TransferDate) | |
object (TransferDate) | |
compound | boolean |
archived | boolean |
removed | boolean |
Array of objects (RegionInfo) | |
object (Period) |
rate_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
description | string |
lazyRounding | boolean |
system | boolean |
removed | boolean |
archived | boolean |
canBeRegistered | boolean |
canBeRecovered | boolean |
registeredDefault | boolean |
recoveredDefault | boolean |
Array of objects (TaxRateInfo) | |
object (BusinessTaxAccountConfigInfo) | |
Array of objects (BusinessTaxConfigInfo) |
tax_id required | integer <int64> |
business_id required | integer <int64> |
createAccounts | boolean Default: false |
id | integer <int64> |
object (BusinessTaxAccountConfigInfo) | |
registered | boolean |
recoverable | boolean |
object (TransferDate) | |
object (TransferDate) | |
registrationNumber | string |
archived | boolean |
removed | boolean |
tax | integer <int64> |
object (Period) | |
object (TransferDate) | |
business | integer <int64> |
config_id required | integer <int64> |
tax_id required | integer <int64> |
business_id required | integer <int64> |
createAccounts | boolean Default: false |
id | integer <int64> |
object (BusinessTaxAccountConfigInfo) | |
registered | boolean |
recoverable | boolean |
object (TransferDate) | |
object (TransferDate) | |
registrationNumber | string |
archived | boolean |
removed | boolean |
tax | integer <int64> |
object (Period) | |
object (TransferDate) | |
business | integer <int64> |
rate_id required | integer <int64> |
createAccounts | boolean Default: false |
id | integer <int64> |
object (BusinessTaxAccountConfigInfo) | |
registered | boolean |
recoverable | boolean |
object (TransferDate) | |
object (TransferDate) | |
registrationNumber | string |
archived | boolean |
removed | boolean |
tax | integer <int64> |
object (Period) | |
object (TransferDate) | |
business | integer <int64> |
config_id required | integer <int64> |
rate_id required | integer <int64> |
createAccounts | boolean Default: false |
id | integer <int64> |
object (BusinessTaxAccountConfigInfo) | |
registered | boolean |
recoverable | boolean |
object (TransferDate) | |
object (TransferDate) | |
registrationNumber | string |
archived | boolean |
removed | boolean |
tax | integer <int64> |
object (Period) | |
object (TransferDate) | |
business | integer <int64> |
rate_id required | integer <int64> |
tax_id required | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
tax | integer <int64> |
rate | number <double> |
object (TransferDate) | |
object (TransferDate) | |
compound | boolean |
archived | boolean |
removed | boolean |
Array of objects (RegionInfo) | |
object (Period) |
tax_id required | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
tax | integer <int64> |
rate | number <double> |
object (TransferDate) | |
object (TransferDate) | |
compound | boolean |
archived | boolean |
removed | boolean |
Array of objects (RegionInfo) | |
object (Period) |
rate_id required | integer <int64> |
rate_id required | integer <int64> |
id | integer <int64> |
tax | integer <int64> |
rate | number <double> |
object (TransferDate) | |
object (TransferDate) | |
compound | boolean |
archived | boolean |
removed | boolean |
Array of objects (RegionInfo) | |
object (Period) |
rate_id required | integer <int64> |
id | integer <int64> |
tax | integer <int64> |
rate | number <double> |
object (TransferDate) | |
object (TransferDate) | |
compound | boolean |
archived | boolean |
removed | boolean |
Array of objects (RegionInfo) | |
object (Period) |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
description | string |
expansion | string |
taxSystem | string |
income | boolean |
removed | boolean |
blank | boolean |
lastModified | integer <int64> |
business_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
description | string |
expansion | string |
taxSystem | string |
income | boolean |
removed | boolean |
blank | boolean |
lastModified | integer <int64> |
taxCode_id required | integer <int64> |
id | integer <int64> |
business | integer <int64> |
name | string |
description | string |
expansion | string |
taxSystem | string |
income | boolean |
removed | boolean |
blank | boolean |
lastModified | integer <int64> |
Upload blob(s) to a particular business, given a namespace and businessId
namespace required | string Example: shoebox / kashoo |
businessId required | string The business ID |
Authorization | string Example: foo |
file required | string <binary> Blob |
Generates a debit and credit report for the business.
business_id required | integer <int64> |
type | string |
object (TransferDate) | |
object (TransferDate) | |
periods | integer <int32> |
accountTypes | Array of strings unique Items Enum: "ACCOUNTS_RECEIVABLE" "ACCOUNTS_PAYABLE" "BANK" "COST_OF_GOODS_SOLD" "CREDIT_CARD" "EQUITY" "EXPENSE" "FIXED_ASSET" "INCOME" "GAIN_OR_LOSS_ON_EXCHANGE" "LONG_TERM_LIABILITY" "OTHER_CURRENT_ASSET" "OTHER_CURRENT_LIABILITY" "OTHER_ASSET" "TAXES" "CASH" "RETAINED_EARNINGS" "PREPAID_EXPENSE" "CLIENT_CREDIT" "INVENTORY" "PAYROLL_TAX" |
Generates a sales tax report for the business.
business_id required | integer <int64> |
type | string |
object (TransferDate) | |
object (TransferDate) | |
taxIds | Array of integers <int64> unique [ items <int64 > ] |
Generates an income statement report for the business. It returns TSA report format
business_id required | integer <int64> |
type | string |
object (TransferDate) | |
object (TransferDate) | |
periods | integer <int32> |
multicurrency | boolean |
ascending | boolean |
Accept | string |
Generates a trial balance report for the business.
business_id required | integer <int64> |
type | string |
object (TransferDate) | |
periods | integer <int32> |
accountTypes | Array of strings unique Items Enum: "ACCOUNTS_RECEIVABLE" "ACCOUNTS_PAYABLE" "BANK" "COST_OF_GOODS_SOLD" "CREDIT_CARD" "EQUITY" "EXPENSE" "FIXED_ASSET" "INCOME" "GAIN_OR_LOSS_ON_EXCHANGE" "LONG_TERM_LIABILITY" "OTHER_CURRENT_ASSET" "OTHER_CURRENT_LIABILITY" "OTHER_ASSET" "TAXES" "CASH" "RETAINED_EARNINGS" "PREPAID_EXPENSE" "CLIENT_CREDIT" "INVENTORY" "PAYROLL_TAX" |
Generates an general ledger report for the business.
business_id required | integer <int64> |
startDate | string Start date for the report |
endDate | string End date for the report |
accounts | string A set of ids of the accounts to include in the report. If missing, all are included |
excludeEmpty | string Whether accounts without transactions should be excluded from the report |
sort | string Whether to sort the report by account name (default) or number |
object (TransferDate) | |
object (TransferDate) | |
accounts | Array of integers <int64> unique [ items <int64 > ] |
excludeEmpty | boolean |
sort | string |
Accept | string |
kashootsaHelpful endpoints including getting a list of countries, country regions and currencies