Credit Notes
Create Draft Credit Note
Creates a new credit note in DRAFT status with line items, tax calculations, and account codes.
POST
/
credit-notes
Create Draft Credit Note
curl --request POST \
--url https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"organisationId": "<string>",
"clientId": "<string>",
"date": "<string>",
"reference": "<string>",
"invoiceReference": "<string>",
"linkedInvoiceId": "<string>",
"groupingKey": "<string>",
"source": "<string>",
"currencyCode": "<string>",
"lineItems": [
{
"lineItemId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"creditNoteId": "<string>",
"employeeId": "<string>",
"employeeName": "<string>",
"payElementId": "<string>",
"payElementDescription": "<string>",
"description": "<string>",
"quantity": 123,
"unitAmount": 123,
"lineAmount": 123,
"taxAmount": 123,
"taxType": "<string>",
"accountCode": "<string>",
"tracking": [
{
"name": "<string>",
"option": "<string>",
"trackingCategoryId": "<string>",
"trackingOptionId": "<string>"
}
],
"attachments": [
{
"id": "<string>",
"lineItemId": "<string>",
"filename": "<string>",
"contentType": "<string>",
"fileSize": 123,
"uploadedDate": "<string>",
"uploadedBy": "<string>",
"s3Key": "<string>",
"source": "<string>",
"downloadUrl": "<string>",
"downloadUrlExpiresAt": "<string>"
}
],
"poNumber": "<string>"
}
]
}
'import requests
url = "https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes"
payload = {
"organisationId": "<string>",
"clientId": "<string>",
"date": "<string>",
"reference": "<string>",
"invoiceReference": "<string>",
"linkedInvoiceId": "<string>",
"groupingKey": "<string>",
"source": "<string>",
"currencyCode": "<string>",
"lineItems": [
{
"lineItemId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"creditNoteId": "<string>",
"employeeId": "<string>",
"employeeName": "<string>",
"payElementId": "<string>",
"payElementDescription": "<string>",
"description": "<string>",
"quantity": 123,
"unitAmount": 123,
"lineAmount": 123,
"taxAmount": 123,
"taxType": "<string>",
"accountCode": "<string>",
"tracking": [
{
"name": "<string>",
"option": "<string>",
"trackingCategoryId": "<string>",
"trackingOptionId": "<string>"
}
],
"attachments": [
{
"id": "<string>",
"lineItemId": "<string>",
"filename": "<string>",
"contentType": "<string>",
"fileSize": 123,
"uploadedDate": "<string>",
"uploadedBy": "<string>",
"s3Key": "<string>",
"source": "<string>",
"downloadUrl": "<string>",
"downloadUrlExpiresAt": "<string>"
}
],
"poNumber": "<string>"
}
]
}
headers = {
"X-Auth-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Auth-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
organisationId: '<string>',
clientId: '<string>',
date: '<string>',
reference: '<string>',
invoiceReference: '<string>',
linkedInvoiceId: '<string>',
groupingKey: '<string>',
source: '<string>',
currencyCode: '<string>',
lineItems: [
{
lineItemId: '<string>',
organisationId: '<string>',
clientId: '<string>',
creditNoteId: '<string>',
employeeId: '<string>',
employeeName: '<string>',
payElementId: '<string>',
payElementDescription: '<string>',
description: '<string>',
quantity: 123,
unitAmount: 123,
lineAmount: 123,
taxAmount: 123,
taxType: '<string>',
accountCode: '<string>',
tracking: [
{
name: '<string>',
option: '<string>',
trackingCategoryId: '<string>',
trackingOptionId: '<string>'
}
],
attachments: [
{
id: '<string>',
lineItemId: '<string>',
filename: '<string>',
contentType: '<string>',
fileSize: 123,
uploadedDate: '<string>',
uploadedBy: '<string>',
s3Key: '<string>',
source: '<string>',
downloadUrl: '<string>',
downloadUrlExpiresAt: '<string>'
}
],
poNumber: '<string>'
}
]
})
};
fetch('https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes', 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.sandbox.flowpayroll.ai/v1/billing/credit-notes",
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([
'organisationId' => '<string>',
'clientId' => '<string>',
'date' => '<string>',
'reference' => '<string>',
'invoiceReference' => '<string>',
'linkedInvoiceId' => '<string>',
'groupingKey' => '<string>',
'source' => '<string>',
'currencyCode' => '<string>',
'lineItems' => [
[
'lineItemId' => '<string>',
'organisationId' => '<string>',
'clientId' => '<string>',
'creditNoteId' => '<string>',
'employeeId' => '<string>',
'employeeName' => '<string>',
'payElementId' => '<string>',
'payElementDescription' => '<string>',
'description' => '<string>',
'quantity' => 123,
'unitAmount' => 123,
'lineAmount' => 123,
'taxAmount' => 123,
'taxType' => '<string>',
'accountCode' => '<string>',
'tracking' => [
[
'name' => '<string>',
'option' => '<string>',
'trackingCategoryId' => '<string>',
'trackingOptionId' => '<string>'
]
],
'attachments' => [
[
'id' => '<string>',
'lineItemId' => '<string>',
'filename' => '<string>',
'contentType' => '<string>',
'fileSize' => 123,
'uploadedDate' => '<string>',
'uploadedBy' => '<string>',
's3Key' => '<string>',
'source' => '<string>',
'downloadUrl' => '<string>',
'downloadUrlExpiresAt' => '<string>'
]
],
'poNumber' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Auth-Token: <api-key>"
],
]);
$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.sandbox.flowpayroll.ai/v1/billing/credit-notes"
payload := strings.NewReader("{\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"date\": \"<string>\",\n \"reference\": \"<string>\",\n \"invoiceReference\": \"<string>\",\n \"linkedInvoiceId\": \"<string>\",\n \"groupingKey\": \"<string>\",\n \"source\": \"<string>\",\n \"currencyCode\": \"<string>\",\n \"lineItems\": [\n {\n \"lineItemId\": \"<string>\",\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"creditNoteId\": \"<string>\",\n \"employeeId\": \"<string>\",\n \"employeeName\": \"<string>\",\n \"payElementId\": \"<string>\",\n \"payElementDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"quantity\": 123,\n \"unitAmount\": 123,\n \"lineAmount\": 123,\n \"taxAmount\": 123,\n \"taxType\": \"<string>\",\n \"accountCode\": \"<string>\",\n \"tracking\": [\n {\n \"name\": \"<string>\",\n \"option\": \"<string>\",\n \"trackingCategoryId\": \"<string>\",\n \"trackingOptionId\": \"<string>\"\n }\n ],\n \"attachments\": [\n {\n \"id\": \"<string>\",\n \"lineItemId\": \"<string>\",\n \"filename\": \"<string>\",\n \"contentType\": \"<string>\",\n \"fileSize\": 123,\n \"uploadedDate\": \"<string>\",\n \"uploadedBy\": \"<string>\",\n \"s3Key\": \"<string>\",\n \"source\": \"<string>\",\n \"downloadUrl\": \"<string>\",\n \"downloadUrlExpiresAt\": \"<string>\"\n }\n ],\n \"poNumber\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Auth-Token", "<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.sandbox.flowpayroll.ai/v1/billing/credit-notes")
.header("X-Auth-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"date\": \"<string>\",\n \"reference\": \"<string>\",\n \"invoiceReference\": \"<string>\",\n \"linkedInvoiceId\": \"<string>\",\n \"groupingKey\": \"<string>\",\n \"source\": \"<string>\",\n \"currencyCode\": \"<string>\",\n \"lineItems\": [\n {\n \"lineItemId\": \"<string>\",\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"creditNoteId\": \"<string>\",\n \"employeeId\": \"<string>\",\n \"employeeName\": \"<string>\",\n \"payElementId\": \"<string>\",\n \"payElementDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"quantity\": 123,\n \"unitAmount\": 123,\n \"lineAmount\": 123,\n \"taxAmount\": 123,\n \"taxType\": \"<string>\",\n \"accountCode\": \"<string>\",\n \"tracking\": [\n {\n \"name\": \"<string>\",\n \"option\": \"<string>\",\n \"trackingCategoryId\": \"<string>\",\n \"trackingOptionId\": \"<string>\"\n }\n ],\n \"attachments\": [\n {\n \"id\": \"<string>\",\n \"lineItemId\": \"<string>\",\n \"filename\": \"<string>\",\n \"contentType\": \"<string>\",\n \"fileSize\": 123,\n \"uploadedDate\": \"<string>\",\n \"uploadedBy\": \"<string>\",\n \"s3Key\": \"<string>\",\n \"source\": \"<string>\",\n \"downloadUrl\": \"<string>\",\n \"downloadUrlExpiresAt\": \"<string>\"\n }\n ],\n \"poNumber\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Auth-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"date\": \"<string>\",\n \"reference\": \"<string>\",\n \"invoiceReference\": \"<string>\",\n \"linkedInvoiceId\": \"<string>\",\n \"groupingKey\": \"<string>\",\n \"source\": \"<string>\",\n \"currencyCode\": \"<string>\",\n \"lineItems\": [\n {\n \"lineItemId\": \"<string>\",\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"creditNoteId\": \"<string>\",\n \"employeeId\": \"<string>\",\n \"employeeName\": \"<string>\",\n \"payElementId\": \"<string>\",\n \"payElementDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"quantity\": 123,\n \"unitAmount\": 123,\n \"lineAmount\": 123,\n \"taxAmount\": 123,\n \"taxType\": \"<string>\",\n \"accountCode\": \"<string>\",\n \"tracking\": [\n {\n \"name\": \"<string>\",\n \"option\": \"<string>\",\n \"trackingCategoryId\": \"<string>\",\n \"trackingOptionId\": \"<string>\"\n }\n ],\n \"attachments\": [\n {\n \"id\": \"<string>\",\n \"lineItemId\": \"<string>\",\n \"filename\": \"<string>\",\n \"contentType\": \"<string>\",\n \"fileSize\": 123,\n \"uploadedDate\": \"<string>\",\n \"uploadedBy\": \"<string>\",\n \"s3Key\": \"<string>\",\n \"source\": \"<string>\",\n \"downloadUrl\": \"<string>\",\n \"downloadUrlExpiresAt\": \"<string>\"\n }\n ],\n \"poNumber\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"content": {
"data": {
"id": "<string>",
"creditNoteNumber": "<string>",
"clientId": "<string>",
"organisationId": "<string>",
"date": "<string>",
"subTotal": 123,
"totalTax": 123,
"amount": 123,
"balanceDue": 123,
"reference": "<string>",
"invoiceReference": "<string>",
"linkedInvoiceId": "<string>",
"groupingKey": "<string>",
"source": "<string>",
"currencyCode": "<string>",
"currencyRate": 123,
"subtotalGroups": [
{
"label": "<string>",
"amount": 123,
"taxAmount": 123,
"totalAmount": 123,
"sortOrder": 123
}
],
"attachments": [
{
"id": "<string>",
"fileName": "<string>",
"url": "<string>",
"description": "<string>",
"s3Key": "<string>",
"contentType": "<string>",
"fileSize": 123,
"uploadedDate": "<string>",
"uploadedBy": "<string>",
"downloadUrl": "<string>",
"downloadUrlExpiresAt": "<string>"
}
],
"linesWithoutAttachmentsCount": 123,
"linesWithoutPoNumberCount": 123,
"allocations": [
{
"allocationId": "<string>",
"creditNoteId": "<string>",
"invoiceId": "<string>",
"amount": 123,
"date": "<string>",
"invoice": {
"invoiceId": "<string>",
"invoiceNumber": "<string>"
}
}
],
"externalId": "<string>",
"externalProvider": "<string>",
"lastSyncedAt": "<string>",
"syncErrorMessage": "<string>",
"syncErrorCode": "<string>",
"externalProviderStatus": "<string>",
"emailSent": true,
"emailSentAt": "<string>",
"emailSentBy": "<string>",
"createdDate": "<string>",
"createdBy": "<string>",
"updatedDate": "<string>",
"updatedBy": "<string>"
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
}
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
},
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"message": {
"text": "<string>",
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}{
"content": {
"data": "<string>",
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
}
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
},
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"message": {
"text": "<string>",
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}{
"content": {
"data": "<string>",
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
}
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
},
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"message": {
"text": "<string>",
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}Authorizations
Authentication token for API access
Body
application/json
Available options:
SalesCredit, PurchaseCredit Available options:
Exclusive, Inclusive, NoTax Available options:
None, Date, PayElementId, PoNumber, TagGroup, PayrollConfigId Show child attributes
Show child attributes
Was this page helpful?
⌘I
Create Draft Credit Note
curl --request POST \
--url https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes \
--header 'Content-Type: application/json' \
--header 'X-Auth-Token: <api-key>' \
--data '
{
"organisationId": "<string>",
"clientId": "<string>",
"date": "<string>",
"reference": "<string>",
"invoiceReference": "<string>",
"linkedInvoiceId": "<string>",
"groupingKey": "<string>",
"source": "<string>",
"currencyCode": "<string>",
"lineItems": [
{
"lineItemId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"creditNoteId": "<string>",
"employeeId": "<string>",
"employeeName": "<string>",
"payElementId": "<string>",
"payElementDescription": "<string>",
"description": "<string>",
"quantity": 123,
"unitAmount": 123,
"lineAmount": 123,
"taxAmount": 123,
"taxType": "<string>",
"accountCode": "<string>",
"tracking": [
{
"name": "<string>",
"option": "<string>",
"trackingCategoryId": "<string>",
"trackingOptionId": "<string>"
}
],
"attachments": [
{
"id": "<string>",
"lineItemId": "<string>",
"filename": "<string>",
"contentType": "<string>",
"fileSize": 123,
"uploadedDate": "<string>",
"uploadedBy": "<string>",
"s3Key": "<string>",
"source": "<string>",
"downloadUrl": "<string>",
"downloadUrlExpiresAt": "<string>"
}
],
"poNumber": "<string>"
}
]
}
'import requests
url = "https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes"
payload = {
"organisationId": "<string>",
"clientId": "<string>",
"date": "<string>",
"reference": "<string>",
"invoiceReference": "<string>",
"linkedInvoiceId": "<string>",
"groupingKey": "<string>",
"source": "<string>",
"currencyCode": "<string>",
"lineItems": [
{
"lineItemId": "<string>",
"organisationId": "<string>",
"clientId": "<string>",
"creditNoteId": "<string>",
"employeeId": "<string>",
"employeeName": "<string>",
"payElementId": "<string>",
"payElementDescription": "<string>",
"description": "<string>",
"quantity": 123,
"unitAmount": 123,
"lineAmount": 123,
"taxAmount": 123,
"taxType": "<string>",
"accountCode": "<string>",
"tracking": [
{
"name": "<string>",
"option": "<string>",
"trackingCategoryId": "<string>",
"trackingOptionId": "<string>"
}
],
"attachments": [
{
"id": "<string>",
"lineItemId": "<string>",
"filename": "<string>",
"contentType": "<string>",
"fileSize": 123,
"uploadedDate": "<string>",
"uploadedBy": "<string>",
"s3Key": "<string>",
"source": "<string>",
"downloadUrl": "<string>",
"downloadUrlExpiresAt": "<string>"
}
],
"poNumber": "<string>"
}
]
}
headers = {
"X-Auth-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Auth-Token': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
organisationId: '<string>',
clientId: '<string>',
date: '<string>',
reference: '<string>',
invoiceReference: '<string>',
linkedInvoiceId: '<string>',
groupingKey: '<string>',
source: '<string>',
currencyCode: '<string>',
lineItems: [
{
lineItemId: '<string>',
organisationId: '<string>',
clientId: '<string>',
creditNoteId: '<string>',
employeeId: '<string>',
employeeName: '<string>',
payElementId: '<string>',
payElementDescription: '<string>',
description: '<string>',
quantity: 123,
unitAmount: 123,
lineAmount: 123,
taxAmount: 123,
taxType: '<string>',
accountCode: '<string>',
tracking: [
{
name: '<string>',
option: '<string>',
trackingCategoryId: '<string>',
trackingOptionId: '<string>'
}
],
attachments: [
{
id: '<string>',
lineItemId: '<string>',
filename: '<string>',
contentType: '<string>',
fileSize: 123,
uploadedDate: '<string>',
uploadedBy: '<string>',
s3Key: '<string>',
source: '<string>',
downloadUrl: '<string>',
downloadUrlExpiresAt: '<string>'
}
],
poNumber: '<string>'
}
]
})
};
fetch('https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes', 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.sandbox.flowpayroll.ai/v1/billing/credit-notes",
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([
'organisationId' => '<string>',
'clientId' => '<string>',
'date' => '<string>',
'reference' => '<string>',
'invoiceReference' => '<string>',
'linkedInvoiceId' => '<string>',
'groupingKey' => '<string>',
'source' => '<string>',
'currencyCode' => '<string>',
'lineItems' => [
[
'lineItemId' => '<string>',
'organisationId' => '<string>',
'clientId' => '<string>',
'creditNoteId' => '<string>',
'employeeId' => '<string>',
'employeeName' => '<string>',
'payElementId' => '<string>',
'payElementDescription' => '<string>',
'description' => '<string>',
'quantity' => 123,
'unitAmount' => 123,
'lineAmount' => 123,
'taxAmount' => 123,
'taxType' => '<string>',
'accountCode' => '<string>',
'tracking' => [
[
'name' => '<string>',
'option' => '<string>',
'trackingCategoryId' => '<string>',
'trackingOptionId' => '<string>'
]
],
'attachments' => [
[
'id' => '<string>',
'lineItemId' => '<string>',
'filename' => '<string>',
'contentType' => '<string>',
'fileSize' => 123,
'uploadedDate' => '<string>',
'uploadedBy' => '<string>',
's3Key' => '<string>',
'source' => '<string>',
'downloadUrl' => '<string>',
'downloadUrlExpiresAt' => '<string>'
]
],
'poNumber' => '<string>'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Auth-Token: <api-key>"
],
]);
$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.sandbox.flowpayroll.ai/v1/billing/credit-notes"
payload := strings.NewReader("{\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"date\": \"<string>\",\n \"reference\": \"<string>\",\n \"invoiceReference\": \"<string>\",\n \"linkedInvoiceId\": \"<string>\",\n \"groupingKey\": \"<string>\",\n \"source\": \"<string>\",\n \"currencyCode\": \"<string>\",\n \"lineItems\": [\n {\n \"lineItemId\": \"<string>\",\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"creditNoteId\": \"<string>\",\n \"employeeId\": \"<string>\",\n \"employeeName\": \"<string>\",\n \"payElementId\": \"<string>\",\n \"payElementDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"quantity\": 123,\n \"unitAmount\": 123,\n \"lineAmount\": 123,\n \"taxAmount\": 123,\n \"taxType\": \"<string>\",\n \"accountCode\": \"<string>\",\n \"tracking\": [\n {\n \"name\": \"<string>\",\n \"option\": \"<string>\",\n \"trackingCategoryId\": \"<string>\",\n \"trackingOptionId\": \"<string>\"\n }\n ],\n \"attachments\": [\n {\n \"id\": \"<string>\",\n \"lineItemId\": \"<string>\",\n \"filename\": \"<string>\",\n \"contentType\": \"<string>\",\n \"fileSize\": 123,\n \"uploadedDate\": \"<string>\",\n \"uploadedBy\": \"<string>\",\n \"s3Key\": \"<string>\",\n \"source\": \"<string>\",\n \"downloadUrl\": \"<string>\",\n \"downloadUrlExpiresAt\": \"<string>\"\n }\n ],\n \"poNumber\": \"<string>\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Auth-Token", "<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.sandbox.flowpayroll.ai/v1/billing/credit-notes")
.header("X-Auth-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"date\": \"<string>\",\n \"reference\": \"<string>\",\n \"invoiceReference\": \"<string>\",\n \"linkedInvoiceId\": \"<string>\",\n \"groupingKey\": \"<string>\",\n \"source\": \"<string>\",\n \"currencyCode\": \"<string>\",\n \"lineItems\": [\n {\n \"lineItemId\": \"<string>\",\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"creditNoteId\": \"<string>\",\n \"employeeId\": \"<string>\",\n \"employeeName\": \"<string>\",\n \"payElementId\": \"<string>\",\n \"payElementDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"quantity\": 123,\n \"unitAmount\": 123,\n \"lineAmount\": 123,\n \"taxAmount\": 123,\n \"taxType\": \"<string>\",\n \"accountCode\": \"<string>\",\n \"tracking\": [\n {\n \"name\": \"<string>\",\n \"option\": \"<string>\",\n \"trackingCategoryId\": \"<string>\",\n \"trackingOptionId\": \"<string>\"\n }\n ],\n \"attachments\": [\n {\n \"id\": \"<string>\",\n \"lineItemId\": \"<string>\",\n \"filename\": \"<string>\",\n \"contentType\": \"<string>\",\n \"fileSize\": 123,\n \"uploadedDate\": \"<string>\",\n \"uploadedBy\": \"<string>\",\n \"s3Key\": \"<string>\",\n \"source\": \"<string>\",\n \"downloadUrl\": \"<string>\",\n \"downloadUrlExpiresAt\": \"<string>\"\n }\n ],\n \"poNumber\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.flowpayroll.ai/v1/billing/credit-notes")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Auth-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"date\": \"<string>\",\n \"reference\": \"<string>\",\n \"invoiceReference\": \"<string>\",\n \"linkedInvoiceId\": \"<string>\",\n \"groupingKey\": \"<string>\",\n \"source\": \"<string>\",\n \"currencyCode\": \"<string>\",\n \"lineItems\": [\n {\n \"lineItemId\": \"<string>\",\n \"organisationId\": \"<string>\",\n \"clientId\": \"<string>\",\n \"creditNoteId\": \"<string>\",\n \"employeeId\": \"<string>\",\n \"employeeName\": \"<string>\",\n \"payElementId\": \"<string>\",\n \"payElementDescription\": \"<string>\",\n \"description\": \"<string>\",\n \"quantity\": 123,\n \"unitAmount\": 123,\n \"lineAmount\": 123,\n \"taxAmount\": 123,\n \"taxType\": \"<string>\",\n \"accountCode\": \"<string>\",\n \"tracking\": [\n {\n \"name\": \"<string>\",\n \"option\": \"<string>\",\n \"trackingCategoryId\": \"<string>\",\n \"trackingOptionId\": \"<string>\"\n }\n ],\n \"attachments\": [\n {\n \"id\": \"<string>\",\n \"lineItemId\": \"<string>\",\n \"filename\": \"<string>\",\n \"contentType\": \"<string>\",\n \"fileSize\": 123,\n \"uploadedDate\": \"<string>\",\n \"uploadedBy\": \"<string>\",\n \"s3Key\": \"<string>\",\n \"source\": \"<string>\",\n \"downloadUrl\": \"<string>\",\n \"downloadUrlExpiresAt\": \"<string>\"\n }\n ],\n \"poNumber\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"content": {
"data": {
"id": "<string>",
"creditNoteNumber": "<string>",
"clientId": "<string>",
"organisationId": "<string>",
"date": "<string>",
"subTotal": 123,
"totalTax": 123,
"amount": 123,
"balanceDue": 123,
"reference": "<string>",
"invoiceReference": "<string>",
"linkedInvoiceId": "<string>",
"groupingKey": "<string>",
"source": "<string>",
"currencyCode": "<string>",
"currencyRate": 123,
"subtotalGroups": [
{
"label": "<string>",
"amount": 123,
"taxAmount": 123,
"totalAmount": 123,
"sortOrder": 123
}
],
"attachments": [
{
"id": "<string>",
"fileName": "<string>",
"url": "<string>",
"description": "<string>",
"s3Key": "<string>",
"contentType": "<string>",
"fileSize": 123,
"uploadedDate": "<string>",
"uploadedBy": "<string>",
"downloadUrl": "<string>",
"downloadUrlExpiresAt": "<string>"
}
],
"linesWithoutAttachmentsCount": 123,
"linesWithoutPoNumberCount": 123,
"allocations": [
{
"allocationId": "<string>",
"creditNoteId": "<string>",
"invoiceId": "<string>",
"amount": 123,
"date": "<string>",
"invoice": {
"invoiceId": "<string>",
"invoiceNumber": "<string>"
}
}
],
"externalId": "<string>",
"externalProvider": "<string>",
"lastSyncedAt": "<string>",
"syncErrorMessage": "<string>",
"syncErrorCode": "<string>",
"externalProviderStatus": "<string>",
"emailSent": true,
"emailSentAt": "<string>",
"emailSentBy": "<string>",
"createdDate": "<string>",
"createdBy": "<string>",
"updatedDate": "<string>",
"updatedBy": "<string>"
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
}
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
},
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"message": {
"text": "<string>",
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}{
"content": {
"data": "<string>",
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
}
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
},
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"message": {
"text": "<string>",
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}{
"content": {
"data": "<string>",
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
}
},
"metadata": {
"dateFormat": "<string>",
"dateTimeFormat": "<string>"
},
"errors": [
{
"field": "<string>",
"reasonText": "<string>",
"reasonId": "<string>",
"reasonParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
],
"message": {
"text": "<string>",
"textId": "<string>",
"textParameters": [
{
"key": "<string>",
"value": "<string>"
}
]
}
}