curl --request GET \
--url https://api.exowpee.com/v1/accounting/organization/reports/income-statement \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/accounting/organization/reports/income-statement"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.exowpee.com/v1/accounting/organization/reports/income-statement', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.exowpee.com/v1/accounting/organization/reports/income-statement",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.exowpee.com/v1/accounting/organization/reports/income-statement"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.exowpee.com/v1/accounting/organization/reports/income-statement")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/accounting/organization/reports/income-statement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"books": [
"<unknown>"
],
"from": "2023-12-25",
"to": "2023-12-25",
"produits": {},
"charges": {},
"hao": {
"charges": {},
"produits": {}
},
"participation_line": {},
"income_tax_line": {},
"result": 123,
"currency_code": "<string>",
"currency_exponent": 123,
"conversion": [
"<string>"
]
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}View combined income statement
Shows an income statement that combines several books of the organization.
curl --request GET \
--url https://api.exowpee.com/v1/accounting/organization/reports/income-statement \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/accounting/organization/reports/income-statement"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.exowpee.com/v1/accounting/organization/reports/income-statement', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.exowpee.com/v1/accounting/organization/reports/income-statement",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.exowpee.com/v1/accounting/organization/reports/income-statement"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.exowpee.com/v1/accounting/organization/reports/income-statement")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/accounting/organization/reports/income-statement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"books": [
"<unknown>"
],
"from": "2023-12-25",
"to": "2023-12-25",
"produits": {},
"charges": {},
"hao": {
"charges": {},
"produits": {}
},
"participation_line": {},
"income_tax_line": {},
"result": 123,
"currency_code": "<string>",
"currency_exponent": 123,
"conversion": [
"<string>"
]
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}journal_entries.viewreports
Conditions
- The accounting module must be part of the organization’s plan.
- Not available to the client space: combined reports exist only in the organization space.
- books[] is optional, must be a list of at most 100 distinct identifiers, and every id must be a book you have an accounting access grant on; each refused id is reported at its index with a validation error. Without books[], every book you can access is combined.
- A book whose currency differs from the organization currency needs an exchange rate valid on the report date (the end date or as_of); without one the call is refused.
- The combination is a plain sum of the books: flows between the books are not removed, so it is not a consolidation.
- from and to are required, and to must be on or after from. Fiscal years are not used because each book has its own years.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Optional. Identifiers of the books to combine (27-character KSUID strings), each one a book you have an accounting access grant on. Without it every accessible book is combined.
Required. Start of the range, ISO 8601 date.
Required. End of the range, ISO 8601 date, on or after from.
Response
The books included in the report: for each, type, id and name. These are the books you may access, narrowed to books[] when it was sent.
Start date of the window, ISO 8601 date format, as requested.
End date of the window, ISO 8601 date format, as requested.
Revenue (class 7 accounts). An object with rows (accounts of the bucket: account_id, code, name, amount; plus books in a combined report) and total. Amounts are in minor units of currency_code (divide by 10 to the power currency_exponent). Closing entries of the year are left out.
Expenses (class 6 accounts). An object with rows (accounts of the bucket: account_id, code, name, amount; plus books in a combined report) and total. Amounts are in minor units of currency_code (divide by 10 to the power currency_exponent). Closing entries are left out.
Out-of-ordinary-activity items (class 8 accounts), split into charges and produits.
Show child attributes
Show child attributes
Employee profit-sharing line of the statement. An object with rows (accounts of the bucket: account_id, code, name, amount; plus books in a combined report) and total. Amounts are in minor units of currency_code (divide by 10 to the power currency_exponent).
Income tax line of the statement (accounts of the income-tax prefix 89). An object with rows (accounts of the bucket: account_id, code, name, amount; plus books in a combined report) and total. Amounts are in minor units of currency_code (divide by 10 to the power currency_exponent).
Net result: revenue minus expenses, plus out-of-ordinary income minus out-of-ordinary expenses, minus profit-sharing and income tax. Positive for a profit, negative for a loss, in minor units of currency_code (divide by 10 to the power currency_exponent).
ISO 4217 code of the organization currency, in which every amount is stated.
Number of decimal places of the currency (0 for XOF). An amount in minor units divided by 10 to this power gives the amount in the currency.
Audit of the currency conversion into the organization currency. An object with target_currency_code, target_currency_exponent, rate_date and conversions (one entry per book: source currency, exchange rate id, rate, rate origin and the rounding adjustment on the debit and credit sides). conversions is an empty list when no book had any amount to convert. A rate valid on the report date (the end date or as_of) must exist for each book whose currency differs, otherwise the call is refused.
0 element