Invoices
Invoices represent a set of jobs that are invoiced together.
The Invoice object
Properties
idstring
Unique identifier for the object.
applyVATReverseChargeboolean
True if the reverse charge applies.
archiveboolean
True if the entity is archived.
clientobject
The client.currencyobject
The currency.discountnumber
The discount percentage.
documentobject
The document configuration.dueDatedate
The due date of the invoice.
exchangeRatesobject
ExchangeRatesfilenameFormatstring
The filename format.
headerstring
The header of the invoice.
internalNotesarray
NotesisConflictingNumberboolean
True if the invoice number is conflicting.
isPartiallyPaidboolean
True if the invoice is partially paid.
issueDatedate
The issue date of the invoice.
labelsarray
The labels.linesarray
linesnotesstring
The notes linked to the entity.
numberstring
The invoice number.
paymentDatedate
paymentDate
paymentsarray
The paymentspinnedboolean
True if the entity is pinned.
rappenRoundingboolean
True if the rounding is in rappen (CHF currency only).
relatedCreditNoteIdsarray
The ids of the related credit notes.
relatedToInvoiceIdstring
The id of the related invoice (if credited).
sentDatedate
The date the invoice was sent.
sentDateStatusobject
The status of the sent date.
statusnumber
The status of the invoice. Valid values are:
1
(draft),2
(sent),3
(paid),4
(credited).tax1object
The first tax.
tax2object
The second taxtermsstring
The terms of the invoice.
totalobject
The total of the invoice.typenumber
The type of the invoice. Valid values are:
1
(invoice),2
(credit note),3
(credit note with negative values).userobject
The user that created the invoice.createdAtdate
The date and time the entity was created.
updatedAtdate
The date and time the entity was last updated.
invoice object
{
"id": "6719e8737b67c75f356f97f2",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-23T07:25:55.454Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "001.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-24T06:25:55.454Z",
"labels": [],
"lines": [
{
"job": {
"id": "6718a1c90e27164043ceaff6",
"name": "Demo job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"extraCharge": {
"type": "percentage",
"percentage": 0.1,
"amount": 0
},
"quantity": {
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
},
"value": 1000
},
"totalDetails": {
"extraCharge": {
"amount": 14,
"discount": 0,
"total": 14
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 154
},
"group": {
"isParent": false,
"childLines": []
},
"unitCost": 0.14,
"discount": 0,
"lineTotal": 154,
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"id": "6719e8737b67c75f356f97f7"
}
],
"number": "001",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"sentDate": "2024-10-28T12:48:36.516Z",
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 154,
"subtotalTaxable": 154,
"subtotalWithoutTaxes": 154,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 32.34,
"value": 0.21
},
"tax2": null,
"total": 186.34
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce912e",
"name": "Cédric Doe"
},
"createdAt": "2024-10-24T06:25:55.454Z",
"updatedAt": "2024-10-28T12:48:39.465Z"
}
List all invoices
This endpoint allows you to retrieve all the invoices.
Request
curl -G https://api.lsp.expert/v2/invoices \
-u {key}:
Response
{
"items": [{
"id": "6719e8737b67c75f356f97f2",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-23T07:25:55.454Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "001.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-24T06:25:55.454Z",
"labels": [],
"lines": [
{
"job": {
"id": "6718a1c90e27164043ceaff6",
"name": "Demo job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"extraCharge": {
"type": "percentage",
"percentage": 0.1,
"amount": 0
},
"quantity": {
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
},
"value": 1000
},
"totalDetails": {
"extraCharge": {
"amount": 14,
"discount": 0,
"total": 14
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 154
},
"group": {
"isParent": false,
"childLines": []
},
"unitCost": 0.14,
"discount": 0,
"lineTotal": 154,
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"id": "6719e8737b67c75f356f97f7"
}
],
"number": "001",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"sentDate": "2024-10-28T12:48:36.516Z",
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 154,
"subtotalTaxable": 154,
"subtotalWithoutTaxes": 154,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 32.34,
"value": 0.21
},
"tax2": null,
"total": 186.34
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce912e",
"name": "Cédric Doe"
},
"createdAt": "2024-10-24T06:25:55.454Z",
"updatedAt": "2024-10-28T12:48:39.465Z"
},
{...},
{...}
],
"pageSize": 20,
"page": 1,
"totalPages": 1,
"totalItems": 2,
"hasNextPage": false,
"hasPreviousPage": false
}
Create an invoice
This endpoint allows you to add a new invoice.
Parameters
clientstring Required
The client id.
currencystring Required
The currency code (ISO, e.g., EUR).
Request
curl https://api.lsp.expert/v2/invoices \
-u {key}: \
-d client="6718a1350e27164043ce9e80" \
-d currency="EUR"
Response
{
"id": "671f895f186d40de4869b857",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T12:53:51.263Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "002.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T12:53:51.263Z",
"labels": [],
"lines": [],
"number": "002",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 0,
"subtotalTaxable": 0,
"subtotalWithoutTaxes": 0,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 0,
"value": 0.21
},
"tax2": null,
"total": 0
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T12:53:51.263Z",
"updatedAt": "2024-10-28T12:53:51.267Z"
}
Create an invoice for jobs
This endpoint allows you to add a new invoice and automatically add several lines for jobs.
Parameters
groupByProjectManagersboolean
True if the lines should be grouped by project managers.
isPartialboolean
True if the invoice is partial.
jobsarray
The list of jobs ids.
Request
curl https://api.lsp.expert/v2/invoices/multi \
-u {key}: \
-d ids=["6718a1c90e27164043ceaff6", "6718a1350e27164043ce9f2f"]
Response
[
{
"id": "671f8c92186d40de4869c002",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T13:07:30.564Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "001.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T13:07:30.564Z",
"labels": [],
"lines": [
{
"job": {
"id": "6718a1c90e27164043ceaff6",
"name": "Second job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": []
},
"id": "671f8c92186d40de4869c007"
},
{
"job": {
"id": "6718a1350e27164043ce9f2f",
"name": "First job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": []
},
"id": "671f8c92186d40de4869c00c"
}
],
"number": "001",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 280,
"subtotalTaxable": 280,
"subtotalWithoutTaxes": 280,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 58.8,
"value": 0.21
},
"tax2": null,
"total": 338.8
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce912e",
"name": "Cédric Doe"
},
"createdAt": "2024-10-28T13:07:30.563Z",
"updatedAt": "2024-10-28T13:07:30.596Z"
}
]
Create an invoice for multi groups
This endpoint allows you to add a new invoice and automatically add several lines for groups.
Parameters
groupsarray
The list of groups ids.
Request
curl https://api.lsp.expert/v2/invoices/multi-groups \
-u {key}: \
-d ids=["6719f4f853737267e4194122", "671f8d7c186d40de4869c6c3"]
Response
[
{
"id": "671f8dbf186d40de4869d64e",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T13:12:31.066Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "001.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T13:12:31.066Z",
"labels": [],
"lines": [
{
"job": {
"groupId": "671f8d7c186d40de4869c6c3",
"name": "Second job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"unitCost": 280,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1
},
"lineTotal": 280,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 0,
"discount": 0,
"total": 0
},
"total": 0
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": true,
"childLines": [
"671f8dbf186d40de4869d65d",
"671f8dbf186d40de4869d662"
]
},
"id": "671f8dbf186d40de4869d65b"
},
{
"job": {
"id": "6718a1350e27164043ce9f2f",
"groupId": "671f8d7c186d40de4869c6c3",
"name": "First job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": [],
"parentLineId": "671f8dbf186d40de4869d65b"
},
"id": "671f8dbf186d40de4869d65d"
},
{
"job": {
"id": "6718a1c90e27164043ceaff6",
"groupId": "671f8d7c186d40de4869c6c3",
"name": "Second job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": [],
"parentLineId": "671f8dbf186d40de4869d65b"
},
"id": "671f8dbf186d40de4869d662"
},
{
"job": {
"groupId": "6719f4f853737267e4194122",
"name": "First group",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"unitCost": 280,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1
},
"lineTotal": 280,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 0,
"discount": 0,
"total": 0
},
"total": 0
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": true,
"childLines": [
"671f8dbf186d40de4869d671",
"671f8dbf186d40de4869d676"
]
},
"id": "671f8dbf186d40de4869d66f"
},
{
"job": {
"id": "6718a1ea0e27164043ceb62d",
"groupId": "6719f4f853737267e4194122",
"name": "Third job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": [],
"parentLineId": "671f8dbf186d40de4869d66f"
},
"id": "671f8dbf186d40de4869d671"
},
{
"job": {
"id": "6719f4f853737267e419408d",
"groupId": "6719f4f853737267e4194122",
"name": "Fourth job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": [],
"parentLineId": "671f8dbf186d40de4869d66f"
},
"id": "671f8dbf186d40de4869d676"
}
],
"number": "001",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 560,
"subtotalTaxable": 560,
"subtotalWithoutTaxes": 560,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 117.6,
"value": 0.21
},
"tax2": null,
"total": 677.6
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce912e",
"name": "Cédric Doe"
},
"createdAt": "2024-10-28T13:12:31.066Z",
"updatedAt": "2024-10-28T13:12:31.105Z"
}
]
Retrieve an invoice
This endpoint allows you to retrieve an invoice by providing their id.
Request
curl https://api.lsp.expert/v2/invoices/671f895f186d40de4869b857 \
-u {key}:
Response
{
"id": "671f895f186d40de4869b857",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T12:53:51.263Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "002.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T12:53:51.263Z",
"labels": [],
"lines": [],
"number": "002",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 0,
"subtotalTaxable": 0,
"subtotalWithoutTaxes": 0,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 0,
"value": 0.21
},
"tax2": null,
"total": 0
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T12:53:51.263Z",
"updatedAt": "2024-10-28T12:53:51.267Z"
}
Retrieve an invoice as PDF
This endpoint allows you to retrieve a PDF for one or multiple invoices.
Request
curl https://api.lsp.expert/v2/invoices/generate/ids=671f905a186d40de4869e273 \
-u {key}:
Retrieve an invoice as UBL
This endpoint allows you to retrieve an UBL file for an invoice.
Request
curl https://api.lsp.expert/v2/invoices/generate-ubl/671f905a186d40de4869e273 \
-u {key}:
Update an invoice
This endpoint allows you to perform an update on an invoice. Any parameters not provided will be left unchanged.
Parameters
applyVATReverseChargeboolean
True if the reverse charge applies.
archiveboolean
True if the entity is archived.
clientAddressCitystring,
The city of the client.
clientAddressCountrystring,
The country of the client.
clientAddressLine1string,
The first line of the client address.
clientAddressLine2string,
The second line of the client address.
clientAddressNamestring,
The name of the client address.
clientAddressPostalCodestring,
The postal code of the client.
clientAddressStatestring,
The state of the client.
clientDetailsstring,
Any details about the client.
clientNationalIdentificationNumberstring,
The national identification number of the client (VAT, SIRET, etc).
clientVatNumberstring,
The VAT number of the client.
discountnumber
The discount applied on the invoice (percentage).
documentstring
The document id.
dueDatestring,
The due date of the invoice.
exchangeRateIssueDatenumber,
The exchange rate on the issue date.
exchangeRatePaymentDatenumber,
The exchange rate on the payment date.
filenameFormatstring
The filename format.
headerstring,
The header of the invoice.
issueDatestring
The issue date of the invoice.
notesstring,
The notes for the client.
numberstring
The number of the invoice.
pinnedboolean
True if the entity is pinned.
rappenRoundingboolean
True if the rounding is in rappen (CHF currency only).
sentDatestring,
The date the invoice was sent.
showExchangeRateOnInvoiceboolean
True if the exchange rate should be shown on the invoice.
statusnumber
One of the following value:
1
(draft),2
(sent),3
(paid),4
(credited).tax1string,
The first tax id.
tax2string,
The second tax id.
termsstring,
The terms of the invoice.
Request
curl -X PUT https://api.lsp.expert/v2/invoices/671f895f186d40de4869b857 \
-u {key}: \
-d status=2
Response
{
"id": "671f895f186d40de4869b857",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T12:53:51.263Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "002.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T12:53:51.263Z",
"labels": [],
"lines": [],
"number": "002",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"sentDate": "2024-10-28T13:00:05.149Z",
"status": 2,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 0,
"subtotalTaxable": 0,
"subtotalWithoutTaxes": 0,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 0,
"value": 0.21
},
"tax2": null,
"total": 0
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T12:53:51.263Z",
"updatedAt": "2024-10-28T13:00:05.153Z"
}
Sync invoice with client info
This endpoint allows you to sync the invoice with the latest client info.
Parameters
Request
curl -X PUT https://api.lsp.expert/v2/invoices/671f895f186d40de4869b857/sync-client \
-u {key}:
Response
{
"id": "671f895f186d40de4869b857",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T12:53:51.263Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "002.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T12:53:51.263Z",
"labels": [],
"lines": [],
"number": "002",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"sentDate": "2024-10-28T13:00:05.149Z",
"status": 2,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 0,
"subtotalTaxable": 0,
"subtotalWithoutTaxes": 0,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 0,
"value": 0.21
},
"tax2": null,
"total": 0
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T12:53:51.263Z",
"updatedAt": "2024-10-28T13:00:05.153Z"
}
Delete an invoice
This endpoint allows you to delete an invoice.
Request
curl -X DELETE https://api.lsp.expert/v2/invoices/671f895f186d40de4869b857 \
-u {key}:
Send via email
This endpoint allows you to send an invoice via email.
Parameters
ccarray
The list of contact ids to cc (if not provided, use the default cc contacts of the client).
contentstring
The content of the email (if not provided, use the default content of the document configuration for the client).
documentSettingsstring
The document id to use for the email (if not provided, use the default document of the client).
isReminderboolean Required
True if the email is a reminder.
subjectstring
The subject of the email (if not provided, use the default subject of the document configuration for the client).
toarray
The list of contact ids to send the emails to (if not provided, use the default to contacts of the client).
Request
curl https://api.lsp.expert/v2/invoices/671f895f186d40de4869b857 \
-u {key}:
Response
{
"id": "671f895f186d40de4869b857",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T12:53:51.263Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "002.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T12:53:51.263Z",
"labels": [],
"lines": [],
"number": "002",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"sentDate": "2024-10-28T13:00:05.149Z",
"status": 2,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 0,
"subtotalTaxable": 0,
"subtotalWithoutTaxes": 0,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 0,
"value": 0.21
},
"tax2": null,
"total": 0
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T12:53:51.263Z",
"updatedAt": "2024-10-28T13:00:05.153Z"
}
Add line
This endpoint allows you to add a line on the invoice.
Parameters
namestring Required
The name of the line.
additionalInfostring
Any additional info.
deliveryDatestring
The delivery date.
discountnumber
The discount applied on the line (percentage).
extraChargeAmountnumber
The extra charge amount.
extraChargeDescriptionstring,null
The extra charge description.
extraChargePercentagenumber
The extra charge percentage.
extraChargeTypestring
One of the following value:
amount
,percentage
.projectManagerstring
The project manager id.
purchaseOrderstring
The purchase order.
quantitynumber Required
The quantity.
quantityTypestring
The quantity type id.
unitCostnumber Required
The cost per unit.
Request
curl https://api.lsp.expert/v2/invoices/671f9a64186d40de4869f3c4/lines \
-u {key}: \
-d name="DHL fee" \
-d quantity=1 \
-d unitCost=13
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [
{
"job": {
"name": "DHL fee",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"unitCost": 13,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0,
"description": null
},
"quantity": {
"value": 1
},
"lineTotal": 13,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 13,
"discount": 0,
"total": 13
},
"total": 13
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": []
},
"id": "671f9a73186d40de4869f4f9"
}
],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 13,
"subtotalTaxable": 13,
"subtotalWithoutTaxes": 13,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 2.73,
"value": 0.21
},
"tax2": null,
"total": 15.73
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T14:06:43.396Z"
}
Add line for a job
This endpoint allows you to add a line on the invoice for a job.
Parameters
isPartialboolean
True if you want to partially invoice the job.
jobIdstring Required
The job id.
Request
curl https://api.lsp.expert/v2/invoices/671f9a64186d40de4869f3c4/lines/job \
-u {key}: \
-d isPartial=false \
-d jobId="6718a1ea0e27164043ceb62d"
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [
{
"job": {
"id": "6718a1ea0e27164043ceb62d",
"name": "Third job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": []
},
"id": "671f9b00186d40de4869f6fc"
}
],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 140,
"subtotalTaxable": 140,
"subtotalWithoutTaxes": 140,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 29.4,
"value": 0.21
},
"tax2": null,
"total": 169.4
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T14:09:04.140Z"
}
Add line for a group
This endpoint allows you to add a line on the invoice for a group.
Parameters
groupIdstring Required
The job id.
Request
curl https://api.lsp.expert/v2/invoices/671f9a64186d40de4869f3c4/lines/group \
-u {key}: \
-d groupId="671f9cd7fca5590b104135a6"
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [
{
"job": {
"id": "6718a1ea0e27164043ceb62d",
"groupId": "671f9cd7fca5590b104135a6",
"name": "Third job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": []
},
"id": "671f9cf0fca5590b10413b28"
},
{
"job": {
"id": "6719f4f853737267e419408d",
"groupId": "671f9cd7fca5590b104135a6",
"name": "Fourth job",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"additionalInfo": null,
"unitCost": 0.14,
"discount": 0,
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"value": 1000,
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
}
},
"lineTotal": 140,
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"group": {
"isParent": false,
"childLines": []
},
"id": "671f9cf0fca5590b10413b35"
}
],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 280,
"subtotalTaxable": 280,
"subtotalWithoutTaxes": 280,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 58.8,
"value": 0.21
},
"tax2": null,
"total": 338.8
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T14:17:20.857Z"
}
Update an invoice line
This endpoint allows you to perform an update on an invoice line. Any parameters not provided will be left unchanged.
Parameters
namestring
The name of the line.
additionalInfostring,null
Any additional info.
deliveryDatestring,null
The delivery date.
discountnumber
The discount applied on the line (percentage).
extraChargeAmountnumber
The extra charge amount.
extraChargeDescriptionstring,null
The extra charge description.
extraChargePercentagenumber
The extra charge percentage.
extraChargeTypestring
One of the following value:
amount
,percentage
.groupMatchesboolean
True if the matches are grouped on the line.
notIncludeInTaxesboolean
True if the line should not be included in the taxes.
projectManagerstring,null
The project manager id.
purchaseOrderstring,null
The purchase order.
quantitynumber
The quantity.
quantityTypestring,null
The quantity type id.
unitCostnumber
The cost per unit.
Request
curl -X PUT https://api.lsp.expert/v2/invoices/671f895f186d40de4869b857/lines/671f9d82fca5590b1041417f \
-u {key}: \
-d name="Third job (edit)"
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [
{
"job": {
"id": "6718a1ea0e27164043ceb62d",
"groupId": "671f9cd7fca5590b104135a6",
"name": "Third job (edit)",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
},
"value": 1000
},
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 140,
"discount": 0,
"total": 140
},
"total": 140
},
"group": {
"isParent": false,
"childLines": []
},
"unitCost": 0.14,
"discount": 0,
"lineTotal": 140,
"notIncludeInTaxes": false,
"matches": [],
"groupMatches": false,
"id": "671f9d82fca5590b1041417f"
}
],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 140,
"subtotalTaxable": 140,
"subtotalWithoutTaxes": 140,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 29.4,
"value": 0.21
},
"tax2": null,
"total": 169.4
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T14:22:25.092Z"
}
Update an invoice line match
This endpoint allows you to perform an update on a match. Any parameters not provided will be left unchanged.
Parameters
quantitynumber
The quantity.
unitCostnumber
The cost per unit.
Request
curl -X PUT https://api.lsp.expert/v2/invoices/671f9ed7fca5590b10415012/lines/671f9ed7fca5590b10415012/matches/671f9ed7fca5590b10415013 \
-u {key}: \
-d quantity=1450
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [
{
"job": {
"id": "671f9ec7fca5590b10414931",
"name": "Brochure 2024",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
},
"value": 1950
},
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 273,
"discount": 0,
"total": 273
},
"total": 273
},
"group": {
"isParent": false,
"childLines": []
},
"unitCost": 0.14,
"discount": 0,
"lineTotal": 273,
"notIncludeInTaxes": false,
"matches": [
{
"match": {
"id": "671f9eaafca5590b1041459f",
"name": "0%"
},
"unitCost": 0.14,
"quantity": 1450,
"discount": 0,
"extraCharge": 0,
"lineTotal": 203,
"id": "671f9ed7fca5590b10415013"
},
{
"match": {
"id": "671f9ea7fca5590b10414546",
"name": "100%"
},
"unitCost": 0.14,
"quantity": 200,
"discount": 0,
"extraCharge": 0,
"lineTotal": 28,
"id": "671f9ed7fca5590b10415015"
},
{
"match": {
"id": "671f9eaefca5590b104145fa",
"name": "Fuzzies"
},
"unitCost": 0.14,
"quantity": 300,
"discount": 0,
"extraCharge": 0,
"lineTotal": 42,
"id": "671f9ed7fca5590b10415017"
}
],
"groupMatches": false,
"id": "671f9ed7fca5590b10415012"
}
],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 273,
"subtotalTaxable": 273,
"subtotalWithoutTaxes": 273,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 57.33,
"value": 0.21
},
"tax2": null,
"total": 330.33
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T14:25:39.869Z"
}
Sync an invoice line with the job
This endpoint allows you to sync a line with the related job (quantity, unit cost, etc.).
Parameters
Request
curl -X PUT https://api.lsp.expert/v2/invoices/671f9ed7fca5590b10415012/lines/671f9ec7fca5590b10414931/sync \
-u {key}:
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [
{
"job": {
"id": "671f9ec7fca5590b10414931",
"name": "Brochure 2024",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
},
"value": 1950
},
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 273,
"discount": 0,
"total": 273
},
"total": 273
},
"group": {
"isParent": false,
"childLines": []
},
"unitCost": 0.14,
"discount": 0,
"lineTotal": 273,
"notIncludeInTaxes": false,
"matches": [
{
"match": {
"id": "671f9eaafca5590b1041459f",
"name": "0%"
},
"unitCost": 0.14,
"quantity": 1450,
"discount": 0,
"extraCharge": 0,
"lineTotal": 203,
"id": "671f9ed7fca5590b10415013"
},
{
"match": {
"id": "671f9ea7fca5590b10414546",
"name": "100%"
},
"unitCost": 0.14,
"quantity": 200,
"discount": 0,
"extraCharge": 0,
"lineTotal": 28,
"id": "671f9ed7fca5590b10415015"
},
{
"match": {
"id": "671f9eaefca5590b104145fa",
"name": "Fuzzies"
},
"unitCost": 0.14,
"quantity": 300,
"discount": 0,
"extraCharge": 0,
"lineTotal": 42,
"id": "671f9ed7fca5590b10415017"
}
],
"groupMatches": false,
"id": "671f9ed7fca5590b10415012"
}
],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 273,
"subtotalTaxable": 273,
"subtotalWithoutTaxes": 273,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 57.33,
"value": 0.21
},
"tax2": null,
"total": 330.33
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T14:25:39.869Z"
}
Move an invoice line
This endpoint allows you to move a line to a new position.
Parameters
Request
curl -X PUT https://api.lsp.expert/v2/invoices/671f9ed7fca5590b10415012/lines/671f9ec7fca5590b10414931/move/1 \
-u {key}:
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [
{
"job": {
"id": "671f9ec7fca5590b10414931",
"name": "Brochure 2024",
"isFixedPrice": false,
"percentageInvoiced": 1,
"timeBasedInvoice": false,
"minimumFeeApplied": false
},
"service": {
"id": "6718a0f90e27164043ce95c0",
"name": "Translation"
},
"extraCharge": {
"type": "percentage",
"percentage": 0,
"amount": 0
},
"quantity": {
"quantityType": {
"id": "6718a0f90e27164043ce96a7",
"name": "Words"
},
"value": 1950
},
"totalDetails": {
"extraCharge": {
"amount": 0,
"discount": 0,
"total": 0
},
"subtotal": {
"amount": 273,
"discount": 0,
"total": 273
},
"total": 273
},
"group": {
"isParent": false,
"childLines": []
},
"unitCost": 0.14,
"discount": 0,
"lineTotal": 273,
"notIncludeInTaxes": false,
"matches": [
{
"match": {
"id": "671f9eaafca5590b1041459f",
"name": "0%"
},
"unitCost": 0.14,
"quantity": 1450,
"discount": 0,
"extraCharge": 0,
"lineTotal": 203,
"id": "671f9ed7fca5590b10415013"
},
{
"match": {
"id": "671f9ea7fca5590b10414546",
"name": "100%"
},
"unitCost": 0.14,
"quantity": 200,
"discount": 0,
"extraCharge": 0,
"lineTotal": 28,
"id": "671f9ed7fca5590b10415015"
},
{
"match": {
"id": "671f9eaefca5590b104145fa",
"name": "Fuzzies"
},
"unitCost": 0.14,
"quantity": 300,
"discount": 0,
"extraCharge": 0,
"lineTotal": 42,
"id": "671f9ed7fca5590b10415017"
}
],
"groupMatches": false,
"id": "671f9ed7fca5590b10415012"
}
],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 273,
"subtotalTaxable": 273,
"subtotalWithoutTaxes": 273,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 57.33,
"value": 0.21
},
"tax2": null,
"total": 330.33
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T14:25:39.869Z"
}
Delete an invoice line
This endpoint allows you to delete an invoice line.
Request
curl -X DELETE https://api.lsp.expert/v2/invoices/671f895f186d40de4869b857/lines/671f9ec7fca5590b10414931 \
-u {key}:
Response
{
"id": "671f9a64186d40de4869f3c4",
"applyVATReverseCharge": false,
"archive": false,
"client": {
"id": "6718a1350e27164043ce9e80",
"name": "Microsoft",
"address": {
"name": "Microsoft"
}
},
"currency": {
"code": "EUR",
"symbol": "€"
},
"discount": 0,
"document": {
"id": "6718a0b50e27164043ce915a",
"name": "English"
},
"dueDate": "2024-11-27T14:06:28.759Z",
"exchangeRates": {
"showExchangeRateOnInvoice": false
},
"filename": "003.pdf",
"filenameFormat": "[number]",
"internalNotes": [],
"isConflictingNumber": false,
"isPartiallyPaid": false,
"issueDate": "2024-10-28T14:06:28.759Z",
"labels": [],
"lines": [],
"number": "003",
"object": "invoice",
"payments": [],
"pinned": false,
"rappenRounding": false,
"relatedCreditNoteIds": [],
"status": 1,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"value": 0.21
},
"total": {
"discount": {
"amount": 0,
"value": 0
},
"subtotal": 0,
"subtotalTaxable": 0,
"subtotalWithoutTaxes": 0,
"tax1": {
"id": "6718a0fd0e27164043ce97ae",
"name": "VAT",
"amount": 0,
"value": 0.21
},
"tax2": null,
"total": 0
},
"type": 1,
"user": {
"id": "6718a0b50e27164043ce9130",
"name": "Degallaix Corp."
},
"createdAt": "2024-10-28T14:06:28.759Z",
"updatedAt": "2024-10-28T15:41:09.292Z"
}