Software interface

Integration of external applications with the Tabella can be implemented in three different ways, that allows to utilize the data stored by Tabella.

  1. File export

  2. Tabella SQL Export

  3. Tabella Web Service

Tabella SQL Export

Tabella SQL Export is a licensed feature to write out data existing in Tabella to an external database.

Database tables and explanations:

  • chart_of_accounts = Chart of accounts and reports

  • chart_of_accounts_calc = Screen calculations

  • companies = Companies (excl. G_C, _SpecRep or Payroll-cubes)

  • companies_dimension_details

  • companies_dimensions = What dimensions company is using, i.e. the relations between companies and dimensions.

  • companies_transactions = Transactions

  • dimensions = Dimensions’ codes and hierarchies (= hierarchies and groupings)

  • form_data = Forms, if in use

  • groups = User groups

  • log = Export log

  • preferences = General Tabella’s definitions, e.g. active period

  • saldos = Actual, budget and forecast

  • users = Users

Tabella Web Service -interface

The Tabella Web Service software interface allows to read data existing in Tabella. The interface works one-way, meaning the data can be read only - not write. Web Service works as an Rest architecture (Representational State Transfer) that is built on HTTP protocol. Server responses are given in JSON format.

JSON Webkit Token is used for user authentication (JWT). For this authentication, the software sends login information using the HTTP-POST method, to the target server in JSON format. After successful authentication, the server returns an access key (access_token). The access key expires in 15 minutes, during which, by using the access key, requests can be made for the interface. After the expiration time has expired, the access key is invalidated, and the interface requires re-authentication.

Learn more about using the interface in OpenAPI 3.0 format, see the documentation: https://app.swaggerhub.com/apis/tabella/Tabella-Rest-API

Note

As a function in Tabella Cloud environment only.

Curl program example

$ curl -H "Content-Type: application/json" -X POST -d '{"username":"test-user","password":"test-pass"}' https://api.tabella.fi/v1/auth/login
<< {"access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODk2NTQ2NTUsIm5iZiI6MTU4OTY1NDY1NSwianRpIjoiNzBlZTE0ZGItNDQ2OS00YmI0LWI5N2QtNzhiMDdhYzM5YTljIiwiZXhwIjoxNTg5NjU1NTU1LCJpZGVudGl0eSI6InRlc3QiLCJmcmVzaCI6ZmFsc2UsInR5cGUiOiJhY2Nlc3MifQ.op_3aIFXRZyYjfdWf-qvUPFfwAlqWQBpAyuSpS6gdJQ"}
$ export ACCESS="eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODk2NTQ2NTUsIm5iZiI6MTU4OTY1NDY1NSwianRpIjoiNzBlZTE0ZGItNDQ2OS00YmI0LWI5N2QtNzhiMDdhYzM5YTljIiwiZXhwIjoxNTg5NjU1NTU1LCJpZGVudGl0eSI6InRlc3QiLCJmcmVzaCI6ZmFsc2UsInR5cGUiOiJhY2Nlc3MifQ.op_3aIFXRZyYjfdWf-qvUPFfwAlqWQBpAyuSpS6gdJQ"
$ curl -H "Authorization: Bearer $ACCESS" https://api.tabella.fi/v1/stats
<< {"logged_in_as":"test-user"}
$ curl -H "Authorization: Bearer $ACCESS" https://api.tabella.fi/v1/tenantlist
<< {"tenants": ...

Python program example

 1import requests
 2import json
 3from pprint import pprint
 4
 5def auth():
 6    login = requests.post('https://api.tabella.fi/v1/auth/login', json = {"username":"test-user","password":"test-pass"})
 7    r = json.loads(login.text)
 8    return r["access_token"]
 9
10def stats(access_token):
11    r = requests.get('https://api.tabella.fi/v1/stats', headers={'Authorization': 'Bearer '+access_token})
12    return json.loads(r.text)
13
14def tenantlist(access_token):
15    r = requests.get('https://api.tabella.fi/v1/tenantlist', headers={'Authorization': 'Bearer '+access_token})
16    return json.loads(r.text)
17
18access_token = auth() # Authentication
19
20stats = stats(access_token) # Get stats
21pprint(stats)
22
23tenantlist = tenantlist(access_token)
24pprint(tenantlist)