https://github.com/simenandre/eaccounting
A simple SDK for Visma eAccounting
https://github.com/simenandre/eaccounting
eaccounting nodejs visma
Last synced: about 1 year ago
JSON representation
A simple SDK for Visma eAccounting
- Host: GitHub
- URL: https://github.com/simenandre/eaccounting
- Owner: simenandre
- License: mit
- Created: 2017-05-31T15:11:31.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-07-14T11:38:36.000Z (almost 3 years ago)
- Last Synced: 2025-06-13T00:05:43.025Z (about 1 year ago)
- Topics: eaccounting, nodejs, visma
- Language: JavaScript
- Homepage:
- Size: 20.2 MB
- Stars: 3
- Watchers: 4
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# eAccounting-node
A simple client module for accessing Visma eAccounting's API. It is still early stages in development, please refer to [Current Development Stage](#current-development-stage) for the current development stage.
## Authentication
eAccounting-node tries to keep a small fotprint, so [simple-oauth2](https://github.com/lelylan/simple-oauth2) have been used for authentication. You can access the authentication variable by `eaccounting.auth()`. API documentation for simple-oauth2 is available [here](http://lelylan.github.io/simple-oauth2/).
## Installation
npm install eaccounting
## Usage
const authConfig = {
{
"client":{
id: "ayr",
secret: "a string"
},
"token":{
access_token: "a long string",
token_type: "Bearer",
expires_in: 3600,
refresh_token: "a shorter string",
expires_at: "2017-06-01T08:32:46.394Z"
}
}
};
const eaccounting = require('eaccounting').create(authConfig);
### Refresh your token
We have built in a `renewedTokenFunction`, what that does is use the `expired` function from simple-oauth2 to refresh it automaticly and return you a Promise so you can store it.
var authConfig = require('./auth.json');
const jsonfile = require('jsonfile');
authConfig.renewedTokenFunction = (token) => {
jsonfile.writeFile('./auth.json', {
client: authConfig.client,
token: token.token
}, function (err){
console.error(err);
});
};
var eaccounting = require('eaccounting').create(authConfig)
## Current Development Stage
Currently the module has the following endpoints added:
- Articles
- CustomerInvoiceDrafts
- Customers
## API Documentation
The updated documentation for Visma eAccounting API is available publicly [here](https://developer.vismaonline.com/). eaccounting-node uses the same name as the endpoint, but with camelCasing.
### Function names
All of the functions have the same function names, as of now.
*Get all*
var customers = eaccounting.customers.getAll()
*Get all (alias)*
var customers = eaccounting.customers.get()
*Get one*
var customer = eaccounting.customers.get(1337)
*Update*
var customer = eaccounting.customers.update(1337)
*Add*
var customer = eaccounting.customers.add({
name: "Github Inc."
})
*Delete*
var customer = eaccounting.customers.remove(1337)
## Contribute!
It is super easy to add the other endpoints, because of the simple API of the module. So please submit pull request if you have implemented more.
### Todo
- feels like everything.