curl --request GET \
--url https://api.exowpee.com/v1/accounting/organization/books/{book}/reports/analytic/income-statement \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/accounting/organization/books/{book}/reports/analytic/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/books/{book}/reports/analytic/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/books/{book}/reports/analytic/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/books/{book}/reports/analytic/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/books/{book}/reports/analytic/income-statement")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/accounting/organization/books/{book}/reports/analytic/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{
"book": {
"type": "<string>",
"id": "<string>"
},
"axis": {
"id": "<string>",
"code": "<string>",
"label": "<string>"
},
"from": "2023-12-25",
"to": "2023-12-25",
"sections": [
"<string>"
],
"unallocated": {
"charges": 0,
"produits": 0,
"hao_charges": 0,
"hao_produits": 0,
"participation": 0,
"income_tax": 0,
"result": 123
},
"total": {
"charges": 123,
"produits": 123,
"hao_charges": 123,
"hao_produits": 123,
"participation": 123,
"income_tax": 123,
"result": 123
},
"coherence": {
"general_result": 123,
"analytic_total_result": 123,
"matches": true
},
"currency_code": "<string>",
"currency_exponent": 123
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}Analytic income statement (organization)
Get an income statement broken down by analytic section, showing results per department or project.
curl --request GET \
--url https://api.exowpee.com/v1/accounting/organization/books/{book}/reports/analytic/income-statement \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/accounting/organization/books/{book}/reports/analytic/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/books/{book}/reports/analytic/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/books/{book}/reports/analytic/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/books/{book}/reports/analytic/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/books/{book}/reports/analytic/income-statement")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/accounting/organization/books/{book}/reports/analytic/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{
"book": {
"type": "<string>",
"id": "<string>"
},
"axis": {
"id": "<string>",
"code": "<string>",
"label": "<string>"
},
"from": "2023-12-25",
"to": "2023-12-25",
"sections": [
"<string>"
],
"unallocated": {
"charges": 0,
"produits": 0,
"hao_charges": 0,
"hao_produits": 0,
"participation": 0,
"income_tax": 0,
"result": 123
},
"total": {
"charges": 123,
"produits": 123,
"hao_charges": 123,
"hao_produits": 123,
"participation": 123,
"income_tax": 123,
"result": 123
},
"coherence": {
"general_result": 123,
"analytic_total_result": 123,
"matches": true
},
"currency_code": "<string>",
"currency_exponent": 123
}{
"message": "<string>"
}{
"message": "<string>",
"errors": {}
}journal_entries.viewreports
Conditions
- The accounting module must be included in the plan of the organization.
- The caller must have been granted access to the book named in the path.
- analytic_axis_id is required and must be an axis of this book.
- fiscal_year_id and fiscal_period_id, when sent, must belong to this book.
- to must not be before from.
- A closed window is required: a fiscal period, a fiscal year, or both from and to. Without any range the current fiscal year is used when one covers today; with only from or only to the call is refused.
- Fiscal period takes precedence over fiscal year, which takes precedence over from/to.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Identifier of the book (27-character KSUID string): the organization itself or one of its companies, opened through the caller's access grants.
Response
The book the report was computed for.
Show child attributes
Show child attributes
The analytic axis the report is computed on.
Show child attributes
Show child attributes
Start of the period covered, as a date (YYYY-MM-DD). Always set: a range with only one date is refused.
End of the period covered, as a date (YYYY-MM-DD). Always set: a range with only one date is refused.
One column per section of the axis that has allocations in the period, ordered by code. Each has a section object (id, code, label), the six buckets charges, produits, hao_charges, hao_produits, participation and income_tax, and result, all integers in minor units. Sections with no allocation are not listed.
Show child attributes
Show child attributes
Result of the allocable lines that carry no allocation on this axis, read from the lines themselves.
Show child attributes
Show child attributes
The general income statement of the book for the same period, used as the total column.
Show child attributes
Show child attributes
Check that the analytic columns plus the unallocated part add up to the general result.
Show child attributes
Show child attributes
ISO currency code of the fiscal year covering the end of the period; all amounts are in this currency.
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.