Adding payroll timecard detail lines
Commands: AddTimeEntries
POSThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/TimeDetailManager/AddTimeEntries
{
"WorkerTimes":
[
{
"WorkerID": "JEFMIK",
"WorkDate": "20240710",
"Entries":
[
{
"PayType": "Salary",
"WorkCode": "GEN",
"StartTime": "800",
"StopTime": "1700",
"Description": "API test",
"HourlyPay": 23.00,
"Hours": 8,
"BillingNote": "Test OData API",
"JobID": 8912,
"JobStageID": "0400L"
"Section": "ABCD",
"FruitQuality": "ABCD",
"Yield": 5.00,
"Bin": "ABCD",
"ExternalID": "ABCD1234"
}
]
}
]
}
The worker ID and date are required, along with at least one entry. The API tries to identify any problems with your input before making any changes (such as whether or not it can open/create a timecard for this worker/date combination) and will attempt to undo if there is a problem encountered during execution. The command will not assign any values that are not specified, so if you want to use Payroll defaults just leave out the property.
UPSERT behavior based on External ID. If the field PYTMDET.EXTERNALID exists in the data and has the same value as is being written, the line is updated/overwritten. If it doesn't, a new line is added.
- This will not assign worker or date.
- This will assume the external ID is on the current timecard (it will not look at all time details, just the timecard for the worker and date specified).
Removing payroll timecard detail lines
Commands: RemoveTimeEntries
POSThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/TimeDetailManager/RemoveTimeEntries
{
"RemoveTimeEntries":
[
{
"AUTOID": "39D80NN66P729HA1"
},
{
"ExternalID": "12345678"
}
]
}
This is a simple list of objects inside of "RemoveEntries".
Each object must specify an ExternalID or AUTOID. All other information will be ignored.
If both IDs are specified, ExternalID will be preferred.
Modifying payroll timecard detail lines
Commands: ModifyTimeEntries
POSThttps://ecc123456789012345.servicebus.windows.net/MyEbms/ABC/OData/TimeDetailManager/ModifyTimeEntries
{
"ModifyTimeEntries":
[
{
"AUTOID": "39D80NN66P729HA1",
"PayType": "Salary",
"WorkCode": "GEN",
"StartTime": "800",
"StopTime": "1700",
"Description": "API test",
"HourlyPay": 23.00,
"Hours": 8
},
{
"ExternalID": "12345678",
"StartTime": "1701",
"StopTime": "1730"
}
]
}
This is a simple list of objects inside of "ModifyEntries".
Each object must specify an ExternalID or AUTOID. Additional information is not required, but obviously then nothing would be changed.
If both IDs are specified, ExternalID will be preferred.
If PYTMDET.EXTERNALID does not exist in the data set and the POST tries to use it, the response will be an error and nothing will be done
Additional fields are the same information as TimeEntryInfo, which is the bottom-most entity in the AddTimeEntries.
Fields that are specified in the JSON will be assigned, regardless of whether they have information or not. This allows fields to be blanked out.
Fields that are not specified in the JSON will not be assigned.