The Purchase resource allows creating new Purchase, by sending POST request:


Operation
HTTP Action
Create new Purchase Task
POST /Purchase


Creating new Purchase

To create new Purchase you need to send POST request to Purchase endpoint with Purchase structure (see below) as payload.


Available Fields for Purchase:

Property
Type
Length
Required
Notes
SupplierID
Guid

Yes*
Identifier of Supplier
Supplier
String
256
Yes*
Supplier name. Required if SupplierID not set
Contact
String
256

Supplier Contact name
Phone
String
50

Supplier Contact phone
InventoryAccount
String
50

Account code used by default for invoice lines when no Inventory account is defined on Product. By default Inventory Control Account is used from account mapping.
BlindReceipt
Boolean


“True” if there is no order in the purchase. “False” is default
Approach
String
10
Yes
“INVOICE” for “Invoice  First”, or “STOCK” for “Stock First”
VendorAddress
Structured


Purchase Vendor address, see below
ShippingAddress
Structured


Purchase Shipping address, see below
BaseCurrency
String
3
Yes
3 character currency code of Base Currency defined in General Settings on the moment when Purchase was created.
TaxRule
String
50
Yes
Default Tax Rule name selected for Purchase, if not specified then used supplier defined Tax Rule
TaxCalculation
String

No
“Inclusive” or “Excelusive”. If not set, it will be used from TaxRule
Terms
String
256
Yes
Payment terms name, if not specified supplier Terms would be used
RequiredBy
Date


Date when shipment is due
Location
String
256

Default location to store stock
Note
String
1024

Custom Purchase note
CurrencyRate
Decimal
Up to 5 decimal places
Yes
Conversion Rate expressed as number of Base currency units for one Supplier currency unit
Order
Structured

Yes
Purchase Order, see below
StockReceived
Structured


Purchased and received items, see below
AdditionalAttributes
Structured


Purchase Additional Attributes, see below
Invoice
Structured


Purchase Invoice, see below.

 

Available Fields for VendorAddress and ShippingAddress:

Property
Type
Length
Required
Notes
Line1
String
256
Yes

Line2
String
256


City
String
256


State
String
256


Postcode
String
20


Country
String
32
Yes


Available Fields for Order:

Property
Type
Length
Required
Notes
Memo
String
1024

Purchase Order memo
Date
Date


Purchase Order Date
Status
String
20
Yes
Purchase Order status. Possible values are “VOIDED”, “DRAFT”, “AUTHORISED”, “NOT AVAILABLE”
Lines
Array of OrderLine


Order  Lines, see below
AdditionalCharges
Array of AdditionalCharge


Order  Additional Charges, see below
Prepayments
Array of Prepayment


Prepayments, see below
TotalBeforeTax
Money

Yes
Order  Total before taxes in Supplier Currency
Tax
Money

Yes
Order  Total Tax in Supplier Currency
Total
Money

Yes
Order  Total (TotalBeforeTax + Tax) in Supplier Currency


Available Fields for StockReceived:

Property
Type
Length
Required
Notes
Status
String
20
Yes
Purchase StockReceived status. Possible values are “VOIDED”, “DRAFT”, “AUTHORISED”, “NOT AVAILABLE”
Lines
Array of StockReceivedLine


Lines stock received, see below


Available Fields for Invoice:

Property
Type
Length
Required
Notes
Status
String
20
Yes
Invoice status. Possible values are “VOIDED”, “DRAFT”, “AUTHORISED”, “NOT AVAILABLE”, “PAID”
InvoiceNumber
String
256
Yes
Number in invoice from supplier
InvoiceDate
Date


Date when invoice created. Default value is current date, used if not specified
InvoiceDueDate
Date


Date until invoice is valid. If not specified, used default value from Terms
Lines
Array of InvoiceLine


Invoice Lines, see below
AdditionalCharges
Array of InvoiceAdditionalCharge


Invoice Additional Charges, see below
Payments
Array of Payment


All invoice payments, see below
TotalBeforeTax
Money

Yes
Invoice Total before taxes in Supplier Currency
Tax
Money

Yes
Invoice Total Tax in Supplier Currency
Total
Money

Yes
Invoice Total (TotalBeforeTax + Tax) in Supplier Currency
Paid
Money

Yes
Invoice Paid Total in Supplier Currency


Available Fields for Order Line:

Property
Type
Length
Required
Notes
ProductID
Guid

