What is Sage 200?
Sage 200 is an ERP software focused on financial, accounting, payroll, and HR management for medium-sized companies. It allows the management of contracts, payroll calculations, social security contributions, compensation, taxes, and employee documentation, ensuring a high level of control and legal compliance.
Key benefits of the integration
- Elimination of double data entry between HR and Payroll
- Bidirectional synchronisation of employees and contracts
- Reduction of manual errors in hires, changes, and terminations
- Centralisation of legal documents (payslips, Model 145, certificates)
- Payroll incident management from Factorial to Sage
- Payroll variables
Main functionalities
- Employee creation from Factorial → Sage
- Employee creation from Sage → Factorial
- Synchronisation of personal and contractual data
- Management of employee terminations and contract endings
- Automatic sending of payroll documents from Sage to Factorial
- Compensation synchronisation (Factorial → Sage only)
- Absence synchronisation (Factorial → Sage only)
- Payroll Variables Synchronisation (Factorial → Sage only)
Synchronised fields
New employee registrations
Personal data
| Field | Factorial → Sage | Sage → Factorial |
|---|---|---|
| Full name | ✅ | ✅ |
| Document type and number | ✅ | ✅ |
| Social Security number | ✅ | ✅ |
| Phone number | ✅ | ✅ |
| ✅ | ✅ | |
| Date of birth | ✅ | ✅ |
| Gender | ✅ | ✅ |
| Nationality | ✅ | ✅ |
| IBAN | ✅ | ✅ |
| Address | ✅ | ✅ |
| City | ✅ | ✅ |
| Province/State | ✅ | ✅ |
| Postal code | ✅ | ✅ |
| Country | ✅ | ✅ |
| Employee code | ❌ | ✅ |
Contractual data
| Field | Factorial → Sage | Sage → Factorial |
|---|---|---|
| Contract start/end date | ✅ | ✅ |
| Employment start date | ✅ | ✅ |
| Job title | ✅ | ✅ |
| Contracted hours | ✅ | ✅ |
| Maximum annual/weekly hours (Collective agreement) | ✅ | ✅ |
| Full-time equivalent (FTE) % | ✅ | ✅ |
| Working days | ✅ | ✅ |
| Contribution group | ✅ | ✅ |
| Professional category | ✅ | ✅ |
| Contract type | ✅ | ✅ |
| Base salary | ✅ | ✅ |
Employee modifications
Personal data
| Field | Factorial → Sage | Sage → Factorial |
|---|---|---|
| Full name | ❌ | ✅ |
| Document type and number | ❌ | ✅ |
| Social Security number | ❌ | ✅ |
| Phone number | ✅ | ❌ |
| ❌ | ❌ | |
| Date of birth | ❌ | ❌ |
| Gender | ✅ | ❌ |
| Nationality | ❌ | ❌ |
| IBAN | ❌ | ❌ |
| Address | ✅ | ❌ |
| City | ❌ | ❌ |
| Province/State | ❌ | ❌ |
| Postal code | ✅ | ❌ |
| Country | ✅ | ❌ |
| Employee code | ❌ | ✅ |
Contractual data
| Field | Factorial → Sage | Sage → Factorial |
|---|---|---|
| Contract start/end date | ❌ | ✅ |
| Employment start date | ✅ | ✅ |
| Job title | ✅ | ✅ |
| Contracted hours | ✅ | ✅ |
| Maximum annual/weekly hours (Collective agreement) | ✅ | ✅ |
| Full-time equivalent (FTE) % | ✅ | ✅ |
| Working days | ❌ | ❌ |
| Contribution group | ✅ | ✅ |
| Professional category | ✅ | ✅ |
| Contract type | ✅ | ✅ |
| Base salary | ✅ | ✅ |
Terminations
| Field | Factorial → Sage | Sage → Factorial |
|---|---|---|
| Termination date | ✅ | ✅ |
Absences (Factorial → Sage only)
| Field | Synced |
|---|---|
| Start date | ✅ |
| End date | ✅ |
| Absence type | ✅ |
Documents (Sage → Factorial only)
| Document | Synced |
|---|---|
| Payslip PDF | ✅ |
| Withholding certificate | ✅ |
| Model 145 | ✅ |
Compensation (Factorial → Sage only)
| Document | Synced |
| Variables | ✅ |
Expenses (Factorial → Sage only)
| Expense field (sync_payload) | Description | Required | Use / destination in Sage 200 |
| IDENTIFICATION | |||
| id | Expense identifier in Factorial | Yes | Expense reference on the Sage screen |
| syncable_sync_run_id | Sync run line identifier | Yes | Status return |
| EMPLOYEE AND COMPANY | |||
| employee_id | Employee | Yes | Locates the employee by ID/NIE and NAF |
| legal_entity_id | Expense company | Recommended | Traceability |
| employee_company_identifier | Internal employee identifier | Recommended | Employee code in Sage |
| FINANCIAL DATA | |||
| reimbursable_amount | Amount to be reimbursed (in cents) | Yes | Payroll incident amount |
| currency | Currency | No | Stored as a reference |
| total_amount | Total expense amount | No | - |
| CLASSIFICATION | |||
| category_name | Expense category | Yes | Determines the payroll concept |
| category_id | Category identifier | No | Alternative if the name is not received |
| status | Expense status | Yes | Input filter |
| payment | Payment method | No | Stored as a reference |
| reimbursement_method | Reimbursement method | No | Stored as a reference |
| DATE AND DESCRIPTION | |||
| effective_on | Expense date | Yes | Year, month, and day of the incident |
| description | Expense description | No | Incident notes |
| merchant_name | Merchant | No | Own column on the expenses s_ |
What is the expect flow?
- New employee
- Termination
- Modifications
- Compensation variables
- Expenses
What does this integration do?
When an employee records an expense in Factorial (a trip, a meal allowance, mileage, office supplies...) and their manager approves it, that expense is automatically sent to Sage 200 so that it can be included in the employee's payroll, without anyone having to enter it manually.
Less manual work, fewer errors, and expenses reach payroll faster.
How does it work? (in 5 steps)
- The client approves the expense in Factorial. Only expenses that are already approved (or in "in payroll" status) are sent.
- Factorial notifies the integration that there are new expenses ready to be sent.
- The integration reviews each expense: it checks that the employee, company, amount, and category are correct.
- The integration identifies in Sage which employee and which payroll concept each expense corresponds to (for example, "Taxis" is automatically translated into the payroll concept "National travel").
- The expense appears in Sage 200, ready for the payroll manager to review it and include it in the month's payroll calculation.
If something cannot be processed (for example, an employee cannot be found or an amount is empty), the integration displays a clear message so that it can be corrected in time, instead of silently losing the expense.
What information is sent?
For each expense, the necessary data is sent so that Sage 200 can identify and process it correctly:
| Block What it includes What it is used for | ||
|---|---|---|
| Identification | Expense number in Factorial | Serves as a reference in Sage for traceability |
| Employee and company | Employee, company, employee code | Locates the correct employee in Sage (by ID/NIE) |
| Financial data | Amount to be reimbursed, currency | This is the amount incorporated into payroll |
| Classification | Expense category (e.g. "Meal allowance", "Taxis") | Determines which payroll concept is used in Sage |
| Date and description | Expense date, description, merchant | Locates the expense in the correct month and adds context |
How are expense categories translated into payroll concepts?
Each expense category in Factorial has a payroll concept assigned to it in Sage 200. This is the table the integration uses to know "where each expense goes":
| Category in Factorial Payroll concept in Sage 200 | |
|---|---|
| Mileage | Exempt mileage |
| Meal allowance / Accommodation / Laundry | Exempt meal allowances |
| Meals / Refreshments | Meal allowance |
| Airlines, rental cars, parking, fuel, tolls, taxis, transportation (public, private or by train) | National travel |
| Passport/visa fees | International travel |
| Internet, phone, office supplies, subscriptions, training, "Other" | Remote work expenses |
This mapping table can be customized according to each client's needs.
What happens if something goes wrong?
The integration does not leave errors "up in the air": it always provides a specific message about what happened, so it can be resolved quickly.
| Situation What it means What needs to be done | ||
|---|---|---|
| Expense accepted | Everything is correct | Nothing, it continues its process in Sage |
| Employee not found | ID/NIE is missing or the employee does not exist | Review the employee's details |
| Company not configured | That company is not linked to Sage | Complete the configuration with GM Integra |
| Expense not approved | The expense is not yet in the correct status | Approve the expense in Factorial |
| Empty amount |
Fields that are not synchronised
- IBAN changes from Factorial to Sage (require an approved payroll incident)
- DNI / NIE changes after employee creation
- Email changes from Factorial to Sage
- Contract changes made in Factorial (Sage is the master system)
- Absences from Sage to Factorial
Important considerations
- New hires and critical changes generate payroll incidents in Factorial that must be validated.
- Sage → Factorial synchronisation runs every 24 hours.
- Factorial → Sage synchronisation is immediate via the IRIS connector.
- Documents are transferred only if they are stored in Sage’s Document Management.
- The effective termination date determines when the employee becomes inactive in Factorial.
- Address information may not be transferred exactly.
- From Factorial → Sage, the address is synchronised into the Address field. It must then be manually split into street type, street name, and number, as these are three separate fields in Sage.
- From Factorial → Sage, both last names are synchronised into Last name 1 in Sage. They can be manually separated afterward if needed.
Frequently Asked Questions (FAQ)
-
Who is GM Integra?
GM Integra is our official Sage Partner and the developer of the connector between Factorial and Sage.
-
Does the integration have a cost?
Yes, it does. Please contact your Account Manager to evaluate a proposal.
-
Is the integration bidirectional?
Yes, but with different master system rules depending on the data type.
-
Is data synchronisation immediate?
For Factorial → Sage, yes. Otherwise, data synchronisation runs once a day, overnight.
-
Are absences synchronised in both directions?
No. Absences are only sent from Factorial to Sage.
-
What happens if a required field is missing?
The synchronisation fails, and the error is logged in irisconecta.com.
-
When are payslips sent to Factorial?
When they are generated in Sage and saved in Document Management using Sage’s PDF printer.
-
If I have an issue, where can I report errors?
All issues must be reported through GM Integra’s ticketing portal, IRIS. You will receive access once the integration is installed.