System Integration API
Reference Manual
Contents
- 1. Versions
- 2. Response Formats
- 3. Session
- 4. Division
- 5. Payment Terms
- 6. Labor
- 7. Resource Summary
- 8. Vendor
- 9. Customer
- 10. Customer Invoice
- 11. Customer Invoice Export Document
- 12. Customer Receipt
- 13. Customer Receipt Export Document
- 14. Project
- 15. Project Summary
- 16. WBS Summary
- 17. Timesheet Entry
- 18. Timesheet Transaction Export Document
- 19. Vendor Invoice
- 20. Vendor Invoice Payment
- 21. Vendor Invoice Export Document
- 22. Purchase Order
- 23. Purchase Oder Reciept
- 24. Purchase Order Receipt Export Document
- 25. JSON Types
1 Versions
- V4.00 – Released to Production
- V4.01 – Added VendorInvoiceLine.ProjectCode
- V4.02 – Added VendorCode as a filter for VendorInvoice
- V4.03 – Added VendorInvoice.PaymentTermsCode
- V4.04 – Added Customer.Address.AddressLine2
- V4.05 – Added CustomerInvoice.DivisionName, CustomerInvoice.DivisionCode, CustomerInvoice.Lines.ProjectCode
- V4.06 – Added filter for VendorInvoice supporting Properties
- V4.07 – Added Vendor Invoice Line Taxes
- V4.08 – Added CustomerInvoiceExport / Customer Receipt Integration Amounts
- V4.09 – Removed VendorInvoiceLine.AdvancePaymentCost
- V4.10 – Added Purchase Order Receipt Export Document
- V4.11 – Added Project Summary, WBS Summary, Resource Summary
2 Response Formats
Response Status Code | Comments |
200 | When doing any type of request a response of 200 indicates success |
400 | This is generally a validation warning or a business rule failure. Code may be provided to deal with special situations but can generally be ignored. { “Error”: { “Code”: “”, “Message”: { “Value”: “For Rest Api Vendor, the property ‘Name’ is required.” } } } |
404 | Returned in conjunction with a GET Detail request or an update request where the requested entity is no longer available |
500 | An unexpected situation occurred. A notification will be sent to 4castplus support for resolution. { “Error”: { “Code”: null, “Message”: { “Value”: “There was an internal server error. Administrator has been notified.” } } } |
503 | Server down for maintenance |
3 Session
Information | Detail |
Login | POST https://base/api/login |
Logoff | POST https://base/api/logoff |
Sample Login Request
{
“Account”: “yourcompaniesname”,
“UserName”: “youremail”,
“Password”: “yourpassword”
}
Sample Login Response
{
“SessionId”: “SESSIONID”,
“Account”: “ACCOUNT NAME”,
“UserName”: “USERNAME”,
“ExpiresOn”: “WHENSESSIONEXPIRES”
}
Each subsequent request must contain the above sessionId either as a url parameter, or a cookie.
Base/api/action?_s=sessionId
Cookie _ACCOUNT_SESSION_ID_
4 Division
Information | Detail |
List | |
|
|
Field | Type | Comments |
Id | Integer |
|
Name | Text(256) | Required |
Code | Text(50) | Required |
BusinessIdentifier | Text(50) |
|
Active | Bool |
|
5 Payment Terms
Information | Detail |
List | |
|
|
Field | Type | Comments |
Id | Integer |
|
Name | Text(50) | Required |
Code | Text(50) |
|
Active | Bool |
|
6 Labor
Information | Detail |
Detail | |
List | |
| For the List Operation a filter can be supplied for ModifiedOn and CreatedOn labor?$filter=ModifiedOn gt 2010-01-01T00:00:00 |
Field | Type | Comments |
Id | Integer |
|
EmployeeId | Text(40) | Required |
Text(255) |
| |
FirstName | Text(300) | Required |
LastName | Text(50) | Required |
PreferredName | Text(100) |
|
CostCode | Text(50) |
|
ResourceCode | Text(50) |
|
AddressLine1 | Text(255) |
|
AddressLine2 | Text(255) |
|
City | Text(120) |
|
Province | Text(120) |
|
PostalCode | Text(50) |
|
Country | Text(120) |
|
PhoneNumber | Text(50) |
|
HiredOn | Date | Required |
IsContractor | Bool |
|
DepartmentName | Text(100) |
|
IncludeInPayroll | Bool |
|
LicenseProfile | Text(50) | Required |
TerminatedOn | Date |
|
IsActive | Bool |
|
InactiveOn | DateTime |
|
SupervisorName | Labor.Supervisor | Required |
Supervisor.EmployeeId | Text(40) | Required |
Supervisor.FirstName | Text(50) | Required |
Supervisor.LastName | Text(300) | Required |
Supervisor.CostCode | Text(50) |
|
OvertimeCalculation | Text(50) |
|
MinimumRequiredHoursPerWeek | Decimal |
|
MinimumRequiredHoursPerMonday | Decimal |
|
MinimumRequiredHoursPerTuesday | Decimal |
|
MinimumRequiredHoursPerWednesday | Decimal |
|
MinimumRequiredHoursPerThursday | Decimal |
|
MinimumRequiredHoursPerFriday | Decimal |
|
MinimumRequiredHoursPerSaturday | Decimal |
|
MinimumRequiredHoursPerSunday | Decimal |
|
VacationAccrualFrequency | Text(50) |
|
ModifiedOn | DateTime |
|
CreatedOn | DateTime |
|
VacationAccrual | Labor.VacationAccrual |
|
VacationAccrual.EffectiveFrom | Date |
|
VacationAccrual.DaysPerFrequency | Decimal |
|
CostClasses | Labor.CostClass |
|
CostClass.Name | Text(350) |
|
CostClass.CostCode | Text(100) |
|
Properties | Labor.Property |
|
Property.PropertyName | Text(50) |
|
Property.PropertyValue | Text(800) |
|
Information | Detail |
List | |
| For the List Operation a filter can be supplied for ResourceType labor?$filter=ResourceType eq Labor Values for ResourceType are Labor, Equipment, Material, LaborExpense, Other, Service |
Field | Type | Comments |
Id | Integer |
|
ParentId | Integer |
|
ResourceType | Text(50) |
|
Name | Text(350) |
|
ResourceCode | Text(120) |
|
Active | Bool |
|
ResourceClasses | ResourceSummary.ResourceClassSummary |
|
ResourceClassSummary.Id | Integer |
|
ResourceClassSummary.Name | Text(350) |
|
ResourceClassSummary.ResourceClassCategoryId | Integer |
|
ResourceClassSummary.ResourceClassCategoryName | Text(50) |
|
8 Vendor
Information | Detail |
Detail | |
List | |
| For the List Operation a filter can be supplied for VendorCode vendors?$filter=VendorCode eq ‘ABCDE’ |
Create | |
Update | |
Delete |
Field | Type | Comments |
Id | Integer |
|
Name | Text(100) | Required |
VendorCode | Text(50) | Required |
PaymentTerms | Text(50) | DEPRECATED => PaymentTermsName |
PaymentTermsName | Text(50) |
|
PaymentTermsCode | Text(50) |
|
Class | Text(50) |
|
DefaultResourceType | Text(50) |
|
Location | Text(40) |
|
PhoneNumber | Text(50) |
|
FaxNumber | Text(50) |
|
Text(60) |
| |
Website | Text(60) |
|
Rating | Integer |
|
Approved | Bool | Y or N |
Contractor | Bool | One of Contractor or Supplier is required |
Supplier | Bool |
|
Active | Bool |
|
Description | Text(255) |
|
Divisions | Division |
|
Division.Id | Integer |
|
Division.Name | Text(256) | Required |
Division.Code | Text(50) | Required |
Addresses | Address |
|
Address.Id | Integer | Required on update |
Address.AddressLine1 | Text(255) |
|
Address.City | Text(50) |
|
Address.Province | Text(50) |
|
Address.Country | Text(50) |
|
Address.PostalCode | Text(50) |
|
Address.Primary | Bool | Y or N |
Labors | Labor |
|
Labor.Id | Integer | Required |
Labor.FirstName | Text(100) | Required |
Labor.LastName | Text(50) | Required |
Labor.IsSubcontractor | Boolean |
|
Labor.Role | Text(50) |
|
Labor.Email | Text(60) |
|
Labor.PhoneNumber | Text(50) |
|
Labor.FaxNumber | Text(50) |
|
Labor.PrimaryContact | Bool |
|
Labor.Procurement | Bool | Required |
Labor.Active | Bool |
|
Labor.Addresses | Address |
|
Labor.Address.Id | Integer | Required on update |
Labor.Address.AddressLine1 | Text(255) |
|
Labor.Address.City | Text(50) |
|
Labor.Address.Province | Text(50) |
|
Labor.Address.Country | Text(50) |
|
Labor.Address.PostalCode | Text(50) |
|
Labor.Address.Primary | Bool |
|
Create / Update can be done with same format as detail response
Sample Detail Response
{
“Id”: 6,
“Name”: “Vendor 123”,
“VendorCode”: “CODE123”,
“Class”: “Material Classes”,
“DefaultResourceType”: “”,
“Location”: “Location”,
“PhoneNumber”: “123456789”,
“FaxNumber”: “123456789”,
“Email”: “john.doe@smith.com”,
“Website”: null,
“Rating”: 0,
“Approved”: true,
“Contractor”: false,
“Supplier”: true,
“Active”: true,
“Description”: null,
“Divisions”: [],
“Addresses”: [
{
“Id”: -1,
“AddressLine1”: “Address”,
“City”: “City”,
“Province”: “Province”,
“Country”: “Country”,
“PostalCode”: “123456”,
“Primary”: true
}
],
“Labors”: [
{
“Id”: 429,
“FirstName”: “FirstName “,
“LastName”: “LastName”,
“IsSubcontractor”: false,
“Role”: null,
“Email”: “jane.doe@smith.com”,
“PhoneNumber”: “123456789”,
“FaxNumber”: “123456789”,
“PrimaryContact”: true,
“Procurement”: true,
“Active”: true,
“Addresses”: [
{
“Id”: 227,
“AddressLine1”: “AddressLine1”,
“City”: “City “,
“Province”: “Province “,
“Country”: “Country”,
“PostalCode”: “123456”,
“Primary”: true
}
]
}
]
}
9 Customer
Information | Detail |
Detail | |
List | |
| For the List Operation a filter can be supplied for CustomerCode customers?$filter=CustomerCode eq ‘ABCDE’ |
Create | |
Update | |
Delete |
Field | Type | Comments |
Id | Integer |
|
Name | Text(60) | Required |
CustomerCode | Text(50) | Required |
PaymentTermsId | Integer |
|
PaymentTermsName | Text(50) |
|
PhoneNumber | Text(50) |
|
Active | Bool | Y or N |
Description | Text(255) |
|
Divisions | Division |
|
Division.Id | Integer |
|
Division.Name | Text(256) | Required |
Division.Code | Text(50) | Required |
Addresses | Address |
|
Address.Id | Integer | Required on update |
Address.ContactName | Text(120) |
|
Address.AddressCode | Text(50) |
|
Address.PhoneNumber | Text(50) |
|
Address.Email | Text(60) |
|
Address.AddressLine1 | Text(255) |
|
Address.AddressLine2 | Text(255) |
|
Address.City | Text(50) |
|
Address.Province | Text(50) |
|
Address.Country | Text(50) |
|
Address.PostalCode | Text(50) |
|
Address.RemiteTo | Bool |
|
Address.ShipTo | Bool |
|
Address.Active | Bool |
|
Address.Primary | Bool |
|
Create / Update can be done with same format as detail response
Sample Detail Response
{
“Id”: 1011,
“Name”: “Customer123”,
“CustomerCode”: “CODE123”,
“PaymentTermsId”: 6,
“PaymentTermsName”: “Payment 30 Days”,
“PhoneNumber”: “123456789”,
“Active”: true,
“Description”: “”,
“Divisions”: [
{
“Id”: 1,
“Name”: “Division”,
“DivisionCode”: “DC”
}
],
“Addresses”: [
{
“Id”: 1,
“ContactName”: “Contact 1”,
“AddressCode”: null,
“PhoneNumber”: “123456789”,
“Email”: “”,
“AddressLine1”: “Address”,
“City”: “City”,
“Province”: “Province”,
“Country”: “Country”,
“PostalCode”: “123456”,
“RemitTo”: false,
“ShipTo”: false,
“Active”: true,
“Primary”: false
},
{
“Id”: 64,
“ContactName”: “Contact 2”,
“AddressCode”: null,
“PhoneNumber”: “123456789”,
“Email”: “”,
“AddressLine1”: “Address”,
“City”: “City”,
“Province”: “Province”,
“Country”: “Country”,
“PostalCode”: “123456”,
“RemitTo”: false,
“ShipTo”: false,
“Active”: false,
“Primary”: true
}
]
}
10 Customer Invoice
Information | Detail |
Detail | |
List | |
| For the List Operation a filter can be supplied for ModifiedOn,CreatedOn,Approved,InvoiceNumber customerInvoices?$filter=CreatedOn gt yyyy-MM-ddTHH:mm:ss and Approved eq true customerInvoices?$filter=CreatedOn gt 2019-10-27T12:44:45 and Approved eq true DateTimes are always in UTC |
Field | Type | Comments |
Id | Integer |
|
DivisionName | Text(50) |
|
DivisionCode | Text(255) |
|
CustomerCode | Text(50) |
|
ProjectCode | Text(50) |
|
ProjectAfePO | Text(100) |
|
FixedPriceBillingMethod | Text(50) |
|
InvoiceNumber | Text(50) | Required |
ReferenceCode | Text(50) |
|
InvoiceDescription | Text(2048) |
|
ExportDocumentDate | Date |
|
ExportReferenceNumber | Text(50) |
|
CurrencyCode | Text(50) |
|
InvoiceDate | Date | “YYYY-MM-DD” |
InvoiceDueDate | Date | “YYYY-MM-DD” |
PaymentTerms | Integer |
|
PreTaxAdjustmentAmount | Decimal |
|
InvoiceAmount | Decimal |
|
QuantityDiscountAmount | Decimal |
|
TotalDiscountAmount | Decimal |
|
PreTaxInvoiceAmount | Decimal |
|
TaxAmount | Decimal |
|
PostTaxAdjustmentAmount | Decimal |
|
TotalInvoiceAmount | Decimal |
|
Exported | Bool |
|
Approved | Bool |
|
ApprovedBy | Text(350) |
|
ApprovedOn | DateTime |
|
ModifiedOn | DateTime |
|
CreatedOn | DateTime |
|
Project | InvoiceProject |
|
InvoiceProject.Id | Integer |
|
InvoiceProject.ProjectCode | Text(50) |
|
InvoiceProject.Properties | InvoiceProjectProperty |
|
InvoiceProjectProperty.PropertyCode | Text(50) |
|
InvoiceProjectProperty.PropertyName | Text(50) |
|
InvoiceProjectProperty.PropertyValue | Text(800) |
|
QuantityDiscounts | InvoiceDiscount |
|
InvoiceDiscount.Name | Text(50) |
|
InvoiceDiscount.Code | Text(50) |
|
InvoiceDiscount.Amount | Decimal |
|
Lines | InvoiceLine |
|
InvoiceLine.Id | Integer |
|
InvoiceLine.ProjectCode | Text(50) |
|
InvoiceLine.BillingType | Text(50) |
|
InvoiceLine.Quantity | Decimal |
|
InvoiceLine.GrossAmount | Decimal |
|
InvoiceLine.DiscountAmount | Decimal |
|
InvoiceLine.TaxAmount | Decimal |
|
InvoiceLine.Total | Decimal |
|
InvoiceLine.AccountingCode | Text(50) |
|
InvoiceLine.BillingCodes | InvoiceBillingCode |
|
InvoiceBillingCode.Name | Text(50) |
|
InvoiceBillingCode.Value | Text(120) |
|
InvoiceLine.Discounts | InvoiceDiscount |
|
InvoiceDiscount.Name | Text(50) |
|
InvoiceDiscount.Code | Text(50) |
|
InvoiceDiscount.Amount | Decimal |
|
InvoiceLine.Taxes | InvoiceLineTax |
|
InvoiceLineTax.TaxCode | Text(50) |
|
InvoiceLineTax.TaxAccountingCode | Text(50) |
|
InvoiceLineTax.TaxPercentage | Decimal |
|
InvoiceLineTax.TaxAmount | Decimal |
|
ProgressLines | ProgressInvoiceLine |
|
ProgressInvoiceLine.Id | Integer |
|
ProgressInvoiceLine.ProjectCode | Text(50) |
|
ProgressInvoiceLine.Wbs | Text(50) |
|
ProgressInvoiceLine.BillingType | Text(50) |
|
ProgressInvoiceLine.GrossAmount | Decimal |
|
ProgressInvoiceLine.DiscountAmount | Decimal |
|
ProgressInvoiceLine.TaxAmount | Decimal |
|
ProgressInvoiceLine.Total | Decimal |
|
ProgressInvoiceLine.BillingCodes | InvoiceBillingCode |
|
ProgressInvoiceLine.Name | Text(50) |
|
ProgressInvoiceLine.Value | Text(120) |
|
ProgressInvoiceLine.Discounts | InvoiceDiscount |
|
InvoiceDiscount.Name | Text(50) |
|
InvoiceDiscount.Code | Text(50) |
|
InvoiceDiscount.Amount | Decimal |
|
ProgressInvoiceLine.Taxes | ProgressInvoiceLineTax |
|
ProgressInvoiceLineTax.TaxCode | Text(50) |
|
ProgressInvoiceLineTax.TaxAccountingCode | Text(50) |
|
ProgressInvoiceLineTax.TaxPercentage | Decimal |
|
ProgressInvoiceLineTax.TaxAmount | Decimal |
|
Sample Detail Response
{
“Id”: 5,
“CustomerCode”: “Customer123”,
“ProjectCode”: “ProjectCode”,
“InvoiceNumber”: “20190918-001”,
“CurrencyCode”: “CAD”,
“InvoiceDate”: “2019-09-18”,
“InvoiceDescription”: “NOTES”,
“ReferenceCode”: “ReferenceCode”,
“ExportReferenceNumber”: “ASDF”,
“PreTaxInvoiceAmount”: 9185.0000,
“TotalInvoiceAmount”: 10379.0500,
“Exported”: true,
“Approved”: false,
“ProgressLines”: [],
“Lines”: [
{
“Id”: 146,
“Quantity”: 4.0000,
“TaxAmount”: 36.4000,
“Total”: 280.0000,
“Taxes”: [
{
“TaxCode”: “TCC”,
“TaxAmount”: 36.4000
}
]
},
…
{
“Id”: 3082,
“Quantity”: 3.5000,
“TaxAmount”: 31.8500,
“Total”: 245.0000,
“Taxes”: [
{
“TaxCode”: “TCC”,
“TaxAmount”: 31.8500
}
]
}
]
}
Sample Progress Detail Response
{
“Id”: 5,
“CustomerCode”: “Customer123”,
“ProjectCode”: “ProjectCode”,
“InvoiceNumber”: “20190918-001”,
“CurrencyCode”: “CAD”,
“InvoiceDate”: “2019-09-18”,
“InvoiceDescription”: “NOTES”,
“ReferenceCode”: “ReferenceCode”,
“ExportReferenceNumber”: “ASDF”,
“PreTaxInvoiceAmount”: 9185.0000,
“TotalInvoiceAmount”: 10379.0500,
“Exported”: true,
“Approved”: false,
“ProgressLines”: [
{
“Id”: 146,
“Wbs”: “1.1.1”,
“TaxAmount”: 36.4000,
“Total”: 280.0000,
“Taxes”: [
{
“TaxCode”: “TCC”,
“TaxAmount”: 36.4000
}
]
},
…
{
“Id”: 3082,
“Wbs”: “1.1.2”,
“TaxAmount”: 31.8500,
“Total”: 245.0000,
“Taxes”: [
{
“TaxCode”: “TCC”,
“TaxAmount”: 31.8500
}
]
}
],
“Lines”: []
}
11 Customer Invoice Export Document
Information | Detail |
Detail | GET https://base/api/customerInvoiceExportDocuments(documentId) |
List | |
Create |
Field | Type | Comments |
Id | Integer |
|
DocumentDate | Date |
|
DocumentNumber | Text(100) |
|
ExportReferenceNumber | Text(50) |
|
Invoices | DocumentInvoice |
|
DocumentInvoice.Id | Integer | Required |
DocumentInvoice.CustomerCode | Text(50) |
|
DocumentInvoice.ProjectCode | Text(50) |
|
DocumentInvoice.InvoiceNumber | Text(50) |
|
DocumentInvoice.ExportReferenceNumber | Text(50) |
|
DocumentInvoice.IntegrationInvoiceTotal | Decimal |
|
DocumentInvoice.IntegrationTaxAmount | Decimal |
|
DocumentInvoice.IntegrationInvoiceBillingAmount | Decimal |
|
DocumentInvoice.IntegrationDiscountAmount | Decimal |
|
DocumentInvoice.IntegrationSurchargeAmount | Decimal |
|
Sample Create Request
{
“ExportReferenceNumber”: “ABC”,
“Invoices”: [
{
“Id”: 1,
“ExportReferenceNumber”: “DEF”
},
{
“Id”: 2,
“ExportReferenceNumber”: “DEF2”
},
{
“Id”: 3,
“ExportReferenceNumber”: “DEF3”
},
{
“Id”: 4
},
{
“Id”: 5,
“ExportReferenceNumber”: “DEF5”
}
]
}
12 Customer Receipt
Information | Detail |
Detail | |
List | |
Create | |
Update | |
Delete |
Detail / List Fields | Type | Comments |
Id | Integer |
|
ProjectCode | Text(50) |
|
CustomerCode | Text(50) |
|
ReceiptNumber | Text(50) |
|
ReceiptAmount | Decimal |
|
ReceiptDate | Date |
|
ReceiptNotes | Text(1000) |
|
ImportReferenceId | Text(50) |
|
ExportReferenceNumber | Text(50) |
|
Submitted | Bool |
|
Exported | Bool |
|
ModifiedOn | DateTime |
|
CreatedOn | DateTime |
|
Items | CustomerReceiptItem |
|
CustomerReceiptItem.InvoiceId | Integer |
|
CustomerReceiptItem.Amount | Decimal |
|
Create / Update Fields | Type | Comments |
ProjectCode | Text(50) | Required |
CustomerCode | Text(50) | Required |
ReceiptNumber | Text(50) | Required |
ReceiptDate | Date | Required |
ReceiptNotes | Text(1000) |
|
ImportReferenceId | Text(50) |
|
Submitted | Bool |
|
Items | CustomerReceiptItem |
|
CustomerReceiptItem.InvoiceId | Integer | Required |
CustomerReceiptItem.Amount | Decimal | (Provide one of Amount or IntegrationAmount) |
CustomerReceiptItem.IntegrationAmount | Decimal | Only provide if different from Amount |
Sample Create Request
{
“ProjectCode”: “PROJECT_CODE”,
“CustomerCode”: “CUSTOMER_CODE”,
“ReceiptNumber”: “RECEIPT_NUMBER”,
“ReceiptDate”: “2020-06-24”,
“ReceiptNotes”: null,
“ImportReferenceId”: null,
“Submitted”: false,
“Items”:
[
{
“InvoiceId”: 123,
“Amount”: 500
}
]
}
13 Customer Receipt Export Document
Information | Detail |
Detail | GET https://base/api/customerReceiptExportDocuments(documentId) |
List | |
Create |
Detail / List Fields | Type | Comments |
Id | Integer |
|
DocumentNumber | Text(100) |
|
ExportReferenceNumber | Text(50) |
|
Receipts | DocumentReceipt |
|
DocumentReceipt.Id | Integer | Required |
DocumentReceipt.CustomerCode | Text(50) |
|
DocumentReceipt.ProjectCode | Text(50) |
|
DocumentReceipt.ReceiptNumber | Text(50) |
|
DocumentReceipt.ExportReferenceNumber | Text(50) |
|
Create Fields | Type | Comments |
ExportReferenceNumber | Text(50) |
|
Receipts | DocumentReceipt |
|
DocumentReceipt.Id | Integer | Required |
DocumentReceipt.ExportReferenceNumber | Text(50) |
|
Sample Create Request
{
“ExportReferenceNumber”: “ABC”,
“Receipts”: [
{
“Id”: 1,
“ExportReferenceNumber”: “DEF”
},
{
“Id”: 2,
“ExportReferenceNumber”: “DEF2”
},
{
“Id”: 3,
“ExportReferenceNumber”: “DEF3”
},
{
“Id”: 4
},
{
“Id”: 5,
“ExportReferenceNumber”: “DEF5”
}
]
}
14 Project
Information | Detail |
Detail | |
List | |
| For the List Operation a filter can be supplied for ModifiedOn,CreatedOn projects?$filter=CreatedOn gt yyyy-MM-ddTHH:mm:ss projects?$filter=CreatedOn gt 2019-10-27T12:44:45 DateTimes are always in UTC |
Query Fields | Type | Comments |
Id | Integer |
|
CompanyCode | Text(50) |
|
DivisionCode | Text(50) |
|
ProjectCode | Text(50) |
|
ProjectName | Text(255) |
|
ProjectManagerName | Text(350) |
|
SupervisorName | Text(350) |
|
Location | Text(40) |
|
CustomerCode | Text(50) |
|
CustomerName | Text(60) |
|
ProjectBillingType | Text(50) |
|
BusinessDimensionCode | Text(50) |
|
BusinessDimensionName | Text(50) |
|
ProjectType | Text(50) |
|
ProjectSpendingType | Text(50) |
|
ProjectGeography | Text(50) |
|
ProjectStatus | Text(50) |
|
CurrencyCode | Text(50) |
|
ProjectStartDate | Date |
|
ProjectEndDate | Date |
|
AfePurchaseOrderNumber | Text(100) |
|
Active | Bool |
|
ModifiedOn | DateTime |
|
CreatedOn | DateTime |
|
Sample Detail Response
{
“Id”: 123,
“CompanyCode”: “COMPANY_CODE”,
“DivisionCode”: “DIVISION_CODE”,
“ProjectCode”: “PROJECT_CODE”,
“ProjectName”: “PROJECT_NAME”,
“ProjectManagerName”: “PROJECT_MANAGER_NAME”,
“SupervisorName”: “SUPERVISOR_NAME”,
“Location”: “LOCATION”,
“CustomerCode”: “CUSTOMER_CODE”,
“CustomerName”: “CUSTOMER_NAME”,
“ProjectBillingType”: “Cost”,
“BusinessDimensionCode”: null,
“BusinessDimensionName”: null,
“ProjectType”: null,
“ProjectSpendingType”: null,
“ProjectGeography”: null,
“ProjectStatus”: “InProgress”,
“CurrencyCode”: “CAD”,
“ProjectStartDate”: “2017-08-24”,
“ProjectEndDate”: “2025-09-22”,
“AfePurchaseOrderNumber”: null,
“Active”: true,
“ModifiedOn”: “2020-02-25T17:52:31”,
“CreatedOn”: “2017-08-24T16:32:53”
}
15 Project Summary
Information | Detail |
List | |
|
|
Query Fields | Type | Comments |
Id | Integer |
|
DivisionId | Integer |
|
DivisionCode | Text(50) |
|
ProjectCode | Text(50) |
|
ProjectName | Text(255) |
|
ProjectStatus | Text(50) |
|
Active | Bool |
|
|
|
|
Sample Detail Response
{
“Id”: 123,
“DivisionCode”: “DIVISION_CODE”,
“ProjectCode”: “PROJECT_CODE”,
“ProjectName”: “PROJECT_NAME”,
“ProjectStatus”: “InProgress”,
“Active”: true
}
16 WBS Summary
Information | Detail |
List | |
| For the List Operation a filter can be supplied for ProjectId projects?$filter=ProjectId eq 1234
|
Query Fields | Type | Comments |
Id | Integer |
|
ParentId | Integer |
|
Wbs | Text(50) |
|
Name | Text(120) |
|
WbsCode | Text(120) |
|
WbsType | Text(50) |
|
Active | Bool |
|
Sample Detail Response
{
“Id”: 123,
“ParentId”: 456,
“Wbs”: “1.2.3”,
“Name”: “WBS_NAME “,
“WbsCode”: “WBS_CODE”,
“WbsType”: “Deliverable”,
“Active”: true
}
17 Timesheets Entry
Information | Detail |
Detail | |
List | |
Create |
Query Fields | Type | Comments |
Id | Integer |
|
EntryType | Text(50) |
|
OriginOfEntry | Text(50) |
|
ProjectName | Text(255) |
|
ProjectCode | Text(50) |
|
ProjectManagerName | Text(350) |
|
ProjectGeography | Text(50) |
|
CustomerName | Text(60) |
|
CustomerCode | Text(50) |
|
WorkpackageWbs | Text(50) |
|
WorkpackageName | Text(120) |
|
WorkpackageCostCode | Text(120) |
|
WorkpackagePhaseName | Text(120) |
|
WorkpackagePhaseCostCode | Text(120) |
|
ResourceName | Text(350) |
|
ResourceCostCode | Text(50) |
|
ResourceTagNumber | Text(40) |
|
ResourceType | Text(50) |
|
LaborName | Text(350) |
|
LaborIsContractor | Bool |
|
LaborEmployeeId | Text(40) |
|
LaborUnionId | Text(50) |
|
LaborUnionLocal | Text(50) |
|
LaborUnionClass | Text(50) |
|
LaborDepartmentName | Text(100) |
|
ResourceClassName | Text(350) |
|
ResourceClassCostCode | Text(50) |
|
ResourceClassCategoryName | Text(50) |
|
ResourceClassCategoryCostCode | Text(50) |
|
JobsiteNumber | Text(100) |
|
SiteForemanName | Text(350) |
|
ExpenseDescription | Text(400) |
|
WorkDate | Date |
|
RateTypeName | Text(40) |
|
RateTypeCode | Text(10) |
|
Quantity | Decimal |
|
Approved | Bool |
|
Submitted | Bool |
|
AccountingCode | Text(MAX) |
|
ModifiedOn | DateTime |
|
CreatedOn | DateTime |
|
CostCodes | CostCode |
|
CostCode.Name | Text(50) |
|
CostCode.Value | Text(120) |
|
AccountingCodes | AccountingCode |
|
AccountingCode.Name | Text(50) |
|
AccountingCode.Value | Text(100) |
|
Transactions | TimesheetTransaction |
|
Transaction.Id | Integer |
|
Transaction.TransactionType | Text(50) |
|
Transaction.RateTypeName | Text(40) |
|
Transaction.RateTypeCode | Text(10) |
|
Transaction.Quantity | Decimal |
|
Transaction.Rate | Decimal |
|
Transaction.Total | Decimal |
|
Transaction.ExportReferenceNumber | Text(50) |
|
Transaction.Exported | Bool |
|
Transaction.ModifiedOn | DateTime |
|
Transaction.CreatedOn | DateTime |
|
Create Fields | Type | Comments |
ProjectCode | Text(50) | Required |
WorkpackageWbs | Text(50) | Required |
ResourceType | Text(50) | Required (Labor, Equipment, Material, LaborExpense) |
ResourceName | Text(350) | Required |
ResourceCostCode | Text(50) |
|
ResourceTagNumber | Text(40) |
|
ResourceClassName | Text(350) | Required |
ResourceClassCostCode | Text(50) |
|
ExpenseLaborName | Text(350) | Required For ResourceType = LaborExpense |
ExpenseLaborCostCode | Text(50) |
|
ExpenseLaborEmployeeId | Text(40) |
|
ExpenseDescription | Text(400) |
|
ExpenseCost | Decimal | When ResourceType = LaborExpense |
WorkDate | Date | Required |
RateTypeName | Text(40) | Required |
Quantity | Decimal |
|
InternalComments | Text(1000) |
|
ExternalComments | Text(1000) |
|
Sample Create Request
[
{
“ResourceType”: “Labor”,
“ProjectCode”: “PROJECT_ABC”,
“WorkpackageWbs”: “1.3.5”,
“ResourceName”: “John Doe”,
“ResourceCostCode”: “GLB01”,
“ResourceTagNumber”: “1234”,
“ResourceClassName”: “Electrical Tradesman”,
“WorkDate”: “2020-01-15”,
“RateTypeName”: “Regular Hour”,
“Quantity”: 8
},
{
“ResourceType”: “Equipment”,
“ProjectCode”: “PROJECT_ABC”,
“WorkpackageWbs”: “1.3.6”,
“ResourceName”: “Generic Fire Alarm Equipment”,
“ResourceCostCode”: “”,
“ResourceTagNumber”: “”,
“ResourceClassName”: “CABLE INSTALLATION EQUIPMENT”,
“WorkDate”: “2020-01-15”,
“RateTypeName”: “Lot”,
“Quantity”: 15.2
},
{
“ResourceType”: “Material”,
“ProjectCode”: “PROJECT_ABC”,
“WorkpackageWbs”: “1.3.1”,
“ResourceName”: “CABLE – INSTRUMENT, CONTROL, DATA & F/O”,
“ResourceCostCode”: “”,
“ResourceTagNumber”: “”,
“ResourceClassName”: “CABLE – INSTRUMENT, CONTROL, DATA & F/O”,
“WorkDate”: “2020-01-15”,
“RateTypeName”: “Unit”,
“Quantity”: 12345
},
{
“ResourceType”: “LaborExpense”,
“ProjectCode”: “1.302060080”,
“WorkpackageWbs”: “1.1.4”,
“ResourceName”: “Driving”,
“ResourceCostCode”: “”,
“ResourceTagNumber”: “”,
“ResourceClassName”: “Driving”,
“ExpenseLaborName”: “John Doe”,
“ExpenseLaborEmployeeId”: “1234”,
“ExpenseDescription”: “ABCDEF”,
“WorkDate”: “2020-01-15”,
“RateTypeName”: “Kilometer”,
“ExpenseCost”: 123,
“Quantity”: 5
}
]
18 Timesheet Transaction Export Document
Information | Detail |
Detail | GET https://base/api/timesheetTransactionExportDocuments(documentId) |
List | |
Create |
Field | Type | Comments |
Id | Integer |
|
DocumentNumber | Text(100) |
|
ExportReferenceNumber | Text(50) |
|
TimesheetTransactions | TimesheetTransaction |
|
TimesheetTransaction.Id | Integer | Required for Create |
TimesheetTransaction.TransactionType | Text(50) |
|
TimesheetTransaction.EntryType | Text(50) |
|
TimesheetTransaction.OriginOfEntry | Text(50) |
|
TimesheetTransaction.ProjectName | Text(255) |
|
TimesheetTransaction.ProjectCode | Text(50) |
|
TimesheetTransaction.ProjectManagerName | Text(350) |
|
TimesheetTransaction.ProjectGeography | Text(50) |
|
TimesheetTransaction.CustomerName | Text(60) |
|
TimesheetTransaction.CustomerCode | Text(50) |
|
TimesheetTransaction.WorkpackageName | Text(120) |
|
TimesheetTransaction.WorkpackageCostCode | Text(120) |
|
TimesheetTransaction.WorkpackagePhaseName | Text(120) |
|
TimesheetTransaction.WorkpackagePhaseCostCode | Text(120) |
|
TimesheetTransaction.WorkpackageAreaName | Text(120) |
|
TimesheetTransaction.WorkpackageAreaCostCode | Text(120) |
|
TimesheetTransaction.ResourceName | Text(350) |
|
TimesheetTransaction.ResourceType | Text(50) |
|
TimesheetTransaction.LaborFirstName | Text(300) |
|
TimesheetTransaction.LaborLastName | Text(50) |
|
TimesheetTransaction.LaborIsContractor | Bool |
|
TimesheetTransaction.LaborEmployeeId | Text(40) |
|
TimesheetTransaction.LaborUnionId | Text(50) |
|
TimesheetTransaction.LaborUnionLocal | Text(50) |
|
TimesheetTransaction.LaborUnionClass | Text(50) |
|
TimesheetTransaction.LaborDepartmentName | Text(100) |
|
TimesheetTransaction.ResourceClassName | Text(350) |
|
TimesheetTransaction.ResourceClassCostCode | Text(50) |
|
TimesheetTransaction.ResourceClassCategoryName | Text(50) |
|
TimesheetTransaction.ResourceClassCategoryCostCode | Text(50) |
|
TimesheetTransaction.JobsiteNumber | Text(100) |
|
TimesheetTransaction.SiteForemanName | Text(350) |
|
TimesheetTransaction.WorkDate | Date | yyyy-MM-dd |
TimesheetTransaction.RateTypeName | Text(40) |
|
TimesheetTransaction.RateTypeCode | Text(10) |
|
TimesheetTransaction.Quantity | Decimal |
|
TimesheetTransaction.Rate | Decimal |
|
TimesheetTransaction.Total | Decimal |
|
TimesheetTransaction.ExportReferenceNumber | Text(50) | Optional for Create |
TimesheetTransaction.AccountingCode | Text(MAX) |
|
AccountingCodes | AccountingCode |
|
AccountingCode.Name | Text(50) |
|
AccountingCode.Value | Text(100) |
|
Sample Create Request
{
“ExportReferenceNumber”: “ABC”,
“TimesheetTransactions”: [
{
“Id”: 1,
“ExportReferenceNumber”: “DEF”
},
{
“Id”: 2,
“ExportReferenceNumber”: “DEF2”
},
{
“Id”: 3,
“ExportReferenceNumber”: “DEF3”
},
{
“Id”: 4
},
{
“Id”: 5,
“ExportReferenceNumber”: “DEF5”
}
]
}
19 Vendor Invoice
Information | Detail |
Detail | |
List | |
| For the List Operation a filter can be supplied for ModifiedOn,CreatedOn,Approved,VendorCode,Properties(“PropertyCode”) vendorInvoices?$filter=CreatedOn gt yyyy-MM-ddTHH:mm:ss vendorInvoices?$filter=CreatedOn gt 2019-10-27T12:44:45 DateTimes are always in UTC |
Field | Type | Comments |
Id | Integer |
|
VendorInvoiceType | Text(50) |
|
VendorCode | Text(50) |
|
ProjectCode | Text(50) |
|
ProjectTypeName | Text(50) |
|
InvoiceNumber | Text(255) |
|
ExportDocumentDate | Date |
|
ExportReferenceNumber | Text(50) |
|
InvoiceDescription | Text(512) |
|
CurrencyCode | Text(50) |
|
InvoiceDate | Date | “YYYY-MM-DD” |
PaymentDueDate | Date | “YYYY-MM-DD” |
PaymentTermsCode | Text(50) |
|
TotalInvoiceAmount | Decimal |
|
Exported | Bool |
|
Approved | Bool |
|
ApprovedOn | DateTime |
|
ModifiedOn | DateTime |
|
CreatedOn | DateTime |
|
Properties | VendorInvoice.Property |
|
Property.PropertyName | Text(50) |
|
Property.PropertyValue | Text(800) |
|
Lines | VendorInvoiceLine |
|
VendorInvoiceLine.Id | Text(50) |
|
VendorInvoiceLine.ProjectCode | Text(50) |
|
VendorInvoiceLine.WorkpackageBillingType | Text(50) |
|
VendorInvoiceLine.ResourceType | Text(50) |
|
VendorInvoiceLine.EmployeeId | Text(40) |
|
VendorInvoiceLine.CustomerCode | Text(50) |
|
VendorInvoiceLine.AttestedQuantity | Decimal |
|
VendorInvoiceLine.AttestedCost | Decimal | DEPRECATED => VendorInvoiceLine.VendorInvoiceAmount |
VendorInvoiceLine.VendorInvoiceAmount | Decimal |
|
VendorInvoiceLine.ResourceClassCostCode | Text(50) |
|
VendorInvoiceLine.ExpenseDescription | Text |
|
VendorInvoiceLine.PurchaseOrderItemDescription | Text(350) |
|
VendorInvoiceLine.PurchaseOrderVendorItemDescription | Text(350) |
|
VendorInvoiceLine.AdvancePaymentCost | Decimal | DEPRECATED |
VendorInvoiceLine.RetainageCost | Decimal |
|
VendorInvoiceLine.AccountingCode | Text(MAX) | DEPRECATED => ResourceAccountingCode |
VendorInvoiceLine.AccountingCodes | AccountingCode | DEPRECATED => ResourceAccountingCodes |
AccountingCode.Name | Text(50) | DEPRECATED => ResourceAccountingCodes |
AccountingCode.Value | Text(100) | DEPRECATED => ResourceAccountingCodes |
VendorInvoiceLine.DivisionName | Text(256) |
|
VendorInvoiceLine.DivisionCode | Text(50) |
|
VendorInvoiceLine.ResourceAccountingCode | Text(MAX) |
|
VendorInvoiceLine.ResourceAccountingCodes | AccountingCode |
|
AccountingCode.Name | Text(50) |
|
AccountingCode.Value | Text(100) |
|
VendorInvoiceLine.RetainageAccountingCode | Text(MAX) |
|
VendorInvoiceLine.RetainageAccountingCodes | AccountingCode |
|
AccountingCode.Name | Text(50) |
|
AccountingCode.Value | Text(100) |
|
VendorInvoiceLine.PurchaseOrder | PurchaseOrderReference |
|
PurchaseOrderReference.PurchaseOrderId | Integer |
|
PurchaseOrderReference.PurchaseOrderNumber | Text(90) |
|
VendorInvoiceLine.TaxCost | Decimal |
|
VendorInvoiceLine.Taxes | VendorInvoiceLineTax |
|
VendorInvoiceLineTax.TaxName | Text(50) |
|
VendorInvoiceLineTax.TaxPercent | Decimal |
|
VendorInvoiceLineTax.TaxCost | Decimal |
|
VendorInvoiceLineTax.AccountingCode | Text(100) |
|
Sample Detail Response
{
“Id”: 9,
“VendorCode”: “VENDOR_CODE”,
“ProjectCode”: “PROJECT_CODE”,
“InvoiceNumber”: “INVOICE NUMBER 123456”,
“ExportReferenceNumber”: null,
“InvoiceDescription”: “”,
“CurrencyCode”: “USD”,
“InvoiceDate”: “2017-11-06”,
“TotalInvoiceAmount”: 16330.2613,
“Exported”: false,
“Approved”: false,
“Lines”: [
{
“Id”: “247.2.9”,
“AttestedQuantity”: 0.7514,
“AttestedCost”: 7712.4733,
“PurchaseOrder”: {
“PurchaseOrderId”: 5,
“links”: {
“self”: {
“href”: “/api/purchaseOrders(5)”
}
}
}
},
{
“Id”: “248.2.9”,
“AttestedQuantity”: 0.7982,
“AttestedCost”: 8617.7880,
“PurchaseOrder”: {
“PurchaseOrderId”: 5,
“links”: {
“self”: {
“href”: “/api/purchaseOrders(5)”
}
}
}
}
]
}
20 Vendor Invoice Payment
Information | Detail |
Detail | |
List | |
Create | |
Update | |
Delete |
Field | Type | Comments |
PaymentId | Integer | Required |
PaymentType | Text(50) | VendorInvoice, AdvancePayment, RetainagePayment |
PaymentNumber | Text(250) |
|
PaymentDate | Date | “YYYY-MM-DD” |
PaymentTotal | Decimal |
|
Submitted | Bool |
|
Notes | Text(1000) |
|
Items | PaymentItem |
|
PaymentItem.PaymentItemId | Integer |
|
PaymentItem.VendorInvoiceId | Integer | Required |
PaymentItem.VendorInvoiceExportReferenceNumber | Text(50) |
|
PaymentItem.VendorInvoiceNumber | Text(50) |
|
PaymentItem.PaymentAmount | Decimal | Required |
Sample Detail Response
{
“PaymentId”: 45,
“PaymentType”: “VendorInvoice”,
“PaymentNumber”: “123”,
“PaymentDate”: “2018-01-31”,
“PaymentTotal”: 2200.0000,
“Submitted”: true,
“Notes”: “”,
“Items”: [
{
“PaymentItemId”: 72,
“VendorInvoiceId”: 51,
“VendorInvoiceNumber”: “1072”,
“PaymentAmount”: 2200.0000
}
]
}
Sample Create Request
{
“PaymentType”: “VendorInvoice”,
“PaymentDate”: “2018-01-31”,
“PaymentTotal”: 147.7136,
“Submitted”: true,
“Notes”: “”,
“Items”: [
{
“VendorInvoiceId”: 6871,
“PaymentAmount”: 147.7136
}
]
}
Sample Update Request
{
“PaymentDate”: “2019-09-30”
}
21 Vendor Invoice Export Document
Information | Detail |
Detail | GET https://base/api/vendorInvoiceExportDocuments(documentId) |
List | |
Create |
Field | Type | Comments |
Id | Integer |
|
DocumentDate | Date |
|
DocumentNumber | Text(100) |
|
ExportReferenceNumber | Text(50) |
|
Invoices | DocumentInvoice |
|
DocumentInvoice.Id | Integer | Required |
DocumentInvoice.VendorCode | Text(50) |
|
DocumentInvoice.ProjectCode | Text(50) |
|
DocumentInvoice.InvoiceNumber | Text(255) |
|
DocumentInvoice.ExportReferenceNumber | Text(50) |
|
Sample Create Request
{
“ExportReferenceNumber”: “ABC”,
“Invoices”: [
{
“Id”: 1,
“ExportReferenceNumber”: “DEF”
},
{
“Id”: 2,
“ExportReferenceNumber”: “DEF2”
},
{
“Id”: 3,
“ExportReferenceNumber”: “DEF3”
},
{
“Id”: 4
},
{
“Id”: 5,
“ExportReferenceNumber”: “DEF5”
}
]
}
22 Purchase Order
Information | Detail |
Detail | GET https://base/api/vendorInvoiceExportDocuments(documentId) |
List | |
Create |
Field | Type | Comments |
Id | Integer |
|
DocumentDate | Date |
|
DocumentNumber | Text(100) |
|
ExportReferenceNumber | Text(50) |
|
Invoices | DocumentInvoice |
|
DocumentInvoice.Id | Integer | Required |
DocumentInvoice.VendorCode | Text(50) |
|
DocumentInvoice.ProjectCode | Text(50) |
|
DocumentInvoice.InvoiceNumber | Text(255) |
|
DocumentInvoice.ExportReferenceNumber | Text(50) |
|
Sample Create Request
{
“ExportReferenceNumber”: “ABC”,
“Invoices”: [
{
“Id”: 1,
“ExportReferenceNumber”: “DEF”
},
{
“Id”: 2,
“ExportReferenceNumber”: “DEF2”
},
{
“Id”: 3,
“ExportReferenceNumber”: “DEF3”
},
{
“Id”: 4
},
{
“Id”: 5,
“ExportReferenceNumber”: “DEF5”
}
]
}
23 Purchase Order Reciept
Information | Detail |
Detail | GET https://base/api/purchaseOrderReceipts(purchaseOrderReceiptId) |
List | |
| For the List Operation a filter can be supplied for $filter=Submitted eq True $filter=Exported eq True |
Field | Type | Comments |
Id | Integer |
|
ProjectID | Integer |
|
ProjectCode | Text(50) |
|
ReceiptNumber | Text(255) |
|
ReceiptDate | Date | “YYYY-MM-DD” |
VendorCode | Text(100) |
|
VendorName | Text(100) |
|
Submitted | Bool |
|
SubmittedOn | DateTime | “YYYY-MM-ddTHH:mm:ss” |
Exported | Bool |
|
ExportedOn | DateTime | “YYYY-MM-ddTHH:mm:ss” |
Items | PurchaseOrderReceiptItem |
|
Item.LineNumber | Integer |
|
Item.PurchaseOrderNumber | Text(90) |
|
Item.ResourceCode | Text(50) |
|
Item.ResourceName | Text(350) |
|
Item.ItemDescription | Text(350) |
|
Item.ResourceClassName | Text(350) |
|
Item.ResourceClassCategoryName | Text(50) |
|
Item.CostCode | Text(350) |
|
Item.AccountingCode | Text (150) |
|
Item.Quantity | Decimal |
|
Item.TotalCost | Decimal |
|
Item.Holdback | Bool |
|
Item.HoldbackAmount | Decimal |
|
Item.HoldbackPercent | Decimal |
|
Item.CustomFields | CustomField |
|
CustomField.FieldCode | Text(50) | PurchaseOrderRevision.RevisionDate |
CustomField.FieldName | Text(50) |
|
CustomField.FieldValue | Text(800) |
|
|
|
|
Sample Detail Response
{
“Id”: 1621,
“ReceiptNumber”: “Receipt 3.28”,
“ReceiptDate”: “2021-11-18”,
“Submitted”: null,
“SubmittedOn”: null,
“Exported”: null,
“ExportedOn”: null,
“Items”: [
{
“LineNUmber”: 1,
“PurchaseOrderNumber”: “PO 3.28 with Closed Lines”,
“ResourceCode”: null,
“ResourceName”: “001 Service Resource Bilable ( No AC Override)”,
“Quantity”: 0.0,
“AmountReceived”: 0.0,
“CustomFields”: []
},
{
“LineNUmber”: 2,
“PurchaseOrderNumber”: “PO 3.28 with Closed Lines”,
“ResourceCode”: null,
“ResourceName”: “001 Service Resource Bilable ( No AC Override)”,
“Quantity”: 10.00000,
“AmountReceived”: 2000.0000,
“CustomFields”: [
{
“FieldCode”: “”,
“FieldName”: “98 Text Portal (E)”,
“FieldValue”: “ABC”
}
]
}
]
}
24 Purchase Order Receipt Export Document
Information | Detail |
List | |
Create |
Field | Type | Comments |
Id | Integer |
|
DocumentDate | Date |
|
DocumentNumber | Text(100) |
|
Receipts | DocumentInvoice |
|
Receipt.ReceiptId | Integer | Required |
Receipt.ReceiptNumber | Text(50) |
|
Sample Create Request
{
” Receipts “: [
{
“ReceiptId”: 1
},
{
“ReceiptId”: 2
}
]
}
25 JSON Types
Information | Detail |
Bool | true or false |
Date | yyyy-MM-dd |
DateTime | yyyy-MM-ddTHH:mm:ss |
Platform
Solutions
Owners
Contractors
Engineering/EPCM
Professional Services
Resources
White Papers
Case Studies
Blog
Videos
Frequently Asked Questions
Company
About