Yes*
Unique ID of the product referenced by this Order Line. Required only if SKU is not set. If both ProductID and SKU specified priority has ProductID
SKU
String
50
Yes*
Product SKU. Required only if ProductID is not set. If both ProductID and SKU specified priority has ProductID
Quantity
Decimal with up to 4 decimal places

Yes

Price
Decimal with up to 4 decimal places

Yes
Price per unit in Supplier currency
Discount
Decimal with up to 2 decimal places

Yes
Discount. Value between 0 and 100. For free items discount is 100
Tax
Decimal with up to 4 decimal places

Yes
Calculated Tax value in Supplier currency
Total
Decimal with up to 2 decimal places

Yes
Line Total in Supplier currency. Can include Tax if Tax Rule for Purchase is Tax Inclusive
TaxRule
String
50
Yes
Line Tax Rule name
Comment
String
256



Available Fields for Order AdditionalCharge:

Property
Type
Length
Required
Notes
Description
String
256
Yes
Additional charge description
Reference
String
256

Reference
Amount
Decimal with up to 4 decimal places

Yes
Charge amount in Supplier currency
Discount
Decimal with up to 2 decimal places

Yes
Discount. Value between 0 and 100. For free items discount is 100
Tax
Decimal with up to 4 decimal places

Yes
Calculated Tax value in Supplier currency
Total
Decimal with up to 2 decimal places

Yes
Additional Charge line total in Supplier currency. Can include Tax if Tax Rule for Purchase is Tax Inclusive
TaxRule
String
50
Yes
Additional Charge Tax Rule name


Available Fields for Payment and Prepayment:

Property
Type
Length
Required
Notes
Reference
String
50

Payment reference number
Amount
Money

Yes
Payment amount in Supplier currency
DateCreated
Date

Yes
Date when payment was created
DatePaid
Date

Yes
Date when payment has been made
Account
String
50
Yes
Account Code of the Bank account
CurrencyRate
Decimal with up to 5 decimal places

Yes
Currency Conversion rate expressed as number of Base currency units for one Supplier currency unit. Equals 1 when Supplier currency is the same as base currency.


Available Fields for StockReceivedLine:

Property
Type
Length
Required
Notes
ProductID
Guid

Yes*
Unique ID of the product referenced by this Order Line. Required only if SKU is not set. If both ProductID and SKU specified priority has ProductID
SKU
String
50
Yes*
Product SKU. Required only if ProductID is not set. If both ProductID and SKU specified priority has ProductID
Location
String
256
Yes
Location where the product would be stock to/from
Quantity
Decimal with up to 4 decimal places

Yes

DateReceived
Date


Date when items were received
Batch
String
50

Batch or Serial Number
ExpiryDate
Date


Date when selected Batch expires


Available Fields for InvoiceLine:

Property
Type
Length
Required
Notes
ProductID
Guid

Yes*
Unique ID of the product referenced by this Order Line. Required only if SKU is not set. If both ProductID and SKU specified priority has ProductID
SKU
String
50
Yes*
Product SKU. Required only if ProductID is not set. If both ProductID and SKU specified priority has ProductID
Name
String
256
Yes
Product name referenced by this Line
Quantity
Decimal with up to 4 decimal places

Yes

Price
Decimal with up to 4 decimal places

Yes
Price per unit in Supplier currency
Discount
Decimal with up to 2 decimal places

Yes
Discount. Value between 0 and 100. For free items discount is 100
Tax
Decimal with up to 4 decimal places

Yes
Calculated Tax value in Supplier currency
Total
Decimal with up to 2 decimal places

Yes
Line Total in Supplier currency. Can include Tax if Tax Rule for Purchase is Tax Inclusive
TaxRule
String
50
Yes
Line Tax Rule name
Account
String
50
Yes

Comment
String
256



Available Fields for InvoiceAdditionalCharge:

Property
Type
Length
Required
Notes
Description
String
256
Yes
Additional charge description
Amount
Decimal with up to 4 decimal places

Yes
Charge amount in Supplier currency
Reference
String
256

Reference
Discount
Decimal with up to 2 decimal places

Yes
Discount. Value between 0 and 100. For free items discount is 100
Tax
Decimal with up to 4 decimal places

Yes
Calculated Tax value in Supplier currency
Total
Decimal with up to 2 decimal places

Yes
Additional Charge line total in Supplier currency. Can include Tax if Tax Rule for Purchase is Tax Inclusive
TaxRule
String
50
Yes
Additional Charge Tax Rule name
Account
String
50
Yes


