Preview a credit note
curl --request POST \
--url https://api.yorlet.com/v1/credit_notes/preview \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"invoice": "<string>",
"lines": [
{
"amount": 123,
"invoice_item": "<string>",
"type": "invoice_item"
}
],
"credit_amount": 123,
"memo": "<string>",
"metadata": {},
"out_of_band_amount": 123
}
'import requests
url = "https://api.yorlet.com/v1/credit_notes/preview"
payload = {
"invoice": "<string>",
"lines": [
{
"amount": 123,
"invoice_item": "<string>",
"type": "invoice_item"
}
],
"credit_amount": 123,
"memo": "<string>",
"metadata": {},
"out_of_band_amount": 123
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
invoice: '<string>',
lines: [{amount: 123, invoice_item: '<string>', type: 'invoice_item'}],
credit_amount: 123,
memo: '<string>',
metadata: {},
out_of_band_amount: 123
})
};
fetch('https://api.yorlet.com/v1/credit_notes/preview', 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.yorlet.com/v1/credit_notes/preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'invoice' => '<string>',
'lines' => [
[
'amount' => 123,
'invoice_item' => '<string>',
'type' => 'invoice_item'
]
],
'credit_amount' => 123,
'memo' => '<string>',
'metadata' => [
],
'out_of_band_amount' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.yorlet.com/v1/credit_notes/preview"
payload := strings.NewReader("{\n \"invoice\": \"<string>\",\n \"lines\": [\n {\n \"amount\": 123,\n \"invoice_item\": \"<string>\",\n \"type\": \"invoice_item\"\n }\n ],\n \"credit_amount\": 123,\n \"memo\": \"<string>\",\n \"metadata\": {},\n \"out_of_band_amount\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.yorlet.com/v1/credit_notes/preview")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"invoice\": \"<string>\",\n \"lines\": [\n {\n \"amount\": 123,\n \"invoice_item\": \"<string>\",\n \"type\": \"invoice_item\"\n }\n ],\n \"credit_amount\": 123,\n \"memo\": \"<string>\",\n \"metadata\": {},\n \"out_of_band_amount\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yorlet.com/v1/credit_notes/preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"invoice\": \"<string>\",\n \"lines\": [\n {\n \"amount\": 123,\n \"invoice_item\": \"<string>\",\n \"type\": \"invoice_item\"\n }\n ],\n \"credit_amount\": 123,\n \"memo\": \"<string>\",\n \"metadata\": {},\n \"out_of_band_amount\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created": 123,
"object": "credit_note",
"amount": 123,
"currency": "gbp",
"customer": "<string>",
"description": "<string>",
"discount_amount": 123,
"invoice": "<string>",
"memo": "<string>",
"number": "<string>",
"reason": "discount",
"status": "issued",
"type": "pre_payment",
"voided_at": 123,
"account": "<string>",
"deleted": false,
"credit_amount": 0,
"lines": {
"count": 1,
"has_more": false,
"object": "list",
"data": [
{
"id": "<string>",
"created": 123,
"object": "credit_note_line_item",
"amount": 123,
"amount_excluding_tax": 123,
"credit_note": "<string>",
"currency": "gbp",
"description": "<string>",
"invoice_item": "<string>",
"pretax_credit_amounts": [
{
"amount": 123,
"credit_grant": "<string>",
"display_name": "<string>",
"invoice_item": "<string>",
"type": "credit_grant"
}
],
"tax_amounts": [
{
"amount": 123,
"tax_rate": 123,
"taxable_amount": 123
}
],
"type": "invoice_item",
"account": "<string>",
"deleted": false
}
]
},
"metadata": {},
"out_of_band_amount": 0,
"subtotal": 0,
"subtotal_excluding_tax": 0,
"tax_amounts": [],
"tax": 0,
"total": 0,
"total_excluding_tax": 0,
"total_pretax_credit_amounts": []
}Authorizations
API Key authentication. Use "Bearer YOUR_API_KEY".
Body
The ID of the invoice the credit note is for.
^[a-zA-Z0-9_]+$A list of up to 10 line items to issue credit for.
1 - 10 elementsShow child attributes
Show child attributes
The integer amount in cents representing the amount to credit the customer’s balance, which will be automatically applied to their next invoice.
The credit note’s memo appears on the credit note PDF.
The metadata for the credit note.
Show child attributes
Show child attributes
The data for the new invoice.
Show child attributes
Show child attributes
The credit note amount that was paid out of band.
The reason for issuing the credit note.
discount, duplicate, fraudulent, order_change, product_unsatisfactory, other The behavior for returning the credit note amount.
customer_balance, out_of_band, new_invoice, refund Response
Returns a credit note preview object if successful.
Unique identifier for the object.
Time at which the object was created. Measured in seconds since the Unix epoch.
credit_note The amount of the credit note.
Three-letter ISO currency code, in lowercase. Must be a supported currency.
gbp, usd, eur, sek "gbp"
The description of the credit note.
The amount of the discount for the credit note.
The credit note’s memo appears on the credit note PDF.
The credit note number.
The reason for issuing the credit note.
discount, duplicate, fraudulent, order_change, product_unsatisfactory, other The status of the credit note.
issued, void The type of the credit note.
pre_payment, post_payment The date and time the credit note was voided.
The account that the object belongs to. Only returned if the request is made with a valid Yorlet-Context header.
Only returned if the object has been deleted.
The integer amount in cents representing the amount to credit the customer’s balance, which will be automatically applied to their next invoice.
Show child attributes
Show child attributes
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
Show child attributes
Show child attributes
The credit note amount that was paid out of band.
The credit note’s subtotal.
The credit note’s subtotal excluding tax.
The tax amounts for the credit note.
Show child attributes
Show child attributes
The credit note’s tax amount.
The credit note’s total amount.
The credit note’s total amount excluding tax.
The pretax credit amounts for the credit note.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.yorlet.com/v1/credit_notes/preview \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"invoice": "<string>",
"lines": [
{
"amount": 123,
"invoice_item": "<string>",
"type": "invoice_item"
}
],
"credit_amount": 123,
"memo": "<string>",
"metadata": {},
"out_of_band_amount": 123
}
'import requests
url = "https://api.yorlet.com/v1/credit_notes/preview"
payload = {
"invoice": "<string>",
"lines": [
{
"amount": 123,
"invoice_item": "<string>",
"type": "invoice_item"
}
],
"credit_amount": 123,
"memo": "<string>",
"metadata": {},
"out_of_band_amount": 123
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
invoice: '<string>',
lines: [{amount: 123, invoice_item: '<string>', type: 'invoice_item'}],
credit_amount: 123,
memo: '<string>',
metadata: {},
out_of_band_amount: 123
})
};
fetch('https://api.yorlet.com/v1/credit_notes/preview', 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.yorlet.com/v1/credit_notes/preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'invoice' => '<string>',
'lines' => [
[
'amount' => 123,
'invoice_item' => '<string>',
'type' => 'invoice_item'
]
],
'credit_amount' => 123,
'memo' => '<string>',
'metadata' => [
],
'out_of_band_amount' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.yorlet.com/v1/credit_notes/preview"
payload := strings.NewReader("{\n \"invoice\": \"<string>\",\n \"lines\": [\n {\n \"amount\": 123,\n \"invoice_item\": \"<string>\",\n \"type\": \"invoice_item\"\n }\n ],\n \"credit_amount\": 123,\n \"memo\": \"<string>\",\n \"metadata\": {},\n \"out_of_band_amount\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.yorlet.com/v1/credit_notes/preview")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"invoice\": \"<string>\",\n \"lines\": [\n {\n \"amount\": 123,\n \"invoice_item\": \"<string>\",\n \"type\": \"invoice_item\"\n }\n ],\n \"credit_amount\": 123,\n \"memo\": \"<string>\",\n \"metadata\": {},\n \"out_of_band_amount\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yorlet.com/v1/credit_notes/preview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"invoice\": \"<string>\",\n \"lines\": [\n {\n \"amount\": 123,\n \"invoice_item\": \"<string>\",\n \"type\": \"invoice_item\"\n }\n ],\n \"credit_amount\": 123,\n \"memo\": \"<string>\",\n \"metadata\": {},\n \"out_of_band_amount\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created": 123,
"object": "credit_note",
"amount": 123,
"currency": "gbp",
"customer": "<string>",
"description": "<string>",
"discount_amount": 123,
"invoice": "<string>",
"memo": "<string>",
"number": "<string>",
"reason": "discount",
"status": "issued",
"type": "pre_payment",
"voided_at": 123,
"account": "<string>",
"deleted": false,
"credit_amount": 0,
"lines": {
"count": 1,
"has_more": false,
"object": "list",
"data": [
{
"id": "<string>",
"created": 123,
"object": "credit_note_line_item",
"amount": 123,
"amount_excluding_tax": 123,
"credit_note": "<string>",
"currency": "gbp",
"description": "<string>",
"invoice_item": "<string>",
"pretax_credit_amounts": [
{
"amount": 123,
"credit_grant": "<string>",
"display_name": "<string>",
"invoice_item": "<string>",
"type": "credit_grant"
}
],
"tax_amounts": [
{
"amount": 123,
"tax_rate": 123,
"taxable_amount": 123
}
],
"type": "invoice_item",
"account": "<string>",
"deleted": false
}
]
},
"metadata": {},
"out_of_band_amount": 0,
"subtotal": 0,
"subtotal_excluding_tax": 0,
"tax_amounts": [],
"tax": 0,
"total": 0,
"total_excluding_tax": 0,
"total_pretax_credit_amounts": []
}