2024 is the year of the connector - vote here

Explore the QuickBooks Time (TSheets) API data model

See how the various QuickBooks Time (TSheets) endpoints relate to each other, using our handy Entity Relationship Diagram

Pulling data from the QuickBooks Time (TSheets) API is only the first part of your reporting. You also need to understand the relationships between different endpoints - something that APIs typically fail to convey.

At SyncHub, we not only sync your QuickBooks Time (TSheets) API endpoints down into a reportable format, we also describe their relationships (e.g. in terms of foreign keys) so that you can quickly get a grasp of your data and how it fits together. This page is intended as technical documentation of these relationships.

Endpoints

CustomField

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#custom-field

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
ShortCode string - -
ShowToAll boolean - -
Required boolean - -
AppliesTo string - -
Type string - -
UiPreference string - -
RegexFilter string - -
Active boolean - -
LastModified datetime - -
Created datetime - -

Estimate

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#estimates

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
ProjectID long Project → ID -
EstimateBy string - -
EstimateByID long CustomField → ID -
Active boolean - -
LastModified datetime - -
Created datetime - -

EstimateItem

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#estimate-items

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
EstimateID long Estimate → ID -
EstimatedSeconds long - -
Type string -
  • 31 Mar 2024 'tag-clouds' and 'customfields' are the same thing. 'tag-clouds' is being deprecated and will be replaced at some point with 'customfields'. This is also why type_id refers to a custom field
TypeID long CustomField → ID -
Active boolean - -
LastModified datetime - -
Created datetime - -

File

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#files

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
UploadedByUserID long User → ID -
FileName string - -
ReminderType string - -
DistributionMethods string - -
Size long - -
Enabled boolean - -
Active boolean - -
LastModified datetime - -
Created datetime - -

Group

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#groups

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Active boolean - -
LastModified datetime - -
Created datetime - -

JobCode

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#jobcodes

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
ShortCode string - -
Type string - -
ParentID long JobCode → ID -
Billable boolean - -
BillableRate decimal - -
HasChildren boolean - -
AssignedToAll boolean - -
Active boolean - -
LastModified datetime - -
Created datetime - -

JobCodeAssignment

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#jobcode-assignments

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
UserID long User → ID -
JobcodeID long JobCode → ID -
Active boolean - -
LastModified datetime - -
Created datetime - -

Location

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#locations

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Label string - -
Addr1 string - -
Addr2 string - -
City string - -
State string - -
Zip string - -
Country string - -
FormattedAddress string - -
Latitude decimal - -
Longitude decimal - -
PlaceIdHash string - -
Notes string - -
GeocodingStatus string - -
GeofenceConfigID long - -
Active boolean - -
LastModified datetime - -
Created datetime - -

ManagedClient

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#managed-clients

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
CompanyName string - -
CompanyUrl string - -
Active boolean - -
LastModified datetime - -
Created datetime - -

Notification

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#notifications

Column Type Relates to Notes
RemoteID string - -
UserRemoteID string User → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
UserID long User → ID -
MsgTrackingID string - -
Message string - -
Method string - -
Precheck string - -
DeliveryTime datetime - -
Created datetime - -

Project

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#projects

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
Description string - -
JobcodeID long JobCode → ID -
ParentJobcodeID long JobCode → ID -
Status string - -
StartDate datetime - -
DueDate datetime - -
CompletedDate datetime - -
Active boolean - -
LastModified datetime - -
Created datetime - -

Reminder

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#reminders

Column Type Relates to Notes
RemoteID string - -
UserRemoteID string User → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
UserID long User → ID -
ReminderType string - -
DistributionMethods string - -
DueDaysOfWeek string - -
Enabled boolean - -
Active boolean - -
LastModified datetime - -
Created datetime - -

ScheduleCalendar

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#schedule_calendars

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
LastModified datetime - -
Created datetime - -

ScheduleEvent

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#schedule_events

Column Type Relates to Notes
RemoteID string - -
ScheduleCalendarRemoteID string ScheduleCalendar → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
ScheduleCalendarID long ScheduleCalendar → ID -
UserID long User → ID -
JobcodeID long JobCode → ID -
Start datetime - -
End datetime - -
AllDay boolean - -
Unassigned boolean - -
Draft boolean - -
Timezone string - -
Notes string - -
Location string - -
Color string - -

TimeOffRequest

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#time-off-requests

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
UserID long User → ID -
Status string - -
Active boolean - -
LastModified datetime - -
Created datetime - -

TimeOffRequestEntry

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#time-off-request-entries

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
TimeOffRequestID long TimeOffRequest → ID -
Status string - -
ApproverUserID long User → ID -
UserID long User → ID -
JobcodeID long JobCode → ID -
ApprovedTimesheetID long Timesheet → ID -
EntryMethod string - -
Duration long - -
TzString string - -
Active boolean - -
LastModified datetime - -
Created datetime - -

Timesheet

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#timesheets

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Notes string - -
UserID long User → ID -
CreatedByUserID long User → ID -
Locked int - -
Type string - -
Location string - -
Tz decimal - -
TzStr string - -
OnTheClock boolean - -
Start datetime - -
End datetime - -
Date datetime - -
Duration long - -
LastModified datetime - -

User

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#users

Column Type Relates to Notes
RemoteID string - -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
FirstName string - -
LastName string - -
DisplayName string - -
GroupID long Group → ID -
EmployeeNumber int - -
Salaried boolean - -
Exempt boolean - -
Username string - -
Email string - -
EmailVerified boolean - -
PayrollID string - -
HireDate datetime - -
TermDate datetime - -
LastActive datetime - -
ClientUrl string - -
CompanyName string - -
ProfileImageUrl string - -
MobileNumber string - -
SubmittedTo datetime - -
ApprovedTo datetime - -
PayRate decimal - -
PayInterval string - -
Active boolean - -
LastModified datetime - -
Created datetime - -

CustomFieldItem

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#custom-field-items

Column Type Relates to Notes
RemoteID string - -
CustomFieldRemoteID string CustomField → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Name string - -
CustomfieldID long CustomField → ID
  • 3 Apr 2024 I have deactivated the RequiredCustomField children as I could not figure out how to create any in the live data to test
ShortCode string - -
Active boolean - -
LastModified datetime - -
Created datetime - -

GroupManager

Column Type Relates to Notes
RemoteID string - -
GroupRemoteID string Group → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
GroupID long Group → ID -
ManagerID long User → ID -

JobCodeLocation

Column Type Relates to Notes
RemoteID string - -
JobCodeRemoteID string JobCode → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
JobcodeID long JobCode → ID -
LocationID long Location → ID -

ScheduleEventAssignedUser

Column Type Relates to Notes
RemoteID string - -
ScheduleEventRemoteID string ScheduleEvent → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ScheduleEventID long ScheduleEvent → ID -
UserID long User → ID -

TimeOffRequestNote

Documentation: https://tsheetsteam.github.io/api_docs/?csharp#the-time-off-request-note-object

Column Type Relates to Notes
RemoteID string - -
TimeOffRequestRemoteID string TimeOffRequest → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
ID long - -
Note string - -
UserID long User → ID -
TimeOffRequestID long TimeOffRequest → ID -
Active boolean - -
LastModified datetime - -
Created datetime - -

TimesheetFile

Column Type Relates to Notes
RemoteID string - -
TimesheetRemoteID string Timesheet → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
FileID long File → ID -
TimesheetID long Timesheet → ID -

TimesheetCustomFieldItem

Column Type Relates to Notes
RemoteID string - -
TimesheetRemoteID string Timesheet → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
CustomFieldItemID long CustomFieldItem → ID -
TimesheetID long Timesheet → ID -

UserPaidTimeOffBalance

Column Type Relates to Notes
RemoteID string - -
UserRemoteID string User → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UserID long User → ID -
JobcodeID long JobCode → ID -
PTOBalance long -
  • 19 Apr 2024 Timeoff balance in seconds

UserPermissions

Column Type Relates to Notes
RemoteID string - -
UserRemoteID string User → RemoteID -
WhenUpsertedIntoDataStore datetime - -
MirrorRemoteID int - -
IsDeleted boolean - -
WhenCreated datetime - -
WhenModified datetime - -
UserID long User → ID -
Admin boolean - -
Mobile boolean - -
StatusBox boolean - -
Reports boolean - -
ManageTimesheets boolean - -
ManageAuthorization boolean - -
ManageUsers boolean - -
ManageMyTimesheets boolean - -
ManageJobcodes boolean - -
PinLogin boolean - -
ApproveTimesheets boolean - -
ManageSchedules boolean - -
ManageMySchedule boolean - -
ManageCompanySchedules boolean - -
ManageNoSchedule boolean - -
ViewCompanySchedules boolean - -
ViewGroupSchedules boolean - -
ViewMySchedules boolean - -
TimeTracking boolean - -

Need more?

SyncHub lives and breathes APIs and data. Keep exploring using the links below.