Introduction
This guide explains how to integrate NetSuite with Keka for seamless data exchange — particularly for Payroll, Employee Management, Expenses, Documents, and Financial Data. It is designed for implementation teams, integration developers, and technical stakeholders working on data sync between NetSuite ERP and Keka HR/Payroll.
Note: Keka primarily supports REST API integrations. Alternate automation options (SFTP or email‑based report delivery) are available but not recommended for core data sync.
Supported Integration Paths
| Integration Scope | Direction |
|---|---|
| Employee Data | Bi‑directional |
| Payroll Registers | Keka → NetSuite |
| Expense Claims | Keka → NetSuite |
| Documents | Keka → NetSuite |
| Custom Field Sync | NetSuite ↔ Keka optional |
| Webhook Events | Keka → Client System |
How the Integration Works
Keka exposes APIs for all core objects. Your integration logic (built on NetSuite side or via middleware) will call these APIs to extract, transform (if needed), and load data into NetSuite — and in some cases send data from NetSuite to Keka.
Each API call included in this guide provides:
- API endpoint URL
- Query parameters
- Request body parameters
- Sample cURL calls
- Example responses
Explore each link in the API documentation to understand required fields.
Case 1 — Core Data in Keka; Payroll Results Pulled into NetSuite
1. Employee Master Sync (Bi‑Directional)
You must keep employee records synchronized between both systems.
Sync from Keka to NetSuite
- API: Get all Employees
- Purpose: Pull full Employees records including enumerated values.
Sync from NetSuite to Keka
- API: Create an Employee
- Purpose: Push new or updated employee data into Keka.
Follow the Keka HRIS API Docs for full schema details.
2. Payroll Data Sync
Keka handles all payroll computations. NetSuite only receives finalized payroll results for posting and disbursement.
Data Flow Breakdown
Employee Financial Details
- API: Get All Financial Details of Employees
- Purpose: Pull employee financial profiles from Keka.
Salary Structure & Components
- API: Get All Salary Structures
- API: Get Employee Salaries
- API: Get all Salary Components
- Purpose: Pull base salary structure, individual salaries, and components with accounting codes.
Final Pay Register
Integration should fetch the payroll output in three steps:
Use the final pay register for posting in NetSuite.
Ad‑hoc Payments (Incentives/Bonuses)
- If processed on NetSuite → push with Add the adhoc transaction API.
- If managed in Keka → it appears in the Keka Get Pay Register API response.
FNF (Final Settlement) Details
- Included in the final pay register response if configured.
- FNF API call
Key Notes
- Keka remains the source of truth for calculations (tax, LOP, bonuses, loans/deductions).
- NetSuite retrieves finalized payroll details and disburses salaries accordingly.
3. Expense Management
Keka remains the central expense tracking tool.
Two Expense Concepts in Keka
Unclaimed Expenses
- API: Get all Expense Claims
- Status : ExpenseClaims
Expense Claims
- Pulling all drafted expenses
- Get all Expenses
- The Get all Expenses will have a unique expenseID, once the expenses are claimed, the expenseID will remain the same, however under the Get all Expense Claims API, the claimID will differ.
Please check the sample responses given on each link for clarity.
4. Document Sync
Pull employee attachments and document meta data from Keka to NetSuite.
Steps
-
Gets the document types
- Retrieve all available document types in Keka.
-
Get Employee Documents
- Requires Employee ID and Document Type ID.
-
Get Employee Document Attachment Download Url
- The document type attachment ID will be present under Get Employee Documents
5. Efficient Syncing — Triggers & Latest Data
For optimal performance and reduced API calls:
- Under most of the API calls, we have query params called lastModified,
- format - YYYY-MM-DDThh:mm:ss
- If not, we have from and to parameters
- We additionally have employeeId paramater too; employee IDs can be pulled via Get all Employees, or, Search for an employee by work phone or email APIs.
- For any latest changes on Keka, we have webhooks for any newly added users, newly approved expenses, leave etc.
- Webhook guide: CSM can help further: Configuring Webhooks – KekaHR Help Center
Case 2 — Creating or Updating Data on Keka from NetSuite
While Case 1 is most common, you may also need to push data into Keka.
1. Create Employees on Keka
Newly added users from NetSuite, pushed to Keka: KekaCreate an Employee
Values of any enumerated values are listed here KekaEmployees , KekaGroups
Use the Keka employee enumeration lists (e.g., groups, locations, designations) when populating fields.
2. Push Leave Requests
- API: Create Leave Request
- Purpose: Submit leave requests from NetSuite into Keka.
Ensure all required body parameters and correct endpoint are used.
3. Push Salary Information
- API: Add Employee Salary
- Purpose: Sync salary records from NetSuite into Keka.
Salary Types Supported
| Type | Value |
|---|---|
| Custom | 0 |
| Range Based | 1 |
4. Additional Payroll APIs
- API: Get All Employee Salaries
- Use this to fetch salary listings for validation or sync checks.
API Documentation Access
Each API link contains:
- Endpoint
- Query parameters
- Request body parameters
- cURL examples
- Sample responses
Explore all links for complete technical details. Additional custom fields needed for your integration can be created in Keka.
Conclusion
- Keka provides robust REST APIs covering payroll, employees, expenses, and documents.
- Integration logic resides with your implementation team, not with Keka directly.
- The technical team or Keka CSM can assist with API interpretation, testing, and troubleshooting.
API Docs:
For full reference, see the official Keka API documentation section titled Overview.
Comments
0 comments
Please sign in to leave a comment.