×

Accounts

Accounts are a vital aspect of a financial accounting ledgers. Find below examples on how to access accounts in a chart of accounts (COA).
 
Example Code
 
Load accounts all accounts from chart of accounts (COA)
Load all accounts available in the charts of accounts.
 
    
    [TestMethod]
    public void REST_Accounts_GET()
    {
        state = new ErrorState { passed = false };
         var accounts = GET.accounts(manager);

        if (accounts.Count > 20) {
            state.passed = true;
        }
     Assert.AreEqual(true, state.passed, state.message);
    }

    class GET
    {
        public static List<Account> accounts(Manager manager)
        {
            var currentClient = manager.getCurrentClient();
            var currentFiscalYear = manager.getCurrentFiscalYear();
            List accounts = null;

            string request = "clients/{0}/fiscalYears/{1}/accounts";
            var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id, currentFiscalYear.id)).Result;

            if (response.StatusCode == HttpStatusCode.OK)
            {
                accounts = JsonConvert.DeserializeObject<List<Account>>(response.Content.ReadAsStringAsync().Result);
            }

            return accounts;
        }

    
  
Load Accounts
    
class Load:
  
    @staticmethod 
    def accounts(manager):
        
        _currentClient = manager.getCurrentClient()
        _currentFiscalyear = manager.getCurrentFiscalyear()
            
        url = '{0}clients/{1}/fiscalYears/{2}/accounts'.format(manager.baseURL(), _currentClient['guid'], _currentFiscalyear['id'])
        response = requests.get(url, headers = manager.headers())

        if response.status_code == 200:
            return response.json()
        else:
            return None

    
  
JSON representation of an account
    