Available Fields for AdditionalAttributes:

Property
Type
Length
Required
Notes
AdditionalAttribute1
String
256

Additional Attribute 1 value
AdditionalAttribute2
String
256

Additional Attribute 2 value
AdditionalAttribute3
String
256

Additional Attribute 3 value
AdditionalAttribute4
String
256

Additional Attribute 4 value
AdditionalAttribute5
String
256

Additional Attribute 5 value
AdditionalAttribute6
String
256

Additional Attribute 6 value
AdditionalAttribute7
String
256

Additional Attribute 7 value
AdditionalAttribute8
String
256

Additional Attribute 8 value
AdditionalAttribute9
String
256

Additional Attribute 9 value
AdditionalAttribute10
String
256

Additional Attribute 10 value


Sample of request

POST /DearApi/Purchase

Payload:

{

  "Supplier": "whuk",

  "Contact": "New Contact",

  "Phone": "1234567890",

  "InventoryAccount": "715",

  "BlindReceipt": false,

  "Approach": "Invoice",

  "VendorAddress": {

    "Country": "Australia",

    "City": "Sydney",

    "Postcode": "13231",

    "Line1": "First ave 3-2"

  },

  "ShippingAddress": {

    "Country": "Australia",

    "City": "Sydney",

    "Postcode": "98765",

    "Line1": "Second st. 5-7"

  },

  "BaseCurrency": "AUD",

  "TaxRule": "Sales Tax on Imports",

  "Terms": "M1",

  "RequiredBy": "2016/01/01",

  "Location": "Main Warehouse",

  "Note": "Test Note",

  "CurrencyRate": 1,

  "Order": {

    "Memo": "Order Memo",

    "Status": "AUTHORISED",

    "Lines": [

      {

        "ProductID": "b00c729f-0de2-474b-9fb2-57cb81d54e01",

        "SKU": "APItest2",

        "Quantity": 5,

        "Price": 11.2,

        "Discount": 0,

        "Tax": 0,

        "Total": 56,

        "TaxRule": "Sales Tax on Imports"

      }

    ],

    "AdditionalCharges": [

      {

        "Description": "Extra handling",

        "Amount": 5,

        "Tax": 0,

        "TaxRule": "Sales Tax on Imports",

        "Reference": "Test Reference",

        "Discount": 0,

        "Total": 5

      }

    ],

    "Prepayments": [

      {

        "Amount": 20,

        "Reference": "Ref for prepay",

        "DateCreated": "2016/01/01",

        "DatePaid": "2016/01/01",

        "Account": "715",

        "CurrencyRate": 1

      }

    ],

    "TotalBeforeTax": 61,

    "Tax": 0,

    "Total": 61

  },

  "Invoice": {

    "Status": "AUTHORISED",

    "InvoiceDate": "2016/01/01",

    "InvoiceDueDate": "2016/02/02",

    "InvoiceNumber": "AAA-111",

    "Lines": [

      {

        "ProductID": "b00c729f-0de2-474b-9fb2-57cb81d54e01",

        "SKU": "APItest2",

        "Quantity": 5,

        "Price": 11.2,

        "Discount": 0,

        "Tax": 0,

        "Total": 56,

        "TaxRule": "Sales Tax on Imports",

        "Account": "715"

      }

    ],

    "AdditionalCharges": [

      {

        "Description": "Extra handling",

        "Amount": 5,

        "Tax": 0,

        "TaxRule": "Sales Tax on Imports",

        "Reference": "Test Reference",

        "Discount": 0,

        "Total": 5,

        "Account": "715"

      }

    ],

    "Payments": [

      {

        "Amount": 30,

        "Reference": "Ref for Pay",

        "DateCreated": "2016/01/01",

        "DatePaid": "2016/01/01",

        "Account": "715",

        "CurrencyRate": 1

      }

    ],

    "TotalBeforeTax": 61,

    "Tax": 0,

    "Total": 61,

    "Paid": 50

  },

  "StockReceived": {

    "Status": "AUTHORISED",

    "Lines": [

      {

        "ProductID": "b00c729f-0de2-474b-9fb2-57cb81d54e01",

        "SKU": "APItest2",

        "Quantity": 5,

        "Location": "Main Warehouse",

        "DateReceived": "2016/01/01"

      }

    ]

  },

  "AdditionalAttributes": {

    "AdditionalAttribute1": "some value",

    "AdditionalAttribute2": "some value"

  }

}