This s a documentation page for our shiny new REST API - you weren't meant to find it. This API isn't ready for public use yet. We're chopping and changing it a LOT as we grow it. So if you build something that uses it then it's very likely to break in a future update. Don't say you weren't warned!
URL: | https://api.kashflow.com/v2/bankaccounts |
Method(s): | get,post,put,delete |
Response Formats: | JSON, XML |
Description: | This method allows to retrieve, create, update and delete bank accounts. |
Parameters
FeedAccountNameStringName of bank feed account
Name | Type | Description |
---|---|---|
Id | Numeric | Unique id given to the bank account |
Code | Numeric | Code assigned to the bank account |
AccountName | String | Name of the bank account |
IsDefaultAccount | Boolean | Whether this account is the default bank account for the user |
IsArchived | Boolean | Whether this account is archived |
StartingDate | Date | Starting date of the bank account. For e.g. [JSONDATE] |
ReconcileDate | Date | Last reconciled date of the bank account. For e.g. [JSONDATE] |
DefaultReceiptPaymentType | Object | Information related to default receipt payment type. For details, refer documentation of Payment Method |
DefaultInvoicePaymentType | Object | Information related to default invoice payment type. For details, refer documentation of Payment Method |
TransactionLockEnabled | Boolean | Whether transactions for this bank account are locked |
TransactionLockDate | Date | The date before which transactions for this bank account are locked |
StartingAmount | Numeric | Starting amount of this bank account |
BankBalance | Numeric | Total transaction amount of this bank account |
BankFeedsAccountId | Numeric | Id of bank feed account |
FeedAccountHolder | String | Name of bank feed account holder |
FeedAccountNumber | String | Bank feed account number |
IconId | Numeric | Icon Id of bank account |
IncludeOnDashBoard | Boolean | Indicates whether to include this bank account on Dashboard or not |
LastTransactionImportDate | Date | Last transaction import date |
Note | String | Note for the bank account |
ShowPaidInFirst | Boolean | If true then PaidIn column will be displayed first instead of PaidOut column on transaction list page. |
GET Operation
GET of banks returns list of all bank accounts setup for the user.URL : /bankaccounts
Example response for GET of list of banks
[{
"AccountName": "Current Account",
"BankBalance": 20310.0000,
"BankFeedsAccountId": 0,
"Code": 1200,
"DefaultInvoicePaymentType": {
"Id": 45,
"Name": "Bank Transfer"
},
"DefaultPurchasePaymentType": {
"Id": 0,
"Name": null
},
"FeedAccountHolder": "",
"FeedAccountName": "",
"FeedAccountNumber": "",
"IconId": 0,
"Id": 12,
"IncludeOnDashBoard": false,
"IsArchived": false,
"IsDefaultAccount": false,
"LastTransactionImportDate": null,
"Note": null,
"ReconcileDate": null,
"ShowPaidInFirst": false,
"StartingAmount": 0,
"StartingDate": null,
"TransactionLockDate": "2014-07-30 12:00:00",
"TransactionLockEnabled": false
},
{
"AccountName": "HSBC",
"BankBalance": 200.0000,
"BankFeedsAccountId": 0,
"Code": 1201,
"DefaultInvoicePaymentType": {
"Id": 45,
"Name": "Bank Transfer"
},
"DefaultPurchasePaymentType": {
"Id": 0,
"Name": null
},
"FeedAccountHolder": "",
"FeedAccountName": "",
"FeedAccountNumber": "",
"IconId": 0,
"Id": 302030,
"IncludeOnDashBoard": false,
"IsArchived": false,
"IsDefaultAccount": true,
"LastTransactionImportDate": null,
"Note": null,
"ReconcileDate": null,
"ShowPaidInFirst": false,
"StartingAmount": 0,
"StartingDate": null,
"TransactionLockDate": "2014-07-31 12:00:00",
"TransactionLockEnabled": false
},
{
"AccountName": "ICICI",
"BankBalance": 12069.0000,
"BankFeedsAccountId": 0,
"Code": 1202,
"DefaultInvoicePaymentType": {
"Id": 45,
"Name": "Bank Transfer"
},
"DefaultPurchasePaymentType": {
"Id": 0,
"Name": null
},
"FeedAccountHolder": "",
"FeedAccountName": "",
"FeedAccountNumber": "",
"IconId": 0,
"Id": 302040,
"IncludeOnDashBoard": false,
"IsArchived": false,
"IsDefaultAccount": false,
"LastTransactionImportDate": null,
"Note": null,
"ReconcileDate": null,
"ShowPaidInFirst": false,
"StartingAmount": 0,
"StartingDate": null,
"TransactionLockDate": "2014-08-04 12:00:00",
"TransactionLockEnabled": false
},
{
"AccountName": "HDFC",
"BankBalance": 0.0000,
"BankFeedsAccountId": 0,
"Code": 1203,
"DefaultInvoicePaymentType": {
"Id": 11,
"Name": "Cheque"
},
"DefaultPurchasePaymentType": {
"Id": 0,
"Name": null
},
"FeedAccountHolder": "",
"FeedAccountName": "",
"FeedAccountNumber": "",
"IconId": 0,
"Id": 302042,
"IncludeOnDashBoard": false,
"IsArchived": false,
"IsDefaultAccount": false,
"LastTransactionImportDate": null,
"Note": null,
"ReconcileDate": null,
"ShowPaidInFirst": false,
"StartingAmount": 0,
"StartingDate": null,
"TransactionLockDate": "2014-08-07 12:00:00",
"TransactionLockEnabled": false
},
{
"AccountName": "BNY",
"BankBalance": 0.0000,
"BankFeedsAccountId": 0,
"Code": 1204,
"DefaultInvoicePaymentType": {
"Id": 45,
"Name": "Bank Transfer"
},
"DefaultPurchasePaymentType": {
"Id": 0,
"Name": null
},
"FeedAccountHolder": "",
"FeedAccountName": "",
"FeedAccountNumber": "",
"IconId": 0,
"Id": 302043,
"IncludeOnDashBoard": false,
"IsArchived": false,
"IsDefaultAccount": false,
"LastTransactionImportDate": null,
"Note": null,
"ReconcileDate": null,
"ShowPaidInFirst": false,
"StartingAmount": 0,
"StartingDate": null,
"TransactionLockDate": "2014-08-07 12:00:00",
"TransactionLockEnabled": false
}]
GET details of a perticular bank account.
URL : /bankaccounts/{bankaccountid}
Example response for GET of a bank
{
"AccountName": "Current Account",
"BankBalance": 0,
"BankFeedsAccountId": 0,
"Code": 1200,
"DefaultInvoicePaymentType": {
"Id": 45,
"Name": "Bank Transfer"
},
"DefaultPurchasePaymentType": {
"Id": 45,
"Name": "Other"
},
"FeedAccountHolder": "",
"FeedAccountName": "",
"FeedAccountNumber": "",
"IconId": 0,
"Id": 12,
"IncludeOnDashBoard": true,
"IsArchived": false,
"IsDefaultAccount": false,
"LastTransactionImportDate": null,
"Note": "bank accout note - ashwini",
"ReconcileDate": "2010-07-31 12:00:00",
"ShowPaidInFirst": false,
"StartingAmount": 100.0000,
"StartingDate": "2014-07-10 12:00:00",
"TransactionLockDate": "2014-07-30 12:00:00",
"TransactionLockEnabled": false
}
To get unique bank code.
URL : /bankaccounts/suggestedcode
Example response for GET of bank code
6722
POST Operation
Creates a new bank account for a specific user.URL: /bankaccounts
- Bank Account name and nominal code should be unique for a KashFlow account for that specific user.
- Mandatory fields for POST of bank account : AccountName and ReconcileDate.
- Account code will be autogenerated if not specified (in case user specifies, it will be validated and throws 400 if already exists).
- Icon id will be validated across master data if specified. Else IconId will be set to zero
- Default order for Paid In/Paid Out will be : Paid In/Paid Out, if not specified.
- In case of invoice/receipts payment methods, if user specifies invalid payment method, it will set default payment method of invoice/receipts for that specific user.
- ‘Include on Overview page’ will be set as true by default if not specified.
- Only one bank account can be user’s default account.
- When TransactionLockEnabled is true, it is mandatory to specify TransactionLockDate. When TransactionLockEnabled is false, TransactionLockDate will be set to current date.
- When value for IsArchived is not specified, default will be set to false
Example request for POST of bank account
{
"AccountName": "MBNA",
"DefaultInvoicePaymentType": {
"Id": 11
},
"DefaultPurchasePaymentType": {
"Id": 37
},
"IconId": 17,
"IncludeOnDashBoard": true,
"IsArchived": false,
"IsDefaultAccount": false,
"Note": "",
"ReconcileDate": "2014-10-10",
"ShowPaidInFirst": true,
"StartingAmount": 0.0000,
"TransactionLockDate": "2014-09-05",
"TransactionLockEnabled": false
}
Response : 201 Created with newly created bank account
Example response for POST of bank account
{
"AccountName": "MBNA",
"BankBalance": 0,
"BankFeedsAccountId": 0,
"Code": 0,
"DefaultInvoicePaymentType": {
"Id": 11,
"Name": "Cheque"
},
"DefaultPurchasePaymentType": {
"Id": 37,
"Name": "Other"
},
"FeedAccountHolder": "",
"FeedAccountName": "",
"FeedAccountNumber": "",
"IconId": 17,
"Id": 302063,
"IncludeOnDashBoard": true,
"IsArchived": false,
"IsDefaultAccount": false,
"LastTransactionImportDate": null,
"Note": "",
"ReconcileDate": "2014-10-10 12:00:00",
"ShowPaidInFirst": true,
"StartingAmount": 0.0000,
"StartingDate": "1970-01-01 12:00:00",
"TransactionLockDate": "2014-09-05 12:00:00",
"TransactionLockEnabled": false
}
PUT Operation
Updates the bank account details.- Account code is mandatory.
- Account name is mandatory.
- Reconcile Date is mandatory.
- Bank Account name and nominal code should be unique for a KashFlow account for that specific user.
- Icon id will be validated if specified.
- Default order for Paid In/Paid Out will be : Paid In/Paid Out, if not specified.
- In case of invoice/receipts payment methods, if user specifies invalid payment method, the payment method of invoice/receipts in the bank will be retained.
- ‘Include on Overview page’ will be set as true by default if not specified.
- Only one bank account can be user’s default account.
URL : /bankaccounts/{accountId}
Example request for PUT of bank account
{
"AccountName": "MBNA",
"Code": 9694,
"DefaultInvoicePaymentType": {
"Id": 11,
"Name": "Cheque"
},
"DefaultPurchasePaymentType": {
"Id": 37,
"Name": "Other"
},
"IconId": 17,
"IncludeOnDashBoard": true,
"IsArchived": false,
"IsDefaultAccount": false,
"Note": "Bank Account for new transactions",
"ReconcileDate": "2014-09-05 12:00:00",
"ShowPaidInFirst": true,
"StartingAmount": 0.0000,
"StartingDate": "2014-09-05 12:00:00",
"TransactionLockDate": "2014-09-05 12:00:00",
"TransactionLockEnabled": false
}
DELETE Operation
Deletes the bank account with the id provided in the URL.URL : /bankaccounts/{accountId}
{accountId} specified in the url will be replaced by bank account which needs to be deleted.