curl --request GET \
--url https://api.piriod.com/invoices/{id}/finalize/ \
--header 'Authorization: <api-key>' \
--header 'x-simple-workspace: <x-simple-workspace>'import requests
url = "https://api.piriod.com/invoices/{id}/finalize/"
headers = {
"x-simple-workspace": "<x-simple-workspace>",
"Authorization": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-simple-workspace': '<x-simple-workspace>', Authorization: '<api-key>'}
};
fetch('https://api.piriod.com/invoices/{id}/finalize/', 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.piriod.com/invoices/{id}/finalize/",
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: <api-key>",
"x-simple-workspace: <x-simple-workspace>"
],
]);
$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.piriod.com/invoices/{id}/finalize/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-simple-workspace", "<x-simple-workspace>")
req.Header.Add("Authorization", "<api-key>")
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.piriod.com/invoices/{id}/finalize/")
.header("x-simple-workspace", "<x-simple-workspace>")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.piriod.com/invoices/{id}/finalize/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-simple-workspace"] = '<x-simple-workspace>'
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"customer": "<string>",
"document": 123,
"date": "2023-12-25",
"collection_method": "deferred",
"lines": [
{
"name": "<string>",
"amount": 123,
"quantity": 123,
"id": "<string>",
"description": "<string>",
"total": 123,
"exempt": false,
"tax": 123,
"tax_percent": 123,
"discount": 123,
"discount_scheme": "%",
"code": "<string>",
"code_scheme": "<string>",
"plan": 123,
"retention": 123,
"retention_percent": 0,
"retention_scheme": "subtotal",
"unit_label": "<string>"
}
],
"id": "inv_01H8XYZ123ABC",
"number": 123,
"currency": "<string>",
"due_date": "2023-12-25",
"period_start": "2023-12-25",
"period_end": "2023-12-25",
"note": "<string>",
"amount": 123,
"exempt": 123,
"tax": 123,
"tax_percent": 123,
"subtotal": 123,
"total": 123,
"total_adjusted": 123,
"retention": 123,
"discount": 123,
"discount_scheme": "%",
"custom_change": 2,
"status": "draft",
"biller_status": "pending",
"tax_agency": {},
"local_file": "<string>",
"subscription": 123,
"imported": true,
"uncollectible": "2023-11-07T05:31:56Z",
"test_mode": true,
"references": [
{
"date": "2023-12-25",
"document": "<string>",
"serial": "<string>",
"description": "<string>"
}
],
"payments": [
{}
],
"created": "2023-11-07T05:31:56Z",
"updated": "2023-11-07T05:31:56Z"
}{
"name": [
"This field is required."
],
"non_field_errors": [
"x-simple-workspace header is required."
]
}Finalize invoice
Submits the invoice to the tax agency (when applicable) and locks the
document. Requires status draft or pending. When status is pending
all linked payments must be succeeded.
curl --request GET \
--url https://api.piriod.com/invoices/{id}/finalize/ \
--header 'Authorization: <api-key>' \
--header 'x-simple-workspace: <x-simple-workspace>'import requests
url = "https://api.piriod.com/invoices/{id}/finalize/"
headers = {
"x-simple-workspace": "<x-simple-workspace>",
"Authorization": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-simple-workspace': '<x-simple-workspace>', Authorization: '<api-key>'}
};
fetch('https://api.piriod.com/invoices/{id}/finalize/', 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.piriod.com/invoices/{id}/finalize/",
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: <api-key>",
"x-simple-workspace: <x-simple-workspace>"
],
]);
$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.piriod.com/invoices/{id}/finalize/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-simple-workspace", "<x-simple-workspace>")
req.Header.Add("Authorization", "<api-key>")
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.piriod.com/invoices/{id}/finalize/")
.header("x-simple-workspace", "<x-simple-workspace>")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.piriod.com/invoices/{id}/finalize/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-simple-workspace"] = '<x-simple-workspace>'
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"customer": "<string>",
"document": 123,
"date": "2023-12-25",
"collection_method": "deferred",
"lines": [
{
"name": "<string>",
"amount": 123,
"quantity": 123,
"id": "<string>",
"description": "<string>",
"total": 123,
"exempt": false,
"tax": 123,
"tax_percent": 123,
"discount": 123,
"discount_scheme": "%",
"code": "<string>",
"code_scheme": "<string>",
"plan": 123,
"retention": 123,
"retention_percent": 0,
"retention_scheme": "subtotal",
"unit_label": "<string>"
}
],
"id": "inv_01H8XYZ123ABC",
"number": 123,
"currency": "<string>",
"due_date": "2023-12-25",
"period_start": "2023-12-25",
"period_end": "2023-12-25",
"note": "<string>",
"amount": 123,
"exempt": 123,
"tax": 123,
"tax_percent": 123,
"subtotal": 123,
"total": 123,
"total_adjusted": 123,
"retention": 123,
"discount": 123,
"discount_scheme": "%",
"custom_change": 2,
"status": "draft",
"biller_status": "pending",
"tax_agency": {},
"local_file": "<string>",
"subscription": 123,
"imported": true,
"uncollectible": "2023-11-07T05:31:56Z",
"test_mode": true,
"references": [
{
"date": "2023-12-25",
"document": "<string>",
"serial": "<string>",
"description": "<string>"
}
],
"payments": [
{}
],
"created": "2023-11-07T05:31:56Z",
"updated": "2023-11-07T05:31:56Z"
}{
"name": [
"This field is required."
],
"non_field_errors": [
"x-simple-workspace header is required."
]
}Authorizations
Use header Authorization: Token <api_token>.
API tokens are obtained from the Piriod dashboard.
Headers
Workspace (account) identifier. Required for every request.
Whether to operate against test-mode data. Defaults to false.
Path Parameters
Resource identifier.
Response
Finalized invoice.
Customer ID.
Document type ID (fiscal document; depends on country).
deferred, deferred_dues, automatically Show child attributes
Show child attributes
"inv_01H8XYZ123ABC"
Sequence number assigned at finalize time.
Currency code from the customer's currency.
256Subtotal of taxable lines (computed).
Subtotal of tax-exempt lines (computed).
Total tax (computed).
Final amount (computed).
%, $ Custom currency conversion factor.
x >= 1draft, finalized, paid, cancelled, uncollectible, pending pending, queued, succeeded, failed, processing Tax-agency response payload (country-specific).
Signed URL to the fiscal PDF/XML when applicable.
Linked subscription ID when generated by a subscription cycle.
Show child attributes
Show child attributes
