Overview
Ekso includes a full financial model that connects work management to cost tracking, billing, and profitability analysis. Every time entry carries financial metadata — who did the work (job role and cost), what it was for (SKU and rate), and who it was charged to (customer/CRM). This financial layer ties together boards, cycles, and time tracking to give you visibility into project economics — from individual time entries up to organization-wide profitability. Whether you are working for an external customer or on internal projects, costs and margins still apply. You manage all finance settings under Settings > Finance.Job roles
A job role represents a professional function within your organization — for example, Backend Developer, Business Analyst, Project Manager, or Customer Service Agent.| Property | Description |
|---|---|
| Name | Display name (e.g., “Backend Developer”) |
| Code | Short identifier (e.g., BKDEV) |
| Hourly base cost | What you pay for this role per hour — your internal cost |
| Hourly charge rate | What you charge clients for this role per hour — your revenue rate |
| Deleted | Remove from the system |
Default job roles
Every new tenant is installed with 34 default job roles covering common professional functions. Each has a pre-set hourly base cost and charge rate that you can adjust to match your organization’s rates.| Code | Name | Base cost | Charge rate |
|---|---|---|---|
| AI | ML / AI Engineer | 700 | 1,400 |
| ARCH | Software Architect | 600 | 1,200 |
| ASE | Application Support Engineer | 300 | 600 |
| BA | Business Analyst | 400 | 800 |
| BIA | BI Analyst | 450 | 900 |
| BKDEV | Backend Developer | 450 | 550 |
| CEO | CEO | 1,000 | 4,000 |
| CFO | CFO | 1,000 | 4,000 |
| CIO | CIO | 1,000 | 4,000 |
| COO | COO | 1,000 | 4,000 |
| CSA | Customer Service Agent | 200 | 300 |
| CSM | Customer Service Manager | 300 | 400 |
| CTO | CTO | 1,000 | 3,500 |
| DA | Data Analyst | 400 | 600 |
| DE | DevOps Engineer | 350 | 400 |
| DM | Delivery Manager | 350 | 400 |
| DS | Data Scientist | 600 | 1,200 |
| FA | Financial Analyst | 300 | 300 |
| FC | Financial Controller | 500 | 500 |
| FD | Frontend Developer | 470 | 900 |
| HPMO | Head of PMO | 700 | 1,400 |
| HR | Head of Recruitment | 600 | 600 |
| MOB | Mobile Developer | 550 | 550 |
| PM | Project Manager | 575 | 1,000 |
| PROD | Product Owner | 575 | 1,000 |
| QA | QA/Test Engineer | 375 | 1,000 |
| SA | Systems Administrator | 275 | 400 |
| SCRUM | Scrum Master | 450 | 800 |
| SE | Security Engineer | 395 | 700 |
| SOFT | Software Engineer | 395 | 700 |
| SVP | Senior VP | 800 | 2,000 |
| TL | Technical Lead | 600 | 2,000 |
| UX | UX Designer | 555 | 1,400 |
| VP | VP | 775 | 1,400 |
Rates are in your tenant’s configured currency. All default roles are fully editable — add new roles, remove ones you do not need, and adjust rates to reflect your organization’s actual costs and billing rates.
Cost centers
A cost center is an organizational grouping for tracking where costs are incurred — for example, a department, team, or business unit.| Property | Description |
|---|---|
| Name | Display name (e.g., “Executive Leadership / C-Suite”) |
| Code | Short identifier (e.g., DTR) |
| Finance code | External code for integration with accounting systems (e.g., INSKJ) |
| Deleted | Remove from the system |
SKUs (billable time codes)
A SKU (stock-keeping unit) represents a billable product or service that you offer. SKUs link the work being performed to financial analysis — each has a unit price for revenue calculations.| Property | Description |
|---|---|
| Name | Display name (e.g., “Service 1”) |
| Code | Short identifier (e.g., S1) |
| Finance code | External code for integration with accounting systems (e.g., TS-SRV1) |
| Unit price | Rate per hour for this type of work (e.g., 750.22) |
| Deleted | Remove from the system |
Non-billable codes
Non-billable codes categorize time that is not chargeable to a client. Each code represents a category of internal work — for example, meetings, training, HR activities, or vacation.| Property | Description |
|---|---|
| Code | Short identifier (e.g., HR) |
| Name | Display name (e.g., “HR”) |
| Description | Rich text description of the category (e.g., “Conducting job interviews, appraisals and recruitment related activities”) |
| Active | Whether this code is available for use |
| Groups | Which user groups can use this non-billable time entry category |
| Deleted | Remove from the system |
The Groups setting controls which users see a non-billable code when logging time. Select Everyone to make a code available to all users, or restrict it to specific teams. For example, an “HR” non-billable code might be limited to the HR team, while “Meetings” is available to everyone.
CRM and customers
CRM records represent your customers, partners, and external vendors. Each record captures the customer’s identity and contact information, and connects them to the work you do for them.| Property | Description |
|---|---|
| Name | Customer or company name (e.g., “Example Inc”) |
| Code | Short identifier (e.g., EXPL) |
| Domain | Comma-delimited email domain names (e.g., example.org) |
| Address | Street address |
| Zipcode / postal code | Postal code |
| Country | Country (selected from dropdown) |
| SKU | Which products and services are linked to this customer |
| Deleted | Remove from the system |
Customer domains
CRM records can have one or more email domains. These domains are used for automatic matching — when an email arrives through the mailbox integration, the sender’s domain can be matched to a CRM record to automatically associate the resulting ticket with the right customer.Customer contacts
Each CRM record can have multiple contacts, each with a name, email address, and phone number. Contacts represent the people at the customer organization you interact with.Linked SKUs
CRM records can be linked to specific SKUs, defining which products or services are available for each customer. When logging billable time against items associated with that customer, the linked SKUs control which time codes are relevant. This ensures that your team only selects SKUs that are part of the customer’s agreement.Budget reason codes
A budget reason code explains why a board’s budget was changed. Reason codes document changes to hours, costs, points, and other budget metrics, creating an auditable history.| Property | Description |
|---|---|
| Name | Display name (e.g., “Scope increase”) |
| Code | Short identifier (e.g., INC) |
| Active | Whether this reason code is available for use |
| Deleted | Remove from the system |
Default reason codes
Every new tenant is installed with seven default reason codes:| Code | Name |
|---|---|
| INIT | Initial |
| INC | Scope increase |
| DEC | Scope decrease |
| CANCEL | Work cancellation |
| ADD | Additional work order |
| DELAY | Third party delay |
| Redo | Re-work |
How finance connects to work
The financial model connects to work management at every level:- Job roles attach to users, providing cost and charge rates for every time entry
- Cost centers attach to users, grouping costs by organizational unit for reporting
- SKUs attach to billable time entries, calculating revenue from logged hours
- CRM records link items to customers, connecting work to client relationships
- Non-billable codes categorize internal time, restricted by user group
- Budget reason codes document why board budgets change, creating an audit trail
Profitability
Ekso calculates profitability from the financial metadata on time entries:- Estimated cost = time logged x job role hourly base cost
- Estimated revenue = time logged x job role hourly charge rate
- Gross margin = (revenue - cost) / revenue