Help Page Home - Invoices
POST Invoice
Insert an invoice.
Request Information
URI Parameters
Name | Description | Type | Additional information |
---|---|---|---|
WsAccessKey | The Web Service access key for this user and file which allows access to the API for the associated file (found in File - Settings). Using OAuth authentication mechanism is the preferred method to allow API access. | string |
Optional. Legacy authentication method and only required if not using OAuth. OAuth is preferred. |
FileId | Specifies the file id of the file to perform the operation upon. | integer |
Required |
Body Parameters
Invoice details.
InvoiceTransactionDetailName | Description | Type | Additional information |
---|---|---|---|
LineItems | The line items associated with this invoice. | Collection of InvoiceTransactionLineItem |
Required |
NotesInternal | Textual notes set by the system. | string |
None. |
NotesExternal | Textual notes set by the user. | string |
None. |
Terms | The trading terms of the invoice. | InvoiceTradingTerms |
None. |
Attachments | List of attachments associated with this invoice. This data is returned only and cannot be added or updated when issuing a POST or PUT. | Collection of FileAttachmentInfo |
None. |
TemplateId | The Id/key of the template (if any) associated with this invoice. | integer |
None. |
ForEntityTypeId | The Id of EntityType to use for printing/sending (4 - Sale, 98 - Shipping Slip). | integer |
None. |
SendEmailToContact | Instruct the system to send an email to the contact as part of the insert/update. EmailMessage details, including 'From' and 'To', must also be specified. | boolean |
None. |
EmailMessage | The Email message to send to the contact if instructed. Note: This is only applicable when updating (PUT) or inserting (POST) a transaction and is not returned when making a GET request. |
None. |
|
QuickPayment | Payment to be applied to this invoice. Quickpayments can only be inserted/added via a HTTP POST request. Updates via HTTP PUT are not support. Note: This is only applicable when updating (PUT) or inserting (POST) a transaction and is not returned when making a GET request. | InvoiceQuickPaymentDetail |
None. |
TransactionId | The Id/key of the invoice/transaction. This data is returned only and cannot be added or updated when issuing a POST or PUT. | integer |
None. |
LastUpdatedId | A data field used to check concurreny when performing updates. This data is returned only and used for concurrency checking when performing an update/PUT. | string |
None. |
Currency | The currrency code of the amounts. Eg. AUD. | string |
None. |
InvoiceNumber | Invoice number. Use a value of <Auto Number> to automatically generate an invoice number. | string |
None. |
InvoiceType | Available types are: "Pre-Quote Opportunity", "Quote" , "Purchase Order", "Sale Order", "Tax Invoice", "Adjustment Note", "RCT Invoice", "Money In (Income)", "Money Out (Expense)". | string |
Required |
TransactionType | The transaction type of the invoice. Supported types are: 'S' = sale, 'P' = purchase. | string |
Required |
Layout | The Layout of the invoice. I = Item Sale, S = Service Sale. | string |
Required |
BrandId | The id/key of brand for the invoice. 0 or null means default brand. Used for printing and emailing PDF invoice in new theme library. | integer |
None. |
Summary | Invoice summary. | string |
None. |
TotalAmount | Total amount of the invoice. | decimal number |
None. |
TotalTaxAmount | Total tax amount of the invoice. | decimal number |
None. |
IsTaxInc | Indicates if tax is included in the amounts. On an invoice insert or update, if this element is not included or specified, then false is assumed. | boolean |
None. |
AmountPaid | Total amount paid. | decimal number |
None. |
AmountOwed | Total amount owed. | decimal number |
None. |
FxRate | FXRate (Foreign exchange rate) applied to this invoice. | decimal number |
None. |
AutoPopulateFxRate | Determines whether the FxRate is automatically populated using the Fx feed. | boolean |
None. |
RequiresFollowUp | Indicates whether the invoice requires follow up. | boolean |
None. |
SentToContact | Indicates whether the invoice was sent to the contact. | boolean |
None. |
TransactionDate | Date of this transaction. | date |
Required |
BillingContactId | The Id/key of the billing contact. | integer |
None. |
BillingContactFirstName | Billing contact first name. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
BillingContactLastName | Billing contact last name. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
BillingContactOrganisationName | Billing contact organisation name. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
ShippingContactId | The Id/key of the shipping contact. | integer |
None. |
ShippingContactFirstName | Shipping contact first name. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
ShippingContactLastName | Shipping contact last name. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
ShippingContactOrganisationName | Shipping contact organisation name. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
CreatedDateUtc | The date and time this resource was created in UTC. This data is returned only and cannot be added or updated when issuing a POST or PUT. | date |
None. |
LastModifiedDateUtc | The date and time this resource was last modified in UTC. This data is returned only and cannot be added or updated when issuing a POST or PUT. | date |
None. |
PaymentStatus | The payment status of this invoice. Supported types are: 'A' = all, 'P' = paid, 'U' = unpaid. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
DueDate | The date that this invoice is due. | date |
None. |
InvoiceStatus | Not required for inserting/adding an invoice as it is determined by the "InvoiceType'. Indicator specifying: Q = Quote, O = Order, I = Invoice. Note: This field is deprecated (is readonly) and is inferred from InvoiceType. It is here for backwards compatibility only. This data is returned only and cannot be added or updated when issuing a POST or PUT. | string |
None. |
PurchaseOrderNumber | The purchase order number. | string |
None. |
PaymentCount | The number of payments applied (if any). This data is returned only and cannot be added or updated when issuing a POST or PUT. | integer |
None. |
Tags | List of tags associated with this resource. | Collection of string |
None. |
_links | Hypermedia links. Contains contextual links to possible next actions related to this resource. Only present in responses. This data is not to be sent to the server. | Collection of Link |
None. |
Request Formats
application/json, text/json
Sample:
{ "LineItems": [ { "Id": 30, "Description": "Sale Item", "AccountId": null, "TaxCode": "G1", "TotalAmount": 10.45, "Quantity": 3.0, "UnitPrice": 11.5, "PercentageDiscount": 0.0, "InventoryId": 30, "ItemCode": "CC123", "Tags": [], "Attributes": [], "_links": [] } ], "NotesInternal": null, "NotesExternal": null, "Terms": { "Type": 1, "Interval": 3, "IntervalType": null, "TypeEnum": "DueIn", "IntervalTypeEnum": "Week" }, "Attachments": [ { "Id": 1, "Size": 0, "Name": "test.txt", "Description": "Test document", "ItemIdAttachedTo": 0, "_links": [ { "rel": "detail", "href": "https://api.saasu.com/InvoiceAttachment/1?FileId=123", "method": "GET", "title": null } ] } ], "TemplateId": null, "ForEntityTypeId": null, "SendEmailToContact": null, "EmailMessage": null, "QuickPayment": null, "TransactionId": 5093684, "LastUpdatedId": "AAAAAAAKgc=", "Currency": "AUD", "InvoiceNumber": "INV-1123", "InvoiceType": "Tax Invoice", "TransactionType": "S", "Layout": "I", "BrandId": null, "Summary": "Invoice for order 1123", "TotalAmount": 10.45, "TotalTaxAmount": null, "IsTaxInc": true, "AmountPaid": 0.0, "AmountOwed": 11.5, "FxRate": 1.0, "AutoPopulateFxRate": false, "RequiresFollowUp": false, "SentToContact": true, "TransactionDate": "2015-01-24T00:00:00", "BillingContactId": 1568986, "BillingContactFirstName": "Freddy", "BillingContactLastName": "Fungus", "BillingContactOrganisationName": "Fungal Innovation", "ShippingContactId": 10, "ShippingContactFirstName": "Big", "ShippingContactLastName": "Bob", "ShippingContactOrganisationName": "Bobbby Inc", "CreatedDateUtc": "2024-11-19T18:00:08.1570474Z", "LastModifiedDateUtc": "2024-11-20T18:00:08.1570474Z", "PaymentStatus": "U", "DueDate": null, "InvoiceStatus": "I", "PurchaseOrderNumber": "PO-4456", "PaymentCount": 0, "Tags": [ "Note", "Supplier", "Toys" ], "_links": [] }
application/xml, text/xml
Sample:
<InvoiceTransactionDetail xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <_links /> <TransactionId>5093684</TransactionId> <LastUpdatedId>AAAAAAAKgc=</LastUpdatedId> <Currency>AUD</Currency> <InvoiceNumber>INV-1123</InvoiceNumber> <InvoiceType>Tax Invoice</InvoiceType> <TransactionType>S</TransactionType> <Layout>I</Layout> <BrandId xsi:nil="true" /> <Summary>Invoice for order 1123</Summary> <TotalAmount>10.45</TotalAmount> <TotalTaxAmount xsi:nil="true" /> <IsTaxInc>true</IsTaxInc> <AmountPaid>0.00</AmountPaid> <AmountOwed>11.50</AmountOwed> <FxRate>1</FxRate> <AutoPopulateFxRate>false</AutoPopulateFxRate> <RequiresFollowUp>false</RequiresFollowUp> <SentToContact>true</SentToContact> <TransactionDate>2015-01-24T00:00:00</TransactionDate> <BillingContactId>1568986</BillingContactId> <BillingContactFirstName>Freddy</BillingContactFirstName> <BillingContactLastName>Fungus</BillingContactLastName> <BillingContactOrganisationName>Fungal Innovation</BillingContactOrganisationName> <ShippingContactId>10</ShippingContactId> <ShippingContactFirstName>Big</ShippingContactFirstName> <ShippingContactLastName>Bob</ShippingContactLastName> <ShippingContactOrganisationName>Bobbby Inc</ShippingContactOrganisationName> <CreatedDateUtc>2024-11-19T18:00:08.1570474Z</CreatedDateUtc> <LastModifiedDateUtc>2024-11-20T18:00:08.1570474Z</LastModifiedDateUtc> <PaymentStatus>U</PaymentStatus> <DueDate xsi:nil="true" /> <InvoiceStatus>I</InvoiceStatus> <PurchaseOrderNumber>PO-4456</PurchaseOrderNumber> <PaymentCount>0</PaymentCount> <Tags> <string>Note</string> <string>Supplier</string> <string>Toys</string> </Tags> <LineItems> <InvoiceTransactionLineItem> <_links /> <Id>30</Id> <Description>Sale Item</Description> <AccountId xsi:nil="true" /> <TaxCode>G1</TaxCode> <TotalAmount>10.45</TotalAmount> <Quantity>3</Quantity> <UnitPrice>11.50</UnitPrice> <PercentageDiscount>0.00</PercentageDiscount> <InventoryId>30</InventoryId> <ItemCode>CC123</ItemCode> <Tags /> <Attributes /> </InvoiceTransactionLineItem> </LineItems> <NotesInternal xsi:nil="true" /> <NotesExternal xsi:nil="true" /> <Terms> <Type>1</Type> <Interval>3</Interval> <IntervalType xsi:nil="true" /> <TypeEnum>DueIn</TypeEnum> <IntervalTypeEnum>Week</IntervalTypeEnum> </Terms> <Attachments> <FileAttachmentInfo> <_links> <Link> <rel>detail</rel> <href>https://api.saasu.com/InvoiceAttachment/1?FileId=123</href> <method>GET</method> </Link> </_links> <Name>test.txt</Name> <Description>Test document</Description> <ItemIdAttachedTo>0</ItemIdAttachedTo> <Id>1</Id> <Size>0</Size> </FileAttachmentInfo> </Attachments> <TemplateId xsi:nil="true" /> <ForEntityTypeId xsi:nil="true" /> <SendEmailToContact xsi:nil="true" /> <EmailMessage xsi:nil="true" /> <QuickPayment xsi:nil="true" /> </InvoiceTransactionDetail>
Response Information
Resource Description
InsertInvoiceResultName | Description | Type | Additional information |
---|---|---|---|
InsertedEntityId | The Id of the inserted invoice. | integer |
None. |
GeneratedInvoiceNumber | The invoice number that was generated for the invoice. | string |
None. |
Id | Updated invoice id | integer |
None. |
SentToContact | Indicates whether this was sent to the contact. | boolean |
None. |
LastUpdatedId | The unique identifier generated as part of the update. This value is required when submitting subsequent update to prevent concurrency errors. | string |
None. |
UtcLastModified | The date and time this resource was modified in UTC. | date |
None. |
_links | Hypermedia links. Contains contextual links to possible next actions related to this resource. Only present in responses. This data is not to be sent to the server. | Collection of Link |
None. |
Response Formats
application/json, text/json
Sample:
{ "InsertedEntityId": 321, "GeneratedInvoiceNumber": "987", "Id": 0, "SentToContact": false, "LastUpdatedId": "AAAAKlh=", "UtcLastModified": "2024-11-15T18:00:08.3954895Z", "_links": [ { "rel": "self", "href": "https://api.saasu.com/Invoice/321?FileId=123", "method": "POST", "title": null }, { "rel": "list", "href": "https://api.saasu.com/Invoices?FileId=123", "method": "GET", "title": null }, { "rel": "update", "href": "https://api.saasu.com/Invoice/321?FileId=123", "method": "PUT", "title": null }, { "rel": "delete", "href": "https://api.saasu.com/Invoice/321?FileId=123", "method": "DELETE", "title": null } ] }
application/xml, text/xml
Sample:
<InsertInvoiceResult xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <_links> <Link> <rel>self</rel> <href>https://api.saasu.com/Invoice/321?FileId=123</href> <method>POST</method> </Link> <Link> <rel>list</rel> <href>https://api.saasu.com/Invoices?FileId=123</href> <method>GET</method> </Link> <Link> <rel>update</rel> <href>https://api.saasu.com/Invoice/321?FileId=123</href> <method>PUT</method> </Link> <Link> <rel>delete</rel> <href>https://api.saasu.com/Invoice/321?FileId=123</href> <method>DELETE</method> </Link> </_links> <LastUpdatedId>AAAAKlh=</LastUpdatedId> <UtcLastModified>2024-11-15T18:00:08.3954895Z</UtcLastModified> <Id>0</Id> <SentToContact>false</SentToContact> <InsertedEntityId>321</InsertedEntityId> <GeneratedInvoiceNumber>987</GeneratedInvoiceNumber> </InsertInvoiceResult>