Skip to content

Record recoverable tax that was not recovered on this entry, and why

POST
/v1/entities/{entity_id}/entries/{entry_id}/unrecovered-tax
curl --request POST \
--url https://example.com/v1/entities/example/entries/example/unrecovered-tax \
--header 'Content-Type: application/json' \
--data '{ "commodity": "example", "amount_micros": "-12000000", "reason": "example", "posting_id": "example", "tax_code": "example", "recoverable_until": "example" }'

Record the decision to book a cost gross of a recoverable tax, and the reason for it.

Such a decision has a reason: the document does not support a claim, or there is no document. The gross figure records only the consequence, which is how an amount ends up inside a fixed asset with nobody able to say why. Nothing is posted here; the arithmetic already happened.

entry_id
required
Entry Id
string
entity_id
required
Entity Id

The entity this path is relative to

string

The entity this path is relative to

Media typeapplication/json
UnrecoveredSubmission

An amount of recoverable tax that was not recovered on this entry, and why.

Nothing about a country or a tax is modelled. recoverable_until is a date the caller supplies; the ledger applies no regime rule. It is what makes “what can we still reclaim, and by when” answerable. tax_code is the entity’s own code, the same column name the chart and the postings use.

object
commodity
required
Commodity
string
>= 1 characters <= 64 characters
amount_micros
required
Amount Micros

Signed integer micro-units (millionths) as a base-10 string; never a JSON number.

string
/^-?(0|[1-9][0-9]*)$/
reason
required
Reason

Why it was not recovered; the whole point of the record

string
>= 1 characters
posting_id
Any of:
string
<= 255 characters
tax_code
Any of:
string
<= 255 characters
recoverable_until
Any of:
string

Successful Response

Media typeapplication/json
UnrecoveredResponse
object
entity_id
required
Entity Id
string
legal_name
required
Legal Name
string
base_currency
required
Base Currency
string
snapshot_seq
required
Snapshot Seq
integer
record
required
UnrecoveredRecord
object
id
required
Id
string
entry_id
required
Entry Id
string
posting_id
required
Any of:
string
commodity
required
Commodity
string
amount_micros
required
Amount Micros

Signed integer micro-units (millionths) as a base-10 string; never a JSON number.

string
/^-?(0|[1-9][0-9]*)$/
state
required
State

Unrecovered | recovered | forgone

string
tax_code
required
Any of:
string
reason
required
Reason
string
recoverable_until
required
Any of:
string
recovered_entry_id
required
Any of:
string
supersedes_id
required
Any of:
string
created_at
required
Created At
string
created_by
required
Created By
string
history
required
History

Every record about this entry, oldest first

Array<object>
UnrecoveredRecord
object
id
required
Id
string
entry_id
required
Entry Id
string
posting_id
required
Any of:
string
commodity
required
Commodity
string
amount_micros
required
Amount Micros

Signed integer micro-units (millionths) as a base-10 string; never a JSON number.

string
/^-?(0|[1-9][0-9]*)$/
state
required
State

Unrecovered | recovered | forgone

string
tax_code
required
Any of:
string
reason
required
Reason
string
recoverable_until
required
Any of:
string
recovered_entry_id
required
Any of:
string
supersedes_id
required
Any of:
string
created_at
required
Created At
string
created_by
required
Created By
string
links
required
Links
object
key
additional properties
string

Example

{
"record": {
"amount_micros": "-12000000"
},
"history": [
{
"amount_micros": "-12000000"
}
]
}

Bad Request

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Unauthorized

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Forbidden

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Not Found

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Conflict

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Precondition Failed

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Unprocessable Content

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Internal Server Error

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}

Service Unavailable

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
retryable
required
Retryable
boolean
details
required
Details
Array<object>
object
key
additional properties
any
request_id
Any of:
string
next_action
Any of:
object
key
additional properties
any

Example generated

{
"error": {
"code": "example",
"message": "example",
"retryable": true,
"details": [
{}
],
"request_id": "example",
"next_action": {}
}
}