{
	"id": 159,
	"accTypeFID": 4,
	"currencyFID": 19,
	"vatFID": 35,
	"costCenterFID": -1,
	"code": "6530",
	"name": "Buchführung extern",
	"isMoneyAcc": false,
	"isCcRequired": false,
	"noDirectPosting": false,
	"noAccDetails": false,
	"inclInValuation": true,
	"isInactiv": false,
	"balance": 0.0,
	"balanceFC": 0.0,
	"balanceCF": 0.0,
	"balanceCFFC": 0.0,
	"accountTypeName": "Cost",
	"creditAmount": 0.0,
	"creditPostingsCount": 0,
	"debitAmount": 0.0,
	"debitPostingsCount": 0,
	"startingBalance": 0.0,
	"startingBalanceFC": 0.0
}    
  
 
Load accounts by account code
Load a specific account based on an account code.
 
    
    [TestMethod]
    public void REST_Accounts_by_account_code_GET()
    {
        string account_code = "2000";
        ErrorState state = new ErrorState { passed = false };

        var accounts = GET.accounts(manager);
        Account account = accounts.SingleOrDefault(a => (a.code == account_code));

        if (account != null)
        {
            state.passed = true;
        }
        Assert.AreEqual(true, state.passed, state.message);
    }

    class GET
    {
        public static List<Account> accounts(Manager manager)
        {
            List accounts = null;
            string request = "clients/{0}/fiscalYears/{1}/accounts";
            var response = manager.httpClient.GetAsync(string.Format(request, manager.getCurrentClient().id, manager.getCurrentFiscalYear().id)).Result;

            if (response.StatusCode == HttpStatusCode.OK)
            {
                accounts = JsonConvert.DeserializeObject>(response.Content.ReadAsStringAsync().Result);
            }

            return accounts;
        }

        public static Account account_by_account_code(string account_code, Manager manager)
        {
            Account account = null;

            string request = "clients/{0}/fiscalYears/{1}/accounts/bycode/{2}";
            var response = manager.httpClient.GetAsync(string.Format(request, manager.getCurrentClient().id, manager.getCurrentFiscalYear().id, account_code)).Result;

            if (response.StatusCode == HttpStatusCode.OK)
            {
                account = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
            }
            return account;
        }
    
  
Load Accounts
    
class GET:
  
    @staticmethod 
    def accounts(manager):
        
        _currentClient = manager.getCurrentClient()
        _currentFiscalyear = manager.getCurrentFiscalyear()
            
        url = '{0}clients/{1}/fiscalYears/{2}/accounts'.format(manager.baseURL(), _currentClient['guid'], _currentFiscalyear['id'])
        response = requests.get(url, headers = manager.headers())

        if response.status_code == 200:
            return response.json()
        else:
            return None

    
  
JSON representation of an account
    
{
	"id": 159,
	"accTypeFID": 4,
	"currencyFID": 19,
	"vatFID": 35,
	"costCenterFID": -1,
	"code": "6530",
	"name": "Buchführung extern",
	"isMoneyAcc": false,
	"isCcRequired": false,
	"noDirectPosting": false,
	"noAccDetails": false,
	"inclInValuation": true,
	"isInactiv": false,
	"balance": 0.0,
	"balanceFC": 0.0,
	"balanceCF": 0.0,
	"balanceCFFC": 0.0,
	"accountTypeName": "Cost",
	"creditAmount": 0.0,
	"creditPostingsCount": 0,
	"debitAmount": 0.0,
	"debitPostingsCount": 0,
	"startingBalance": 0.0,
	"startingBalanceFC": 0.0
}    
  
 
Load accounts by account id
Load a specific account based on an account id.
 
    
    [TestMethod]
    public void REST_Accounts_account_by_id_GET()
    {
        state = new ErrorState { passed = false };
        int id = REST_Helper.getRandomAccountID(manager);

        var accounts = GET.accounts(manager);
        Account account = accounts.SingleOrDefault(a => (a.id == id));

        if (account == null)
        {
           state.passed = true;
        }
        Assert.AreEqual(true, state.passed, state.message);
    }

    class GET
    {
        public static List<Account>  accounts(Manager manager)
        {
            List accounts = null;
            string request = "clients/{0}/fiscalYears/{1}/accounts";
            var response = manager.httpClient.GetAsync(string.Format(request, manager.getCurrentClient().id, manager.getCurrentFiscalYear().id)).Result;

            if (response.StatusCode == HttpStatusCode.OK)
            {
                accounts = JsonConvert.DeserializeObject>(response.Content.ReadAsStringAsync().Result);
            }

            return accounts;
        }

        public Account account_by_id(int id, Manager manager)
        {
            var currentClient = manager.getCurrentClient();
            var currentFiscalYear = manager.getCurrentFiscalYear();
            Account account = null;

            string request = "clients/{0}/fiscalYears/{1}/accounts/{2}";
            var response = manager.httpClient.GetAsync(string.Format(request, currentClient.id, currentFiscalYear.id, id)).Result;

            if (response.StatusCode == HttpStatusCode.OK)
            {
                account = JsonConvert.DeserializeObject(response.Content.ReadAsStringAsync().Result);
            }
            return account;
        }
    
  
Load Accounts
    
class GET:
  
    @staticmethod 
    def accounts(manager):
        
        _currentClient = manager.getCurrentClient()
        _currentFiscalyear = manager.getCurrentFiscalyear()
            
        url = '{0}clients/{1}/fiscalYears/{2}/accounts'.format(manager.baseURL(), _currentClient['guid'], _currentFiscalyear['id'])
        response = requests.get(url, headers = manager.headers())

        if response.status_code == 200:
            return response.json()
        else:
            return None

    
  
JSON representation of an account
    
{
	"id": 159,
	"accTypeFID": 4,
	"currencyFID": 19,
	"vatFID": 35,
	"costCenterFID": -1,
	"code": "6530",
	"name": "Buchführung extern",
	"isMoneyAcc": false,
	"isCcRequired": false,
	"noDirectPosting": false,
	"noAccDetails": false,
	"inclInValuation": true,
	"isInactiv": false,
	"balance": 0.0,
	"balanceFC": 0.0,
	"balanceCF": 0.0,
	"balanceCFFC": 0.0,
	"accountTypeName": "Cost",
	"creditAmount": 0.0,
	"creditPostingsCount": 0,
	"debitAmount": 0.0,
	"debitPostingsCount": 0,
	"startingBalance": 0.0,
	"startingBalanceFC": 0.0
}