System Five Add-Ons & Integrations help simplify the way you do things.
Our catalog of services has topic-based, role-based, or technical plans that can help you maximize your software investment.
Copyright © 1984-present
Windward Software Systems Inc.
All Rights Reserved.
Privacy Policy
Windward System Five supports a single address for a billing or shipping customer in our database. Each record will have a CustomerUnique number which is associated to invoices as either the Billing or Shipping customer. This is a 1 to many relationship in the database. One customer can have many billing or shipping invoices associated with them.
If you require workflow to support different billing and shipping addresses. Then you would need to create customers with the same name with a different address and associate them to the sales orders being created. Best practice to avoid creating duplicate names and addresses would be to parse the customer lists to see if the customer already exists.
{ "Customers": [ { "Unique": 0, "Name": "string", "FirstName": "string", "LastName": "string", "Addr1": "string", "Addr2": "string", "City": "string", "Postal": "string", "State": "string", "Country": "string", "Phone1": "string", "Phone2": "string", "Phone3": "string", "APDiscount": 0, "APDiscountRule": 0, "APDiscountDays": 0, "Balances": { "C_BALANCE": 0, "C_DEPOSIT": 0, "C_SB_30": 0, "C_SB_60": 0, "C_SB_90": 0, "CN_BALANCE": 0, "CN_DEPOSIT": 0, "C_PO_BILLED": 0 }, "Duty": "string", "FedTax": "string", "AutoDiscount": "string", "DueDays": 0, "PriceSchedule": 0, "ContractDate": "string", "Salesman": 0, "CSType": "string", "Terms": "string", "Interest": 0, "TaxStatus": "string", "TaxNumber": "string", "BankInfo": "string", "ShipNo": 0, "CreditLimit": 0, "StandingPO": "string", "POExpiryDate": "string", "POMaximumValue": 0, "POBilledSoFar": 0, "GSTExempt": "string", "Department": 0, "TaxCode": "string", "Number": "string", "DisNv": 0, "DisStat": 0, "RetailType": "string", "Foreign": "string", "LastVisit": "string", "Email": "string", "WebComments": "string", "Password": "string", "EFTAccount": "string", "EFTBank": "string", "EFTName": "string", "TimeZone": 0, "ShippingAddress": "string", "Contacts": [ { "ContactId": 0, "FirstName": "string", "LastName": "string", "City": "string", "Country": "string", "State": "string", "Postal": "string", "Phone1": "string", "Phone2": "string", "Email": "string", "Address1": "string", "Address2": "string" } ], "FreeFormGroup": [ { "FreeFormData": "string", "FreeFormID": 0 } ], "ShipName": "string", "ShipAddr1": "string", "ShipAddr2": "string", "ShipCity": "string", "ShipPostal": "string", "ShipState": "string", "ShipCountry": "string", "ShipPhone1": "string" } ], "ConnectionInfo": { "TerminalNumber": 0 } }
The /addCustomer method supports Contacts as part of the data payload. The Contact Object has to be filled in to generate. Populating the First Name and Last Name alone do not constitute a Contact record and will not create the a Contact. This is to allow for usage that doesn't want Contact records to be created just because the Name is provided as FirstName / LastName. Those fields are part of the Customer JSON to support the variations of First, Last / Last, First as the business name, not to auto-generate Contact records.
The Swagger Documentation provides the developer with the map of the Contact Object which when completed will create contacts.
"Contacts": [ { "ContactId": 0, "FirstName": "string", "LastName": "string", "City": "string", "Country": "string", "State": "string", "Postal": "string", "Phone1": "string", "Phone2": "string", "Email": "string", "Address1": "string", "Address2": "string" }
Continue on to Adding an Invoice or back to Swagger Samples