curl --request GET \
--url https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry', 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.app.lastaccountingcompany.com/portal/purchase-bills/entry",
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.app.lastaccountingcompany.com/portal/purchase-bills/entry"
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.app.lastaccountingcompany.com/portal/purchase-bills/entry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry")
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{
"customer_id": "<string>",
"actor": {
"kind": "<string>",
"realm": "<string>",
"subject": "<string>",
"tenant_id": "<string>"
},
"operation": {
"id": "<string>",
"version": 32767
},
"role_eligible": true,
"requires_staff_confirmation": true,
"currency": "<string>",
"bill_id": "<string>",
"bill": {
"id": "<string>",
"bill_number": "<string>",
"vendor_name": "<string>",
"issue_date": "<string>",
"due_date": "<string>",
"lines": [
{
"description": "<string>",
"expense_account_code": "<string>",
"vat_code": "<string>",
"vat_rate_basis_points": 123,
"net_cents": 123,
"vat_cents": 123,
"gross_cents": 123,
"vat_deduction": {
"basis_points": 123,
"review_status": "<string>",
"reason": "<string>"
}
}
],
"total_cents": 123,
"vat_cents": 123,
"status": "<string>",
"document_type": "<string>",
"original_invoice_number": "<string>",
"original_invoice_date": "<string>",
"correction_reason": "<string>",
"vendor_business_id": "<string>",
"vendor_vat_number": "<string>",
"vendor_iban": "<string>",
"payment_reference": "<string>",
"payment_reference_issue": "<string>",
"reverse_charge_refusal": "<string>",
"reverse_charge_assignment": {
"vat_code": "<string>",
"seller_country": "<string>",
"treatment_mapping": "<string>",
"granularity": "<string>"
},
"card_payment": {
"evidence_document_id": "<string>",
"evidence_excerpt": "<string>",
"payer": "<string>",
"card_scheme": "<string>",
"card_last4": "<string>",
"paid_on": "<string>",
"bank_transaction_id": "<string>",
"expense_claim_id": "<string>"
},
"retained_trade_payable": true,
"vendor_unidentified": true
},
"expected_bill": {
"uri": "<string>",
"revision": "<string>"
},
"editable": true,
"blocked_reason": "<string>",
"accounts": [
{
"code": "<string>",
"name": "<string>"
}
],
"taxes": [
{
"code": "<string>",
"kind": "<string>",
"rate_bps": 123,
"valid_from": "<string>",
"valid_to": "<string>"
}
]
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Read the exact current bill correction form
Read-only current bill facts, canonical revision, active expense categories and registry tax choices for an interactive company admin/operator or selected staff actor. Correction uses purchase_bill.record with its own exact preview, execution and receipt. Customer creation, posting, approval and payment are not granted by this form. Posted and settled bills remain visible with a correction refusal. No input is saved by this read.
curl --request GET \
--url https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry', 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.app.lastaccountingcompany.com/portal/purchase-bills/entry",
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.app.lastaccountingcompany.com/portal/purchase-bills/entry"
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.app.lastaccountingcompany.com/portal/purchase-bills/entry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.app.lastaccountingcompany.com/portal/purchase-bills/entry")
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{
"customer_id": "<string>",
"actor": {
"kind": "<string>",
"realm": "<string>",
"subject": "<string>",
"tenant_id": "<string>"
},
"operation": {
"id": "<string>",
"version": 32767
},
"role_eligible": true,
"requires_staff_confirmation": true,
"currency": "<string>",
"bill_id": "<string>",
"bill": {
"id": "<string>",
"bill_number": "<string>",
"vendor_name": "<string>",
"issue_date": "<string>",
"due_date": "<string>",
"lines": [
{
"description": "<string>",
"expense_account_code": "<string>",
"vat_code": "<string>",
"vat_rate_basis_points": 123,
"net_cents": 123,
"vat_cents": 123,
"gross_cents": 123,
"vat_deduction": {
"basis_points": 123,
"review_status": "<string>",
"reason": "<string>"
}
}
],
"total_cents": 123,
"vat_cents": 123,
"status": "<string>",
"document_type": "<string>",
"original_invoice_number": "<string>",
"original_invoice_date": "<string>",
"correction_reason": "<string>",
"vendor_business_id": "<string>",
"vendor_vat_number": "<string>",
"vendor_iban": "<string>",
"payment_reference": "<string>",
"payment_reference_issue": "<string>",
"reverse_charge_refusal": "<string>",
"reverse_charge_assignment": {
"vat_code": "<string>",
"seller_country": "<string>",
"treatment_mapping": "<string>",
"granularity": "<string>"
},
"card_payment": {
"evidence_document_id": "<string>",
"evidence_excerpt": "<string>",
"payer": "<string>",
"card_scheme": "<string>",
"card_last4": "<string>",
"paid_on": "<string>",
"bank_transaction_id": "<string>",
"expense_claim_id": "<string>"
},
"retained_trade_payable": true,
"vendor_unidentified": true
},
"expected_bill": {
"uri": "<string>",
"revision": "<string>"
},
"editable": true,
"blocked_reason": "<string>",
"accounts": [
{
"code": "<string>",
"name": "<string>"
}
],
"taxes": [
{
"code": "<string>",
"kind": "<string>",
"rate_bps": 123,
"valid_from": "<string>",
"valid_to": "<string>"
}
]
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}Authorizations
Firebase ID token from an interactive portal session. Required for interactive operations (payroll, company settings, API-key management) and invoice decisions allowed by the member's review permissions.
Query Parameters
Target company. Optional — API keys are pinned to one company, and single-company sessions default to it.
Exact opaque bill entity ID, without a row-family prefix.
1Response
Current correction context and role eligibility.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes