PSOhub OData Reference
Explore every OData table and field available in PSOhub including definitions, key relationships, and technical details to help you build accurate reports and dashboards.
This article provides the full field-level reference for all tables available in the PSOhub OData Feed. Use it to look up any table, understand what each field represents, and find how to use your PSOhub data effectively in Power BI, Excel, or other reporting tools.
OData Tables by PSOhub Module
Smart Quotes
Project Accounting
- ContractGroups
- ContractGroupTemplates
- ContractLines
- ContractLineTemplates
- ContractTemplates
- ContractTotals
- Projects
- ProjectStages
- ProjectType
- SubTotalGroups
- BudgetGridLineResources
- BudgetGridLines
Work Management
Resource & Capacity
- CalculationPeriods
- Calculations
- CalculationSheetLineMembers
- CalculationSheetLines
- Events
- ProjectWorkloads
- WorkloadPeriods
Time & Expenses
Invoicing
- GLAccounts
- InvoiceContractLines
- InvoiceLines
- Invoices
- InvoiceTaxes
- Recurrings
- RetainersAndInstallments
- TaxCategories
- TransactionClasses
Companies & Contacts
Users & Business Units
Full OData Table & Field Reference
Addresss
This table contains all company addresses in your PSOhub environment. A company can have multiple addresses (e.g. invoice and physical addresses), and each address record is stored here with a reference to the related company.
Field Name |
Description |
ID |
Unique identifier for the address record |
Address |
Street name and number for the company’s location |
PostalCode |
Postal or ZIP code for the address |
Region |
State, province, or region (optional or empty for some countries) |
City |
City where the address is located |
Country |
Country name of the address |
Address2 |
Additional address details such as unit, floor, or suite (if used) |
Address_Company |
ID of the company this address is associated with |
Company_DefaultAddress |
ID of the company for which this address is marked as the default (e.g. invoice or primary address) |
BudgetGridLines
This table stores the total budget values for each contract line in a project, including budgeted hours, cost estimates, and billable amounts. It also tracks variances between budgeted and used hours and links directly to the associated contract line.
Field Name |
Description |
ID |
Unique identifier for this budget grid line |
BudgettedHours |
Total number of hours budgeted for the contract line |
BudgetCostAmount |
Internal cost value based on the budgeted hours (using user cost rates) |
BudgetAmount |
External value of the budgeted hours (using billing rates) |
DeltaBudgetUsed |
Difference between budgeted and used hours (can be negative) |
BudgetGridLine_ContractGroupLine |
ID of the contract line (group line) that this budget grid line belongs to |
BudgetGridLineResources
This table holds the individual resource lines added to each contract line in the Budget Grid. These resources can be specific project members or project roles and define the number of hours, billable value (based on selling rate) and internal cost (based on cost rate).
Field Name |
Description |
ID |
Unique identifier for this budget resource line |
TotalHoursBudgetted |
Total hours budgeted for this specific resource on the contract line |
TotalHoursPlanned |
Total hours planned (via resource planning) |
TotalHoursRemaining |
Remaining hours that have not yet been planned in resource planning |
TotalCostAmount |
Internal cost estimate for this resource (based on the user’s cost rate × budgeted hours) |
TotalAmount |
External value of the resource’s work (based on the billing rate × budgeted hours) |
Description |
Optional description field for the resource line |
BudgetGridLineResource_ProjectMember |
ID of the project member assigned to this line (used when a specific resource from the project is selected) |
BudgetGridLineResource_BudgetGridLine |
ID of the contract line (budget grid line) this resource is linked to |
BudgetGridLineResource_ProjectRole_ForFiltering |
ID of the project role linked to this line (used when budgeting has been done for a project role instead of a project member/resource) |
BusinessUnits
This table contains all business units set up in your PSOhub environment. Business units help segment users, approvals, and financial data across departments or regions and can be structured in parent-child hierarchies.
Field Name |
Description |
ID |
Unique identifier for the business unit |
Name |
The name of the business unit |
ReadOnly |
Indicates whether the business unit can be deleted or not |
ObjectGUID |
Internal global identifier used by PSOhub’s backend |
NumberOfMembers |
Total number of users assigned to this business unit |
changedDate |
The date and time when the business unit was last modified |
createdDate |
The date and time when the business unit was created |
AdminApprovalHours |
Indicates whether admin approval is required for submitted hours |
PMApprovalHours |
Indicates whether project manager approval is required for submitted hours |
BusinessUnit_Organisation |
ID of the PSOhub organization this business unit belongs to |
BusinessUnit_SubBusinessUnit |
ID of the parent business unit, if this is a child unit |
BusinessUnit_Account_TeamLead |
ID of the user assigned as team lead for this business unit |
BusinessUnit_AccountingAuthorization |
ID of the user or role responsible for accounting authorization |
CalculationPeriods
This table defines the periods used for Resource Planning in PSOhub – monthly only. Each period represents a time segment over which planned hours, used hours and billable amounts are calculated.
Field Name |
Description |
ID |
Unique identifier for the calculation period |
Year |
Calendar year for this calculation period |
CurrentYear |
Indicates whether this row represents the current year |
JanTotalHours ↔ DecTotalHours |
Total hours planned for each month |
JanTotalAmount ↔ DecTotalAmount |
Total value (in currency) planned for each month |
TotalHours |
Total hours planned across the full year |
TotalAmount |
Total value planned across the full year |
JanUsedHours ↔ DecUsedHours |
Hours actually used/booked per month |
JanUsedAmount ↔ DecUsedAmount |
Actual value based on hours used per month |
TotalHoursUsed |
Total hours actually used in the year |
TotalAmountUsed |
Total value of used hours across the full year |
JanTotalAmountBase ↔ DecTotalAmountBase |
Total planned amounts converted to base currency for each month |
TotalAmountBase |
Total planned value in base currency for the year |
JanUsedAmountBase ↔ DecUsedAmountBase |
Actual used amounts converted to base currency for each month |
TotalAmountUsedBase |
Total used value in base currency for the year |
JanTasks ↔ DecTasks |
Total number of tasks created in each month |
TotalTasks |
Total number of tasks across the full year |
JanTasksOverdue – DecTasksOverdue |
Number of tasks overdue in each month |
JanTasksCompleted – DecTasksCompleted |
Number of tasks marked as completed each month |
Calculation |
Foreign key linking to the associated calculation run or profile |
Calculations
This table stores summarized data about resource planning for a specific year. It contains annual totals for hours and financials (both actual and remaining), and supports reporting and forecasting at the project level.
Field Name |
Description |
ID |
Unique identifier for the calculation entry |
TotalHours |
Total number of hours calculated for the year |
TotalAmount |
Total billable amount calculated for the year (in project currency) |
TotalAmountLeft |
Remaining billable amount left to be invoiced or recognized |
Currency |
Currency code used for the calculation (e.g. €, $, etc.) |
TotalHoursLeft |
Remaining number of hours not yet consumed or tracked |
ActiveYear |
Year the Resource Planning calculation applies to |
TotalAmountBase |
Total amount in the base currency |
TotalAmountLeftBase |
Remaining amount left in the base currency |
Project |
ID of the project this calculation is linked to |
CalculationSheetLineMembers
This table stores monthly hour and cost breakdowns per project member or project role on a calculation sheet line. It is primarily used in PSOhub’s resource planning module to analyze budgeted versus used time and financials for each team member or role.
Field Name |
Description |
ID |
Unique identifier for the line item |
TotalHours |
Total budgeted hours for this project member or role |
JanHours to DecHours |
Monthly breakdown of budgeted hours (Jan–Dec) |
JanAmount to DecAmount |
Monthly breakdown of budgeted amounts in currency (Jan–Dec) |
TotalAmount |
Total budgeted amount for the year |
Description |
Optional description of the resource line |
JanUsedHours to DecUsedHours |
Monthly breakdown of hours actually used (Jan–Dec) |
JanUsedAmount to DecUsedAmount |
Monthly breakdown of actual used amounts (Jan–Dec) |
TotalUsedHours |
Total hours actually used for the year |
TotalUsedAmount |
Total amount actually used for the year |
JanAmountBase to DecAmountBase |
Monthly breakdown of budgeted amounts in base currency |
TotalAmountBase |
Total budgeted amount for the year in base currency |
JanUsedAmountBase to DecUsedAmountBase |
Monthly breakdown of used amounts in base currency |
TotalUsedAmountBase |
Total used amount for the year in base currency |
CalculationSheetLine |
ID of the calculation sheet line this member is part of |
ProjectRole |
ID of the project role if budgeted by role |
Account |
ID of the account (customer) this budget line relates to |
CalculationSheetLineMember_ProjectMember |
ID of the specific project member this line is assigned to |
CalculationSheetLines
This table contains monthly and total forecasted values (hours and amounts) for individual project members or roles within a specific calculation sheet line. Each record represents the budgeted effort and cost per resource for a line item in the calculation sheet. It also tracks actual usage against these forecasts, as well as base currency conversions.
Field Name |
Description |
ID |
Unique identifier for the calculation sheet line member |
TotalHours |
Total forecasted hours across all months |
JanHours–DecHours |
Forecasted hours per month |
JanAmount–DecAmount |
Forecasted monetary amount per month |
TotalAmount |
Total forecasted amount across all months |
Description |
Description or label for the line member |
JanUsedHours–DecUsedHours |
Actual used hours per month |
JanUsedAmount–DecUsedAmount |
Actual used amounts per month |
TotalUsedHours |
Total actual used hours |
TotalUsedAmount |
Total actual used amount |
JanAmountBase–DecAmountBase |
Forecasted amounts in base currency per month |
TotalAmountBase |
Total forecasted amount in base currency |
JanUsedAmountBase–DecUsedAmountBase |
Actual used amounts in base currency per month |
TotalUsedAmountBase |
Total actual used amount in base currency |
CalculationSheetLine |
ID of the calculation sheet line this record belongs to |
ProjectRole |
ID of the project role assigned to this member (if applicable) |
Account |
ID of the account (resource) |
CalculationSheetLineMember_ProjectMember |
ID of the project member assigned to this sheet line member |
Comments
This table stores internal notes that are added to individual time entries in PSOhub. These comments provide context for changes, clarify logged hours, or record communication between team members related to time registration. Comments can be added directly when logging or editing time in the Timesheet Grid or other entry methods. Each comment is linked to a specific time entry and user.
Field Name |
Description |
ID |
Unique identifier for the comment |
Comment |
The internal note or comment text added to a time entry |
createdDate |
The date and time when the comment was created |
Comment_TimeSheet |
ID of the time entry this comment is linked to |
Comment_Account |
ID of the user who created the comment |
Companies
The Companies table holds records for all organizations in your PSOhub environment. These companies can be customers, vendors, or internal entities and are often linked to projects, contracts, and contacts. This table serves as the foundation for CRM-like company data within PSOhub and integrates with external systems like HubSpot.
Field Name |
Description |
ID |
Unique identifier for the company |
Name |
Name of the company |
TotalCompanyValue |
Aggregated total value of all projects linked to the company |
CompanyHubspotID |
HubSpot ID for this company (used for syncing) |
Company_DefaultAddress |
Foreign key linking to the company’s default address in the Addresses table |
CompletionProgresses
The CompletionProgresses table tracks updates to the completion percentage of individual contract lines in PSOhub’s Completion Management feature. This data reflects progress updates entered manually by users and is used to calculate actual progress for invoice triggers and project performance. Each record represents a historical snapshot of the completion status for a specific contract line at a given point in time.
Field Name |
Description |
ID |
Unique identifier for the progress update |
UpdateDate |
Date and time when the progress update was made |
UpdatedBy |
Name of the user who entered the progress update |
PercentageCompleted |
Percentage of completion for the contract line at the time of the update |
CompletionProgress_ContractGroupLine |
ID of the contract line this completion update is linked to |
Contacts
This table contains all company contacts in your PSOhub environment. These contacts are typically linked to companies and are used for communication, invoicing, and integration with external systems like Xero, QuickBooks, and Salesforce.
Field Name |
Description |
ID |
Unique identifier for the contact |
Fullname |
Full name of the contact |
FirstName |
First name of the contact |
LastName |
Last name of the contact |
Gender |
Gender of the contact (if provided) |
|
Email address of the contact |
JobTitle |
Job title of the contact |
Phonenumber |
Phone number of the contact |
ExternalContactID |
External ID from a connected system (e.g. CRM or ERP) |
ContactID |
Internal PSOhub contact identifier |
DateOfBirth |
Date of birth of the contact |
ExternalCompanyID |
External ID of the company this contact is associated with |
Edit |
Indicates if the contact can be edited (TRUE/FALSE) |
CanEdit |
Indicates if the contact can be edited by the current user (TRUE/FALSE) |
OrgID |
Internal organization ID |
MoneyBirdId |
ID used to link this contact to MoneyBird accounting system |
QuickBooksId |
ID used to link this contact to QuickBooks |
ExactIdGUID |
ID used to link this contact to Exact Online |
XeroContactGUID |
ID used to link this contact to Xero |
BexioContactId |
ID used to link this contact to Bexio |
SalesforceId |
ID used to link this contact to Salesforce |
DynamicsId |
ID used to link this contact to Microsoft Dynamics |
Contact_Company |
ID of the company this contact is associated with |
Contact_Organisation |
ID of the PSOhub organization this contact belongs to |
ContractGroups
The ContractGroups table defines the primary budget groupings within a project contract in PSOhub, such as “Hours,” “Expenses,” or custom groups like “Design & Planning.” Each contract group serves as a container for one or more contract lines, helping structure budgets and reporting. This table also supports budget tracking and alerting by capturing threshold percentages and alert statuses for each group. Contract groups are numbered and named for easy reference and may be linked to a specific project engagement.
Field Name |
Description |
ID |
Unique identifier for the contract group |
Group |
Name of the contract group (e.g. Hours, Expenses, Design & Planning) |
ConcatenatedNumberName |
Combination of group number and group name for display (e.g. “10 |
RecordGUID |
Globally unique identifier for the contract group record |
AlertPercentageOne |
First threshold percentage for budget usage alerts |
AlertPercentageTwo |
Second threshold percentage for budget usage alerts |
AlertPercentageOneReached |
Boolean value indicating if first alert threshold has been triggered |
AlertPercentageTwoReached |
Boolean value indicating if second alert threshold has been triggered |
FirstAlertSent |
Boolean indicating if a notification has been sent for the first threshold |
SecondAlertSent |
Boolean indicating if a notification has been sent for the second threshold |
PercentageUsedBudgetUsedAmount |
Percentage of the budget used based on monetary amount |
PercentageUsedBudgetUsedHours |
Percentage of the budget used based on time effort (hours) |
ContractGroup_OneEngagement |
ID linking to the OneEngagement (i.e. the associated project) |
SubTotalGroup_ContractGroup |
ID for a subtotal grouping of related contract groups |
ContractGroup_OrganizationGroupNumber |
Organization-specific group number for sorting/structure |
ContractGroup_ContractGroupNumber |
Unique group number assigned within the contract for sequencing |
ContractGroupTemplates
The ContractGroupTemplates table defines the individual contract groups that make up a contract template in PSOhub. Each contract group represents a categorized section within a contract template (such as Hours, Expenses, or Development), and groups together related contract lines for budgeting, planning, and reporting purposes. These groupings are used when setting up contract templates, which can later be applied to projects and quotes.
Field Name |
Description |
ID |
Unique identifier for the contract group template |
Group |
The name of the contract group (e.g. Hours, Expenses, Development) |
GroupNumberNameConcatenated |
Display value combining group number and group name (e.g. “10 - Hours”) |
ContractGroupTemplate_ContractTemplate |
Foreign key linking this group to a specific contract template |
ContractLines
Each ContractLine represents a specific scope of work, expense, or deliverable within a ContractGroup. This table defines the financial and planning details for the line, including type, budget, usage, invoicing, and profit tracking.
Field Name |
Description |
ID |
Unique identifier for the contract line |
Name |
The name of the contract line (e.g. Design, Travel Expenses) |
Description |
Optional internal description of the contract line |
ContractLineType |
The billing type (e.g. Fixed_fee, Time_Materials, Expenses) |
Amount |
Agreed financial value of the line |
Budget |
Total budget assigned to the line |
Alert |
Status of whether budget alerts are enabled |
AlertPercentageOne |
First alert threshold percentage (e.g. 80) |
TotalContractLineValue |
Total value of the line across currencies |
AmountUsed |
Total value already used from this contract line |
HoursBooked |
Number of hours booked on this line |
Active |
Whether the contract line is active |
AmountInvoiced |
Amount already invoiced for this line |
InvoiceMethod |
How this line is invoiced (e.g. Manual, Recurring) |
DeActivateOnBudgetOverwrite |
Indicates if line deactivates when budget is overwritten |
PercentageUsed |
% of the contract line budget already used |
DisplayName |
Concatenated display name with contract line number and name |
AlertPercentageTwo |
Second alert threshold percentage (e.g. 90) |
FirstAlertSent |
Whether the first alert has been sent |
SecondAlertSent |
Whether the second alert has been sent |
BudgetOverwriteAlertSent |
Whether the overwrite alert has been sent |
ExpenseNonBillable |
Whether expenses on this line are non-billable |
AmountBase |
Amount in base currency |
BudgetBase |
Budget in base currency |
TotalContractLineValueBase |
Total contract line value in base currency |
AmountUsedBase |
Amount used in base currency |
AmountInvoicedBase |
Amount invoiced in base currency |
HubSpotTicketID |
Linked HubSpot ticket ID, if synced |
EstimatedProfitAmount |
Projected profit in default currency |
EstimatedProfitAmountBase |
Projected profit in base currency |
EstimatedMarginPercentage |
Projected profit margin (%) |
ActualProfitAmount |
Actual profit achieved |
ActualProfitAmountBase |
Actual profit in base currency |
ActualMarginPercentage |
Actual profit margin (%) |
BudgetBasedOnCostRate |
Budget based on internal cost rates |
BudgetBasedOnCostRateBase |
Base currency value of cost-based budget |
UsedBasedOnCostRate |
Used amount based on internal cost rates |
UsedBasedOnCostRateBase |
Base currency used value based on cost |
PlannedHours |
Total planned hours for this line |
UsedHours |
Hours already worked on this line |
RemainingHours |
Planned hours minus used hours |
TagsSearch |
Internal tags for filtering/searching lines |
PercentageCompleted |
Completion % (based on hours or tasks) |
ToBeInvoiced |
Remaining amount to be invoiced |
ToBeInvoicedBase |
Base currency value to be invoiced |
ProfitAmount |
Actual profit amount in local currency |
ProfitAmountBase |
Actual profit in base currency |
RecognizedRevenue |
Revenue recognized to date |
RecognizedRevenueBase |
Recognized revenue in base currency |
Project |
Linked project ID |
RecurringInvoiceSchema |
Recurring invoice schema, if applicable |
ContractGroupLine_ContractGroup |
Linked contract group this line belongs to |
ContractGroupLine_TaxCategory |
Linked tax category for invoicing |
ContractGroupLine_GLAccount |
Linked general ledger account |
ContractGroupLine_TransactionClasses |
Transaction classes for reporting |
ContractGroupLine_TrackingCategory |
Linked tracking category |
BudgetGridLine_ContractGroupLine |
Linked budget grid line |
ContractLineTemplates
The ContractLineTemplates table defines individual contract lines within a contract template in PSOhub. Each line represents a specific service, deliverable, or expense — such as “Consultancy” or “Travel Expenses” — and is categorized under a contract group. These lines allow organizations to predefine budgeting, billing type (e.g., time & materials or fixed fee), and revenue recognition structures that can be reused across multiple projects.
Field Name |
Description |
ID |
Unique identifier for the contract line template |
Name |
Name of the contract line (e.g., “Consultancy”, “Travel Expenses”) |
Description |
Optional description of the contract line |
ContractLineType |
Type of line item: Time_Materials, Fixed_fee, or Expenses |
Amount |
Default amount for this line (usually 0 in templates, filled in later) |
Budget |
Budgeted amount for the line |
TotalContractLineValue |
Total value for this line (may equal budget or amount, depending on context) |
RevenueAccount |
Revenue account associated with this line (if applicable) |
Currency |
Currency in which the contract line is defined (e.g., €, $, etc.) |
NonBillableExpense |
Indicates whether the expense is billable (FALSE = billable) |
LineNumberNameConcantenated |
Display value combining line number and name (e.g., “10.001 – Consultancy”) |
FixedFeeExpense |
TRUE if the line is both Fixed Fee and an expense (rare use case) |
ContractLineTemplate_ContractGroupTemplate |
Foreign key linking this line to a specific contract group template |
ContractLineTemplate_ContractTemplate |
Foreign key linking this line to the contract template |
ContractLineTemplate_ContractLineNumber |
Foreign key referencing the line number template |
ContractLineTemplate_TaxCategory |
Tax category used for this line (if applicable) |
ContractTemplates
The ContractTemplates table defines reusable contract blueprints in PSOhub. These templates serve as the foundation for creating actual project contracts, enabling organizations to standardize contract structures across projects. Each contract template can include one or more contract groups and contract lines, and is used to streamline budgeting, quoting, and invoicing workflows.
Field Name |
Description |
ID |
Unique identifier for the contract template |
Name |
Name of the contract template (e.g., “Default contract”, “SAAS Agreement”) |
IsExample |
Indicates whether this is an example template (TRUE = example) |
ContractTemplateID |
Alternate identifier; matches ID but may be used in different contexts |
changedDate |
Last date and time the template was modified |
createdDate |
Date and time the template was originally created |
ContractTotal_ContractTemplate |
Foreign key linking to total contract value info (if tracked separately) |
ContractTemplate_Organisation |
Foreign key linking the template to a specific organization |
owner |
ID of the user who owns or created the contract template |
changedBy |
ID of the user who last modified the template |
ContractTotals
This table summarizes financial totals across all contract lines within a single engagement or contract template. It’s commonly used for reporting and analysis purposes, providing aggregate values such as total budget, amount used, amount invoiced, and recognized revenue.
Field Name |
Description |
ID |
Unique identifier for the contract totals record |
TotalBudget |
Total budgeted amount across all contract lines |
TotalAmount |
Total contracted amount (i.e. total value of all lines) |
TotalAmountUsed |
Total amount of the contract that has been used |
TotalAmountInvoiced |
Total amount that has been invoiced so far |
TotalCostAmount |
Total cost associated with the contract lines |
changedDate |
Last modified date of the record |
createdDate |
Date the record was created |
TotalBudgetBase |
Total budget converted into base currency |
TotalAmountBase |
Total contracted amount in base currency |
TotalAmountUsedBase |
Used amount in base currency |
TotalAmountInvoicedBase |
Invoiced amount in base currency |
TotalCostAmountBase |
Total cost in base currency |
TotalEstimatedProfitAmount |
Estimated profit based on budget and cost |
TotalEstimatedProfitAmountBase |
Estimated profit in base currency |
TotalEstimatedMarginPercentage |
Estimated margin as a percentage |
TotalActualProfitAmount |
Actual profit calculated after usage/invoicing |
TotalActualProfitAmountBase |
Actual profit in base currency |
TotalActualMarginPercentage |
Actual margin as a percentage |
TotalSalesBudgetAmount |
Sales budget set for the contract |
TotalBudgetBasedOnCostRate |
Budget calculated using internal cost rates |
TotalBudgetBasedOnCostRateBase |
Cost rate-based budget in base currency |
TotalUsedBasedOnCost |
Used budget based on internal cost |
TotalUsedBasedOnCostBase |
Used cost in base currency |
PercentageCompleted |
Overall completion percentage for the contract |
TotalPlannedHours |
Total planned hours across all contract lines |
TotalUsedHours |
Total actual hours booked |
TotalRemainingHours |
Remaining hours not yet used |
TotalBudgettedHours |
Total number of hours budgeted |
TotalDeltaBudgetUsed |
Difference between budgeted and used hours |
ToBeInvoiced |
Total amount yet to be invoiced |
ToBeInvoicedBase |
To be invoiced amount in base currency |
ProfitAmount |
Final calculated profit |
ProfitAmountBase |
Final profit in base currency |
RecognizedRevenue |
Revenue that has been recognized |
RecognizedRevenueBase |
Recognized revenue in base currency |
ContractTotal_OneEngagement |
Linked engagement (project) ID |
ContractTotal_ContractTemplate |
Linked contract template ID |
owner |
User ID of the record owner |
changedBy |
User ID of the last person to change the record |
Currencies
This table stores all available currencies configured within an organization, including their exchange rates and display settings. It supports multi-currency operations by linking each currency to its organization and base configuration.
Field Name |
Description |
ID |
Unique identifier of the currency |
ExchangeRate |
The exchange rate relative to the base currency |
Active |
Indicates whether this currency is active |
AddToChilds |
If set to true, the currency applies to child organizations |
BaseCurrency |
True if this is the organization’s base currency |
CurrencyDisplayName |
The display name of the currency (e.g. Euro (EUR) €) |
changedDate |
Timestamp of the last update to the record |
createdDate |
Timestamp of when the record was created |
MultiCurrency_Organisation |
Links to the organization that uses this currency |
MultiCurrency_Currencies_Base |
Links to the base currency in a multi-currency setup |
MultiCurrency_Currencies_Multi |
Links to the foreign/multi currency in a multi-currency setup |
owner |
ID of the user who owns this record |
changedBy |
ID of the user who last modified this record |
Events
The Events table stores scheduled items for users, including absences, holidays, and project-related time blocks. This data feeds the Absence Calendar and Resource Scheduler in PSOhub and is primarily used for tracking team availability and time allocation across projects.
Field Name |
Description |
ID |
Unique identifier for the event record |
EventId |
Internal identifier of the event |
ResourceId |
ID of the user or resource the event is linked to |
StartDate |
Date and time the event starts |
EndDate |
Date and time the event ends |
EventContext |
Additional context or comments about the event (optional) |
SendInviteToResource |
Indicates if an invite was sent to the resource (TRUE or FALSE) |
Title |
Title or name of the event |
EventType |
Type of event (e.g. Holiday, Absence, Project) |
WorkingHoursAbsent |
Number of working hours considered absent for this event |
EventInvite_Event |
Linked ID if the event was created via an invite |
Event_Account |
ID of the account or organization the event is associated with |
Event_Organisation |
ID of the organization the resource belongs to |
Event_OneEngagement |
ID of the related One Engagement (if applicable) |
Event_ContractGroupLine |
ID of the related contract line (if applicable) |
Event_Company |
ID of the company related to the event (if applicable) |
Event_ProjectRole |
ID of the project role this event is linked to (if applicable) |
ExpenseCategories
This table stores the list of expense categories used in PSOhub. These categories help classify expenses for reporting, invoicing, and budgeting purposes. They are typically set up by administrators and referenced during expense entry.
Field Name |
Description |
ID |
Unique identifier for the expense category |
OrderNumber |
Determines the display order of categories |
Category |
Name of the expense category (e.g. Travel, Lodging) |
ExpenseCategory_Organisation |
Reference to the organisation this category belongs to |
Expenses
This table stores individual expense records submitted by users in PSOhub. Each expense may be linked to a category, project, contract line, business unit, and company. It supports both billable and non-billable entries and includes base currency tracking for reporting and invoicing.
Field Name |
Description |
ID |
Unique identifier for the expense entry |
ExpenseDate |
Date the expense occurred or was submitted |
Description |
Description of the expense (e.g. “Airfare – AMS to DXB”) |
Amount |
Total amount of the expense including VAT (in the user’s currency) |
VAT |
VAT percentage applied to the expense |
VATAmount |
Amount of VAT included in the total |
Invoiced |
Indicates whether the expense has been invoiced |
AmountExcVAT |
Amount of the expense excluding VAT (in the user’s currency) |
HasAttachment |
Indicates whether an attachment is uploaded (e.g. a receipt) |
Currency |
The currency code or symbol used for the expense (e.g. €, $, £) |
createdDate |
Date and time the expense record was created |
TotalAmountBase |
Total amount including VAT, converted to the organization’s base currency |
VATAmountBase |
VAT amount converted to the base currency |
AmountExVATBase |
Amount excluding VAT, converted to the base currency |
Expense_ExpenseCategory |
Link to the category the expense falls under (e.g. Travel, Meals) |
Expense_ContractGroupLine |
Link to the contract group line the expense is associated with |
Expense_OneEngagement |
Link to the engagement the expense belongs to |
Expense_Account |
Link to the user account that submitted the expense |
Expense_Company |
Link to the company the expense is associated with |
Expense_Invoice |
Link to the invoice this expense was billed on (if applicable) |
Expense_BusinessUnit |
Link to the business unit responsible for this expense |
GLAccounts
This table stores General Ledger (GL) account mappings used to link PSOhub contract lines to specific GL accounts in external accounting systems such as Xero, QuickBooks, and Sage. These mappings allow for seamless financial data integration and accurate account-based tracking of revenue and expenses.
Field Name |
Description |
ID |
Unique identifier for the GL account |
GLName |
Display name of the GL account in PSOhub |
Description |
Optional description of the account or its intended use |
SageExternalID |
External ID used when syncing to Sage |
SageDefaultTaxID |
Default tax ID used for this GL account when syncing to Sage |
SageDefaultTaxPercentage |
Default tax rate (percentage) used with this GL account in Sage |
changedDate |
Date and time the record was last modified |
createdDate |
Date and time the record was originally created |
GLAccount_AccountingAuthorization |
Link to the accounting integration authorization (e.g., Sage, QuickBooks) |
GLAccount_Organisation |
Link to the organization this GL account belongs to |
owner |
User who created the record |
changedBy |
User who last modified the record |
InvoiceContractLines
This table stores individual contract lines that are included in a customer invoice. Each line reflects a billable item such as time & materials, fixed fees, expenses, or retainers, pulled from the project’s contract setup.
Field Name |
Description |
ID |
Unique identifier for the invoice line |
LineNumber |
Display line number on the invoice |
Name |
Label or name of the invoice line |
LineType |
Type of contract line: Fixed_fee, Time_Materials, Retainer, Expenses |
Amount |
Total amount for this line (including any previously invoiced amounts) |
Invoiced |
Amount already invoiced for this line |
ToBeInvoiced |
Amount yet to be invoiced |
NumberOfLines |
Number of rows the line spans on the invoice (typically 1) |
TaxPercentage |
Tax rate applied to the line item |
OriginalToBeInvoiced |
Original amount to be invoiced before adjustments |
Currency |
Currency used for this invoice line |
DateLabelDisplay |
Whether the invoice line displays a date label |
NameLabelDisplay |
Whether the invoice line displays a name label |
HoursLabelDisplay |
Whether the invoice line displays hours worked |
RateLabelDisplay |
Whether the invoice line displays rate per hour |
DescriptionLabelDisplay |
Whether the invoice line includes a description label |
PersonNameDisplay |
Whether the person’s name is shown on the invoice line |
Description |
Description text displayed on the invoice line |
RoleDisplay |
Whether the user role is shown on the invoice line |
FixedFeeExpense |
TRUE if the line is a fixed fee expense (not time-based) |
AmountBase |
Total amount in the base (home) currency |
InvoicedBase |
Amount already invoiced in the base currency |
ToBeInvoicedBase |
Remaining amount to be invoiced in the base currency |
InvoiceContractLine_Invoice |
Link to the invoice this line is part of |
InvoiceContractLine_ContractGroupLine |
Link to the original contract line that generated this invoice line |
InvoiceContractLine_InvoiceSchema |
Link to the invoice schema (if applicable) |
InvoiceLines
The InvoiceLines table contains the detailed line items associated with each invoice in PSOhub. These line items represent the specification sheet often included in Time & Materials (T&M) or hybrid invoices. Each row corresponds to a specific billed activity, such as a time entry or expense, and is always linked to a broader InvoiceContractLine.
Field Name |
Description |
ID |
Unique identifier for the invoice line |
Description |
Description of the invoice line, often pulled from the original time entry or expense |
Rate |
Billing rate applied to the line |
AmountOfHours |
Number of hours or units associated with the line |
TotalAmount |
Total amount billed on this line (Rate × Hours/Units) |
Date |
Date associated with the billed entry (e.g., time entry date) |
Currency |
Currency in which the amount is billed (e.g., €, £) |
TotalAmountBase |
Total amount converted to your organization’s base currency |
RateBase |
Rate converted to your base currency |
InvoiceLine_InvoiceContractLine |
Reference to the related contract line in the InvoiceContractLines table |
InvoiceLine_Account |
Reference to the PSOhub account that generated the invoice line (usually the user) |
InvoiceLine_ProjectRole |
Reference to the project role associated with the work (if applicable) |
Invoices
The Invoices table captures all invoice records in PSOhub, including summary and detailed invoices for both fixed fee and time-based billing. Each record includes metadata such as invoice number, dates, totals, VAT, currency, and associations to projects, companies, and contact persons. This table is essential for tracking all invoicing activity and syncing with external accounting systems like Xero or QuickBooks.
Field Name |
Description |
ID |
Unique identifier for the invoice |
Name |
Internal name of the invoice |
InvoiceNumber |
Official invoice number (if assigned) |
Reference |
Optional reference field (e.g. PO number) |
InvoiceDate |
Date the invoice was issued |
ExpirationDate |
Due date for the invoice |
TotalExVAT |
Total amount excluding VAT |
VATPercentage |
VAT percentage applied |
Total |
Total invoice amount including VAT |
Status |
Status of the invoice (e.g. Draft, Sent, Approve, Paid) |
DateFrom |
Start of the period covered by the invoice |
DateTo |
End of the period covered by the invoice |
Footer |
Optional footer text included on the invoice PDF |
DatePAID |
Date the invoice was marked as paid |
InvoiceDetailLevel |
Invoice layout type: Summary or Detailed |
IsCredit |
Boolean flag indicating if the invoice is a credit note |
AccountingExternalURL |
External link to the invoice in the connected accounting software |
ExternalInvoiceNumber |
Invoice number assigned by external accounting system |
XeroInvoiceID |
Internal ID used for syncing with Xero |
TotalExVATBase |
Total amount excluding VAT, converted to base currency |
TotalAmountIncVATBase |
Total amount including VAT, converted to base currency |
SentDate |
Date the invoice was sent from PSOhub |
Project |
Reference to the project associated with the invoice |
Company |
Reference to the company the invoice is billed to |
InvoiceSchema |
Reference to the invoice template or layout schema |
Invoice_Contact_Main |
Contact person associated with the invoice |
InvoiceTaxes
The InvoiceTaxes table stores tax subtotals for each invoice in PSOhub. It breaks down the VAT amounts applied per rate on an invoice, which is especially useful when multiple VAT rates are used on a single invoice. This table supports accounting compliance and detailed reporting for tax authorities or integrations with external systems.
Field Name |
Description |
ID |
Unique identifier for the VAT record |
VATPercentage |
VAT rate (%) applied to the invoice items (e.g. 21 for 21%) |
VATAmount |
The monetary amount of VAT charged for this tax rate |
TaxName |
Name or label for the VAT type (e.g. “Tax”, “taks”) |
VATAmountBase |
VAT amount converted to the organization’s base currency |
InvoiceTax_Invoice |
Reference to the invoice this tax subtotal is associated with |
KanbanLaness
The KanbanLanes table defines the visual workflow lanes used in PSOhub's Kanban view. These lanes represent different stages in your task lifecycle and are mapped to PSOhub status types. You can configure these lanes under Plan Settings > Kanban Lanes in your Organization settings.
Field Name |
Description |
ID |
Unique identifier for the Kanban lane |
Name |
The label of the lane as shown in the Kanban view (e.g., "To do", "In progress") |
Action |
The internal status that this lane maps to (e.g., To_Do, Running, Done) |
ObjectGUID |
The unique identifier used internally to track this lane’s position or ID |
KanbanLanes_Organisation |
The organization ID this lane belongs to |
Plans
The Plans table stores the core metadata for every plan in PSOhub, regardless of whether the plan is linked to a project, quote, or standalone. It includes task volume metrics, timeline indicators, and associations to organizational objects like templates, projects, and plan stages. This table is foundational when analyzing task distribution, project progress, or capacity planning across PSOhub.
Field Name |
Description |
ID |
Unique identifier for the plan |
Name |
The name of the plan |
GuestGUID |
Guest access GUID for external sharing |
PlanningGuestURL |
Public URL to access the plan in guest mode |
TotalTasks |
Total number of tasks in the plan |
TotalTasksCompleted |
Number of completed tasks in the plan |
TotalTasksOverdue |
Number of tasks with due dates in the past and still incomplete |
TaskboardStatus |
Current status of the plan (e.g. Active, Archived) |
NumberSelected |
Number of selected (manually marked) tasks |
DateFirstTask |
Start date of the earliest task in the plan |
DateLastTask |
Due date of the latest task in the plan |
TotalUnAssigned |
Number of tasks that are not assigned to any user |
ExternalDealID |
Deal ID from an external source such as HubSpot |
TaskBoard_TaskBoardTemplate |
Linked Task Board Template used to structure the plan |
TaskProgress_TaskBoardProgress |
Linked progress indicator for this plan (e.g. milestone or completion status) |
TaskBoard_OneEngagement |
Link to the related project or quote this plan belongs to |
TaskBoard_Organisation_NoProject |
Link to the organization if this is a standalone/non-project plan |
TaskBoard_PlanStage |
Plan stage (e.g. Draft, In Progress, Completed), mapped to lifecycle statuses |
PlanStages
The PlanStages table defines the stages a plan can be assigned to within PSOhub. Stages are typically used to track the lifecycle of a plan (e.g., Pre-trial, Active, Closed) and can be customized per organization. Each stage has a name, system identifier, and order for display or progression purposes.
Field Name |
Description |
ID |
Unique system ID for the plan stage |
StageName |
The name of the stage as defined by the organization (e.g., "QUICK SETUP") |
StageGUID |
Globally unique identifier for the stage |
Description |
Optional description of the stage's purpose or use |
OrderNumber |
Display order of the stage (e.g., 1 = first, 2 = second) |
PlanStage_Organisation |
The organization ID this stage belongs to |
ProjectMembers
The ProjectMembers table tracks users assigned to a project in PSOhub. Each entry represents a project team member, including internal users, their billing and cost rates, assigned project roles, and other attributes related to task alerts and visibility in invoices. These records form the basis for project participation, rate calculation, and team accountability within each project.
Field Name |
Description |
ID |
Unique identifier for the project member |
Active |
Indicates whether the user is actively assigned to the project |
SendAlert |
Boolean flag to send alerts for overdue tasks assigned to this member |
Rate |
Billing rate of the project member in their local currency |
RateBase |
Billing rate converted to the base currency of the organization |
ExternalRate |
Optional external rate (e.g., subcontractor billing rate) |
Currency |
Currency code for the billing rate (e.g., €, $, £) |
ProjectMemberGUID |
Unique GUID for this project member record |
CostRate |
Internal cost rate for this resource |
CostRateBase |
Internal cost rate converted to base currency |
Tags |
Custom tags associated with the user for filtering or categorization |
BackUpPM |
Boolean flag indicating whether this user is a backup project manager |
ProjectMember_OneEngagement |
Linked Engagement (Project) ID this member is assigned to |
ProjectMember_ProjectRole |
Linked Project Role ID defining this user's responsibility in the project |
ProjectMember_Account |
Linked internal user account (system user ID) |
ProjectMember_InvoiceContractLine_ForInvoiceDoc |
Linked contract line ID for billing/invoicing purposes |
ProjectMember_ProjectPlan |
Linked Plan ID the user is participating in |
ProjectRoles
This table defines the available roles that can be assigned to users within a project. Each role includes rate and cost rate information, supporting financial and time tracking accuracy.
Field Name |
Description |
ID |
Unique identifier for the role configuration |
Role |
The name of the project role (e.g., Project Manager, Engineer) |
Rate |
The billable rate (usually per hour) associated with this role |
CostRate |
The internal cost rate used for profitability and margin analysis |
RateBase |
The base multiplier or currency factor for the rate (typically 0 = default) |
CostRateBase |
The base multiplier for the cost rate (typically 0 = default) |
ProjectRole_Organisation |
Links to the organisation that owns the role |
ProjectRole_MultiCurrency |
Links to the MultiCurrency table for international rate management |
Projects
The Projects table stores the main project records in PSOhub. It serves as the foundation for contract tracking, project management, time logging, invoicing, and reporting. This table connects projects to organizations, users, contract templates, quotes, and OneEngagement model elements.
Field Name |
Description |
ID |
Unique identifier for the project |
ProjectName |
Name of the project |
Description |
Free-text description or scope of the project |
ProjectStage |
Current stage of the project (e.g. Active, Proposal, Archived) |
ProjectDate |
Start date or creation date of the project |
ExpectedEndDate |
Estimated end date of the project |
DealAmount |
Amount associated with the originating quote/deal |
TotalProjectValue |
The financial value of the project (entered or calculated) |
DueDaysInvoice |
Number of days after invoice date before payment is due |
InvoiceDetailLevel |
Detail level for invoices: Summary or Detailed |
Reference |
Optional reference number or code |
ProjectNumber |
Auto-generated project number (e.g. PRO-2024-25) |
SmartInvoiceStatus |
Status of invoicing for the project (e.g. Draft, Finalized) |
ClosedDate |
Date the project was closed or archived |
InternalProject |
TRUE if the project is for internal use only |
Planning |
TRUE if the project includes a plan |
Currency |
Currency used for the project (€, $, £, etc.) |
TotalProjectValueBase |
Project value converted to base currency |
IsQuote |
TRUE if this record was generated from a quote |
Tags |
Tags used to categorize the project |
IsExample |
TRUE if the project is a demo/example |
ExternalDealID |
ID of the associated external deal (e.g., HubSpot deal) |
Location |
Location related to the project |
Remark |
Additional notes or comments |
IsHubSpotServiceProject |
TRUE if flagged as a HubSpot service project |
HubspotCustomObjectID |
Custom object ID in HubSpot (if linked) |
ProjectManager |
User ID of the assigned project manager |
Customer |
Linked company/contact acting as the customer |
ProjectType |
Category of project (e.g., Consultancy, SaaS) |
ContractTotal_OneEngagement |
Linked contract total for OneEngagement model |
OneEngagement_Organisation |
Organization assigned under OneEngagement |
OneEngagement_MultiCurrency |
Linked record for multi-currency conversion context |
OneEngagement_BusinessUnit |
Business unit responsible for the project |
OneEngagement_ProjectStage |
Custom stage in OneEngagement lifecycle |
OneEngagement_ContractTemplate |
Contract template used for this project (if any) |
OneEngagement_Contact_MainContact |
Primary contact person for this project |
ProjectStages
The ProjectStages table defines the lifecycle stages a project can go through in PSOhub. These stages are managed in the Project Settings of your organization and typically include values such as Draft, Active, Closed, and Archived. Each stage has a default PSOhub behavior (e.g. "Closed" means no further time entries or changes are allowed). These stages help categorize and filter projects across the platform.
Field Name |
Description |
ID |
Unique identifier for the project stage |
StageName |
Name of the project stage (e.g. Draft, Active, Closed, Archived) |
OrderNumber |
Determines the order in which stages appear in dropdowns or stage selectors |
Description |
Optional internal notes about the stage |
ProjectStage_Organisation |
The organization to which this stage configuration belongs |
ProjectTypes
The ProjectTypes table contains the different types of projects that an organization can define in PSOhub. These types help categorize projects and are configured in the Project Settings module. Each entry in this table represents a project type assigned to an organization.
Field Name |
Description |
ID |
Unique identifier of the project type |
ProjectType |
Name of the project type (e.g. Consultancy, Quote) |
ProjectType_Organisation |
Link to the organization this project type belongs to |
ProjectWorkloads
The ProjectWorkloads table stores the calculated capacity and effort metrics for an organization’s entire portfolio of projects. It reflects the total available hours (capacity), planned or actual workload (hours and amounts), and what remains to be utilized. This data is especially useful for capacity planning and workload analysis across teams.
Field Name |
Description |
ID |
Unique identifier for the project workload record |
TotalAmount |
Total monetary value of all planned work across projects |
TotalHours |
Total number of hours associated with planned work |
TotalAmountLeft |
Remaining budgeted amount still unallocated or unspent |
Currency |
Currency code used for the amount fields |
TotalAmountString |
Text representation of the total amount (e.g., "€10,000") |
AnalysisMode |
Boolean field indicating whether the workload is in analysis mode |
AmountMode |
Boolean field indicating whether financial values are used for workload calc. |
TotalCapacityLeft |
Remaining number of hours available in resource capacity |
ShowTasks |
Boolean indicating if task-level detail is shown |
YearlyCapacity |
Total available hours in the year for the organization |
TotalHoursLeft |
Total hours that are still unallocated from capacity |
changedDate |
Last date this workload record was modified |
createdDate |
Date when the workload record was created |
TotalAmountBase |
Total amount converted into the organization's base currency |
TotalAmountLeftBase |
Remaining amount left, converted into base currency |
ProjectWorkload_Organisation |
Linked ID of the organization the workload belongs to |
Quotes
The Quotes table contains all quotes created in PSOhub. Each quote represents a formal offer sent to a client for proposed services, often tied to a Deal in HubSpot or another CRM. This table includes quote metadata, financial values, deal associations, contract selections, and project creation settings.
Field Name |
Description |
ID |
Unique identifier for the quote |
QuoteDate |
Date the quote was issued |
QuoteExpirationDate |
Date the quote is set to expire |
QuoteNumber |
System-generated number for the quote |
Comments |
General comments or notes added to the quote |
QuoteFooter |
Custom footer text that appears at the bottom of the quote PDF |
AddTeamAndRates |
Indicates if team members and hourly rates were added |
AddTaskBoard |
TRUE if a Task Board was included in the quote |
AddGanttChart |
TRUE if a Gantt chart was included in the quote |
AddWLOverview |
TRUE if Workload Overview was included in the quote |
AddWLDetail |
TRUE if Workload Detail view was included in the quote |
AddFiles |
TRUE if files were attached to the quote |
QuoteStage |
Current stage of the quote (e.g., Draft, Signed, Expired, Declined) |
QuoteDLID |
Unique identifier used in the quote's deep link |
IsSigned |
Whether the quote has been signed |
DeepLink |
Link to view or sign the quote externally |
WLTotalHours |
Total estimated hours from workload planning |
WLTotalAmount |
Total estimated amount from workload planning |
CopyQuoteStatusChange |
TRUE if the quote was duplicated due to a status change |
NumberOfTimesCopied |
Count of how many times the quote was copied |
OriginalQuoteNumber |
Quote number of the original quote (if this is a copy) |
TotalAmountEstimate |
Total estimated amount including all sections |
DisplayEstimate |
TRUE if the estimate should be shown in the quote document |
EngagementID |
Internal identifier for the engagement linked to the quote |
ProjectName |
Name of the proposed project |
Description |
Description of the project in the quote |
ProjectStage |
Stage the resulting project will begin in (e.g., Draft, Active) |
ProjectDate |
Proposed start date for the project |
ExpectedEndDate |
Proposed end date for the project |
DealAmountBase |
Deal amount in the organization’s base currency |
Amount |
Deal amount in the quote's selected currency |
TotalProjectValue |
Total project value calculated in the quote |
TotalProjectValueBase |
Total project value in the base currency |
DueDaysInvoice |
Days after invoice date when payment is due |
ExternalDealID |
Deal ID from an external CRM (e.g., HubSpot) |
NewActivity |
TRUE if activity was created when generating the quote |
InvoiceDetailLevel |
Selected invoice layout (e.g., Summary, Detailed) |
Reference |
Internal reference code or label for tracking |
ProjectNumber |
System-generated number for the project created from the quote |
SmartInvoiceStatus |
Status for Smart Invoicing automation (if applicable) |
ClosedDate |
Date the quote was closed (won or lost) |
InternalProject |
TRUE if the quote is for internal purposes |
Planning |
TRUE if project planning section was used |
PlanningStartDate |
Start date of the planning phase |
HubspotURL |
Link to the associated HubSpot Deal |
TotalProjectValueString |
Formatted display of total project value (e.g., "€ 10,000.00") |
IsExample |
TRUE if this is a sample or test quote |
Currency |
Currency symbol used in the quote (e.g., €, CHF) |
CurrencyCode |
Currency code (e.g., EUR, USD) |
ProjectGUID |
Internal system ID for the proposed project |
DateActive |
Date the quote was activated |
DisplayProjectNameNumber |
Display format of project name and number combined |
UseTaskBoardTemplate |
TRUE if a task board template was used in the quote |
CreatedFromCompanyContact |
TRUE if the quote was created directly from a contact, not a deal |
DeleteRelatedRecords |
TRUE if deleting the quote should also delete linked records |
CreateProjectTeamFromTaskBoard |
TRUE if project team was created from task board roles |
SalesforceExternalId |
External ID if linked to a Salesforce opportunity |
SalesforceURL |
URL to the associated Salesforce deal/opportunity |
DynamicsExternalId |
External ID if linked to Microsoft Dynamics |
DynamicsURL |
URL to the associated Dynamics opportunity |
FromImport |
TRUE if the quote was imported via external file |
WizardStep |
The last completed step in the quote wizard |
UseABasicContract |
TRUE if a basic contract was used instead of a template |
ContractSelectOrDefault |
Indicates whether a default or custom contract was used |
IsHubSpotServiceProject |
TRUE if this is a HubSpot Service quote/project |
DisplayAsBase |
Flag for internal visibility in quote rendering |
IsQuote |
TRUE if the record is classified as a quote (vs template) |
TeamsTeamID |
Microsoft Teams Team ID for integration |
AddMTeams |
TRUE if MS Teams integration was enabled |
AddTeamMembersToMTeams |
TRUE if team members were added to MS Teams automatically |
MTeamsChannelID |
Microsoft Teams Channel ID |
CreatedFromQuote |
Quote ID from which this quote was cloned |
CollaborationWebUrl |
URL to external collaboration workspace (if integrated) |
SelectDisplayTeamsName |
Selected name for displaying in MS Teams |
CollaborationDisplayName |
Display name used in collaboration platforms |
SendAlertsToCollaboration |
TRUE if alerts should be sent to the collaboration tool |
FocusOnTitle |
System flag for visual emphasis on title field |
SendDataChangesToCollaboration |
TRUE if quote data changes sync with collaboration platform |
UpdateDealValueWith |
Field used to update deal value in CRM integration |
changedDate |
Timestamp when the quote was last modified |
createdDate |
Timestamp when the quote was originally created |
Quote_Project |
Foreign key linking to the related project |
Quote_AccountSalesRep |
Foreign key linking to the sales rep/contact account |
ContractTotal_OneEngagement |
Foreign key to the total contract record linked to the quote |
Calculation_OneEngagement |
Foreign key to the quote's calculation record |
RecurringInvoiceSchema_Project_OData |
Foreign key to recurring invoice setup (if applicable) |
TaskBoard_OneEngagement |
Foreign key to the associated task board (if present) |
OneEngagement_ProjectType |
Foreign key to the selected project type for this quote |
OneEngagement_BusinessUnit |
Foreign key to the selected business unit |
Recurrings
The Recurrings table stores configuration data for recurring fixed-fee invoices in PSOhub. This table is used when automatic invoicing is enabled on a contract line, allowing PSOhub to generate invoices on a regular cadence—such as monthly or quarterly. It helps track the frequency, start/end dates, and next invoice date for each recurring schedule.
Field Name |
Description |
ID |
Unique identifier for the recurring schedule |
StartDate |
The date the recurring schedule begins |
EndDate |
The date the recurring schedule ends |
Frequency |
How often the invoice recurs (e.g., Monthly, Quarterly) |
NextRecurringDate |
The next scheduled date for invoice generation |
ContractGroupLine |
ID of the associated contract group line for this recurring invoice |
RecurringInvoiceSchema_Project_OData |
Foreign key linking to the project associated with this recurring schedule |
RetainersAndInstallments
This table contains all installment or retainer-based billing entries created from contract lines set to "Installments" or "Recurring fixed fee." Each row represents a single scheduled installment of a contract line.
Field Name |
Description |
ID |
Unique identifier for the installment/retainer entry |
DueDate |
Scheduled date for the installment to be invoiced |
PercentageToInvoice |
Percentage of the contract line to be invoiced in this installment |
Amount |
Amount to be invoiced for this installment (in the quote/project currency) |
Invoiced |
Actual amount that has already been invoiced from this installment |
Description |
Optional description for the installment (shown on invoice if used) |
Currency |
Currency symbol used in the quote/project |
Edit |
Indicates if this row is editable in the UI (TRUE or FALSE) |
AmountBase |
Installment amount in the base currency of the organization |
InvoicedBase |
Amount invoiced from this installment in base currency |
ContractGroupLine |
Foreign key linking to the contract group line this installment is based on |
Invoice |
Foreign key linking to the actual invoice, if already generated |
InstallmentAndRetainer_Project_OData |
Foreign key linking to the associated project |
InvoiceContractLine_InvoiceSchema |
Foreign key linking to the invoice schema used for this contract line |
SubTasks
The SubTasks table stores data for checklist items attached to tasks within a project plan in PSOhub. These checklist items help users break tasks into smaller, actionable steps and track their progress individually.
Field Name |
Description |
ID |
Unique identifier for the checklist item |
Description |
Text content of the checklist item (what needs to be done) |
Finished |
Boolean indicating if the checklist item has been marked as completed |
createdDate |
Date and time the checklist item was created |
SubTask_Task |
Foreign key linking the checklist item to the specific task it belongs to |
SubTotalGroups
The SubTotalGroups table summarizes financials and effort for each Contract Group in a project. It includes planned and actual values, used hours, margins, and revenue data. These subtotals help track profitability and progress at the group level across contract lines.
Field Name |
Description |
ID |
Unique identifier for the subtotal group |
SubTotalBudgetBase |
Budgeted amount in base currency (system currency) |
SubTotalBudget |
Budgeted amount in the quote or project currency |
SubTotalAmountBase |
Total planned amount in base currency |
SubTotalAmount |
Total planned amount in quote/project currency |
SubTotalUsedBase |
Total amount of effort or cost used so far, in base currency |
SubTotalUsed |
Total amount of effort or cost used so far, in quote/project currency |
SubTotalInvoicedBase |
Total invoiced amount in base currency |
SubTotalInvoiced |
Total invoiced amount in quote/project currency |
SubTotalEstimatedProfitAmount |
Expected profit amount based on budget vs cost |
SubTotalEstimatedProfitAmountBase |
Same as above, in base currency |
SubTotalEstimatedMarginPercentage |
Expected margin as a percentage |
SubTotalActualProfitAmount |
Actual profit earned to date |
SubTotalActualProfitAmountBase |
Actual profit in base currency |
SubTotalActualMarginPercentage |
Actual margin based on used vs invoiced amounts |
SubTotalBudgetBasedOnCostRate |
Budgeted cost calculated using cost rates |
SubTotalBudgetBasedOnCostRateBase |
Same as above, in base currency |
SubTotalUsedBasedOnCost |
Actual cost incurred based on logged time or expenses |
SubTotalUsedBasedOnCostBase |
Same as above, in base currency |
SubTotalSalesBudgetAmount |
Sales budget (planned revenue amount) |
SubTotalSalesBudgetAmountBase |
Sales budget in base currency |
SubTotalPlannedHours |
Total number of hours planned |
SubTotalUsedHours |
Total number of hours logged or used |
SubTotalRemainingHours |
Remaining hours (Planned - Used) |
SubTotalBudgettedHours |
Total budgeted hours |
SubTotalDeltaBudgetUsed |
Difference between budget and used (in hours or currency depending on context) |
PercentageCompleted |
Progress percentage for this subtotal group |
ToBeInvoiced |
Amount yet to be invoiced (project currency) |
ToBeInvoicedBase |
Amount yet to be invoiced (base currency) |
ProfitAmount |
Calculated profit (revenue - cost) |
ProfitAmountBase |
Profit in base currency |
RecognizedRevenue |
Revenue recognized for accounting purposes |
RecognizedRevenueBase |
Recognized revenue in base currency |
SubTotalGroup_ContractGroup |
Foreign key linking this group to a Contract Group |
Tags
The Tags table stores custom tags created by users to categorize and label different elements in PSOhub, such as team members or roles. Each tag includes usage stats, timestamps, and ownership details. This helps organizations standardize filters and streamline internal searches.
Field Name |
Description |
ID |
Unique identifier for the tag |
TagName |
The name or label of the tag |
TotalUsed |
Number of times this tag has been applied in the system |
changedDate |
Date and time when the tag was last updated |
createdDate |
Date and time when the tag was originally created |
Tags_Organisation |
Reference to the organization the tag belongs to |
owner |
ID of the user who created the tag |
TaskLists
The TaskLists table stores the phase-level structure of a plan in PSOhub. Each task list represents a group of tasks, usually tied to a specific phase, deliverable, or contract line. Task lists help organize projects into clear stages for planning, tracking, and reporting.
Field Name |
Description |
ID |
Unique identifier for the task list |
TaskListName |
Name of the task list as it appears in the plan |
Order |
The position of the task list within the plan |
IsSelected |
TRUE if the task list is currently selected or active |
createdDate |
The date and time the task list was created |
TaskList_TaskBoard |
Internal reference linking the task list to a specific task board |
TaskList_ContractGroupLine |
Internal reference linking the task list to a contract line, if applicable |
Tasks
The Tasks table stores all individual tasks created within PSOhub projects. Each task is part of a tasklist and includes key details such as title, status, priority, assigned users, and estimated effort. This table also captures milestones, dependencies, and links to roles or business units to support tracking and reporting across projects.
Field Name |
Description |
ID |
Unique identifier for the task |
Title |
Name of the task |
DueDate |
The date the task is due |
Priority |
Priority level of the task (e.g. High, Medium, Low, None) |
Status |
Current status of the task (e.g. To_Do, In_Progress, Done) |
OrderNumber |
Order of the task within its tasklist |
StartDate |
The planned start date of the task |
Progress |
Numeric percentage representing task completion (0–100) |
Duration |
Number of working days between start and due date |
AssignedToDescription |
Name(s) of user(s) assigned to the task |
IsMileStone |
TRUE/FALSE indicating whether the task is marked as a milestone |
TotalTimeBooked |
Total number of hours booked on this task |
IsRecurring |
TRUE/FALSE indicating whether the task is recurring |
createdDate |
The date the task was created |
EffortInHours |
Estimated effort in hours for the task |
Task_TaskList |
Linked ID to the TaskList the task belongs to |
Task_KanbanLanes |
Linked ID to the Kanban column for visual board representation |
Task_Task_Dependency |
Linked ID if this task is dependent on another task |
Task_ProjectRole |
Linked ID to the project role associated with the task |
Task_BusinessUnit |
Linked ID to the business unit associated with the task |
TaxCategories
The Tasks table stores all individual tasks created within PSOhub projects. Each task is part of a tasklist and includes key details such as title, status, priority, assigned users, and estimated effort. This table also captures milestones, dependencies, and links to roles or business units to support tracking and reporting across projects.
Field Name |
Description |
ID |
Unique identifier for the tax category |
Percentage |
Tax rate percentage (e.g. 21 for 21%) |
Category |
Type of tax, such as VAT |
DisplayName |
How the tax category appears in PSOhub (e.g. “VAT - 21%”) |
TaxCode |
Internal or external tax code if used for accounting system integration |
TaxCategory_Organisation |
Reference to the organization the tax category belongs to |
TimeSheets
The TimeSheets table stores all logged time entries in PSOhub, including details such as duration, description, approval status, source, and billing amounts. Each entry is tied to a user, project, and optionally to a task, contract line, or invoice. This table is essential for time tracking, project costing, and invoicing workflows.
Field Name |
Description |
ID |
Unique identifier for the timesheet entry |
Description |
Optional description or notes about the time entry |
DateTimeFrom |
Start date and time of the time entry |
DateTimeTo |
End date and time of the time entry |
OtherItems |
Additional metadata (reserved for internal system use) |
Source |
Origin of the entry (e.g. Outlook, Chrome Extension, Mobile) |
NumberOfHours |
Total hours recorded |
TotalAmount |
Total amount billed (based on hourly rate) |
Invoiced |
TRUE if the time has been invoiced |
TimesheetRate |
Hourly rate applied to the entry |
Currency |
Currency used for billing this time entry |
PublicHoliday |
TRUE if the entry falls on a public holiday |
TotalAmountCostRate |
Total internal cost for this time entry (based on cost rate) |
CostRate |
Cost rate per hour for the user/resource |
TotalAmountBase |
Billed amount converted to the organization’s base currency |
TotalAmountCostRateBase |
Internal cost in base currency |
createdDate |
Timestamp when the timesheet entry was created |
ApprovedPM |
TRUE if approved by the project manager |
DateTimeApprovedPM |
Date/time the entry was approved by the project manager |
ApprovedByPM |
ID of the user who approved the entry as project manager |
ApprovedAdmin |
TRUE if approved by an admin |
DateTimeApprovedAdmin |
Date/time the entry was approved by the admin |
ApprovedByAdmin |
ID of the user who approved the entry as admin |
RejectReasonAdmin |
Admin's reason for rejecting the entry |
RejectReasonPM |
Project manager's reason for rejecting the entry |
DateTimeRejectedAdmin |
Date/time the entry was rejected by the admin |
DateTimeRejectedPM |
Date/time the entry was rejected by the project manager |
HubSpotCustomObjectID |
ID of any synced HubSpot custom object |
Project |
ID of the related project |
Account |
ID of the related customer account |
ProjectRole |
ID of the role associated with the time entry |
Company |
ID of the company that owns this entry |
Invoice |
ID of the invoice the time entry is linked to |
ContractLine |
ID of the related contract line (if time is linked to budgeting) |
TimeSheet_TimeSheetView |
ID of the time entry’s parent timesheet view (grouped entry) |
TimeSheet_TimeSheetLines |
Reference to detailed line entries (if applicable) |
TimeSheet_SmartTimeLineHistory |
Tracks changes if the entry was created via Smart Timeline |
TimeSheet_ProjectMember |
ID of the project member who logged the time |
TimeSheet_TimelineData |
Link to visual timeline data (e.g. Chrome extension bar) |
TimeSheet_GeolocationTimeLine |
Link to geolocation data (if tracked) |
TimeSheet_Task |
ID of the task the time entry is linked to |
BrowserTimer_TimeSheet |
Tracks if the entry was recorded using browser-based timer |
TimeSheet_BusinessUnit |
ID of the business unit associated with this entry |
Comment_TimeSheet |
ID of the comment object linked to this time entry |
TransactionClasses
The TransactionClasses table defines financial classification structures used to tag transactions in PSOhub, particularly for integrations with accounting platforms like QuickBooks. These classes help segment revenue and expenses by categories or business units. Each entry may represent a class or subclass and can be linked to an organization and accounting authorization.
Field Name |
Description |
ID |
Unique identifier for the transaction class |
Name |
Name of the transaction class (e.g., "Consulting", "Marketing") |
IsSubClass |
Indicates whether this class is a subclass (TRUE/FALSE) |
TransactionClasses_AccountingAuthorization |
Linked field referencing the accounting authorization this class belongs to |
TransactionClasses_Organisation |
Linked field referencing the organization that owns this transaction class |
UserAccounts
This table contains information about each internal user in PSOhub. It includes personal details, account status, business unit associations, and default project roles. Use this table to analyze or manage user-level settings and access across your organization.
Field Name |
Description |
ID |
Unique identifier for the user account |
FullName |
Full name of the user (First + Last Name) |
|
Email address of the user |
Firstname |
First name of the user |
Lastname |
Last name of the user |
DaysOfHoliday |
Number of allocated holiday days for the user |
Working_hours |
Number of working hours per week for the user |
PercentageBillable |
Expected percentage of billable hours for the user |
TimesheetStartDate |
Date the user began submitting timesheets |
LastLogin |
Timestamp of the user's last login |
IsExternal |
Whether the user is external to the organization (TRUE/FALSE) |
Tags |
Any tags associated with the user |
AccountActive |
Whether the account is active (TRUE/FALSE) |
Account_Organisation |
Linked organization the user belongs to |
BusinessUnit_Account_TeamLead |
Linked business unit where the user acts as a team lead |
Account_BusinessUnit |
Linked business unit the user is part of |
Account_ProjectRole_Default |
Default project role assigned to the user |
WorkloadPeriods
The WorkloadPeriods table stores monthly and yearly capacity and workload data for accounts, projects, and engagements. It includes planned vs. used hours and amounts, base currency equivalents, and capacity tracking for reporting and forecasting purposes.
Field Name |
Description |
ID |
Unique identifier for the workload period record |
Year |
Calendar year the data belongs to |
JanTotalHours – DecTotalHours |
Total planned hours per month |
JanTotalAmount – DecTotalAmount |
Total planned amount (in org currency) per month |
CurrentYear |
Indicates if the year is the current calendar year |
TotalHours |
Total planned hours for the year |
TotalAmount |
Total planned amount for the year (org currency) |
JanUsedHours – DecUsedHours |
Total used hours per month |
JanUsedAmount – DecUsedAmount |
Total used amount per month (org currency) |
TotalHoursUsed |
Total used hours for the year |
TotalAmountUsed |
Total used amount for the year (org currency) |
MayUsedAmount – DecUsedAmount |
Repeated to accommodate layout – mirrors monthly used amount fields |
Level |
Context level of the record (e.g. Total, Project, GrandTotal) |
AnalysisMode |
Indicates if the data is used for analysis (TRUE/FALSE) |
AmountMode |
Indicates if amount tracking is active (TRUE/FALSE) |
TotalAmountLeft |
Remaining amount for the year (org currency) |
TotalCapacityLeft |
Remaining capacity for the year in hours |
MonthlyCapacityHours |
Average monthly capacity |
TimeLineMode |
Indicates if the timeline view is enabled (TRUE/FALSE) |
JanTotalAmountBase – DecTotalAmountBase |
Monthly total amount in base currency |
TotalAmountBase |
Total planned amount in base currency |
JanUsedAmountBase – DecUsedAmountBase |
Monthly used amount in base currency |
TotalAmountUsedBase |
Total used amount in base currency |
TotalAmountLeftBase |
Remaining amount for the year in base currency |
WorkloadPeriod_ProjectWorkload |
Linked project workload record |
WorkloadPeriod_Account |
Linked account (user) |
WorkloadPeriod_Calculation |
Linked calculation or budget |
WorkloadPeriod_OneEngagement_ToSelect |
Linked engagement or task bundle |