Setup an automated data interface between Factorial and Sage

Setup an automated data interface between Factorial and Sage

📌 This guide is for: BrynQ Agent 3.10 or newer · Sage 100 France v9. Another version? See Start here – choose your version.

Updated for Sage 100 France v9 and BrynQ Agent 3.10. New: Step 5, creating the three BrynQ import models in Sage. A new video for v9 and Agent 3.10, including Step 5, is in the video section.

* What's new with Sage v9 and Agent 3.10

  • New employees are sent in a separate file, <dossier>_EN_ATTENTE.xlsx, which Sage imports into Salariés en attente (import model BrynQ Salariés en attente). Payroll then hires them in Sage: Gestion > Salariés en attente, select the rows with Tout and click Embaucher. Until they are hired, BrynQ skips them on the next runs.
  • Embaucher only becomes available when DPAE envoyée is set (from the DPAE question in the Configuration tab) and the rows are selected with Tout.
  • For the DPAE, make sure the birth city and the trial period end date are filled in in Factorial.
  • Sage v9 requires the matricule (employee number) to be exactly 4 characters.
  • Error 'Code pays inexistant': the country must be the 3-letter code (for example FRA). The prefilled country mapping takes care of this.
  • The import reports 'Import terminé avec succès' but you don't see the employee: in v9, new employees appear under Salariés en attente first.
  • New installation step: create three empty import models in Sage with exactly the right titles. See Step 5.

What you will achieve

By the end of this guide, employee master data flows automatically from Factorial into Sage 100 France (v9). No manual exports and no copy-pasting.

How it works

It helps to picture the flow before you start. Every run goes through four steps:

  1. BrynQ reads the employee data from Factorial.
  2. BrynQ converts that data into an Excel import file that Sage understands.
  3. The BrynQ Agent, a small program on your Sage server, receives the file.
  4. ConnectImport imports the file into the right Sage company (PRH file).

So you set up two things: the Agent on the Sage server (Part 1) and the interface in BrynQ (Part 2).

Know where you are

This guide switches between several places. Each step starts with a 📍 Where label so you always know where to work:

📍 LabelWhat it is
Windows serverThe computer (machine) on which Sage 100 France is installed. You install the BrynQ Agent here.
SQL ServerThe database software that stores the Sage data. It usually runs on the same Windows server, but it can also run on a separate machine. In the installer you only enter its name.
Sage 100 FranceThe Sage application itself, opened on the Windows server.
BrynQThe BrynQ platform in your browser (https://your-slug.app.brynq.com).
FactorialFactorial in your browser.

The route at a glance

PartWhat you do📍 WhereWho
1.ADownload the BrynQ AgentBrynQ, opened on the Windows serverServer administrator
1.BInstall and configure the Agent, and create the BrynQ import models in SageWindows server + Sage 100 FranceServer and Sage administrator
1.CCheck that the Agent is runningWindows serverServer administrator
2Create, configure and connect the interfaceBrynQ (+ Factorial and Sage for look-ups)BrynQ and Factorial administrator

Before you start

Tick off this checklist first. Each item prevents a common reason for getting stuck halfway.

  • ☐ Access to BrynQ with permission to create or edit interfaces.
  • ☐ A Factorial administrator account with access to all employee data (see the box below).
  • ☐ A Sage 100 France administrator, plus a payroll user who can review import results.
  • ☐ Administrator access to the Windows server that runs Sage, including the Sage PRH files and the programFiles and programData folders.
  • ☐ Database access: the account the Agent uses to connect to SQL Server (your Windows account, or a SQL Server login) must have access to the Sage company databases. If you are not sure, check this with your IT administrator before you start.
  • ☐ A BrynQ API token for this customer, at hand. Create it in BrynQ under Admin Portal > API Access > Add API token and select exactly one customer, or ask BrynQ support.
    Why: you need it in both Part 1 and Part 2.
⚠ Use a Factorial ADMINISTRATOR account
BrynQ only syncs the employees that the connecting Factorial user can see.
A non-admin account means missing employees in Sage.


Watch first: video walkthrough of Part 1

💡 Tip: watch a video to see what to do, then use the written steps below for the details of each step.

Video 1: the complete installation, explained step by step (Sage v8, BrynQ Agent 3.9.4). It does not include Step 5 (the import models).


🎬 Video 2: Sage v9 and Agent 3.10, including Step 5
The same installation as video 1, plus the explanation of Step 5 (creating the three import models in Sage), which video 1 does not have. It goes through the other steps more quickly; watch video 1 if you want those in more detail.

Part 1.A) Download the BrynQ Agent on the Windows server

📍 Where: BrynQ, opened in a browser on the Windows server where Sage runs.
Goal: get the Agent installer onto that server.

  1. Log in to BrynQ and go to Organization > Agent.
  2. Download the latest BrynQ Agent installer.



ℹ Security warning? The files are signed and published under 'Salure ICT BV'. Your browser or Windows may still flag them as untrusted. That is expected and you can continue.

Part 1.B) Install and configure the Agent

📍 Where: the Windows server (installer), plus Sage 100 France for steps 4 and 5.
Goal: install the Agent and connect it to SQL Server and your Sage companies.

💡 Tip: the installer fills in most values for you, including the PRH files, SQL Server and ODBC driver it finds on the server. The suggested values usually work: keep them and click Next, unless a step below says otherwise.
⚠ Windows permissions
  • Install as administrator: right-click the installer and choose Run as administrator.
  • Signed software: the installer is digitally signed (right-click > Properties > Digital Signatures shows the publisher). Does Windows show Windows protected your PC? Click More info > Run anyway. If your organisation only allows approved publishers (AppLocker, antivirus), ask IT to allow the Agent as described in Security. File blocked after download? Right-click > Properties > tick Unblock.
  • While running: the BrynQ services run as LocalSystem. That account needs read and write access to the Sage folders, the PRH files and the import folder. With Windows authentication it is also the account SQL Server sees: NT AUTHORITY\SYSTEM, or the computer account DOMAIN\SERVERNAME$ when SQL Server or the Sage files are on another server.
  • Is it a permission issue? Look for Access is denied, Permission denied or Login failed in the installer log (newest Setup Log*.txt in %TEMP%) or in the Agent logs (C:\ProgramData\BrynQ\Agent\logs\agent and \sage).

Advanced checks (for IT):

  • Service and install logs: C:\ProgramData\BrynQ\Agent\logs\services (for example BrynQAgentService.err.log) shows why a service stopped; logs\installer\install-post-error.log shows failed installation steps.
  • Event Viewer (eventvwr.msc): under Windows Logs > System, events from Service Control Manager show why a BrynQ service failed to start or stopped. Under Windows Logs > Application, a SQL Server Login failed (event 18456) means the Agent account has no SQL access.
  • Service account: in services.msc, open a BrynQ service > Log On to see which account it runs as.
  • Folder access: right-click a Sage folder > Properties > Security > Advanced > Effective Access, select SYSTEM (or the computer account) and click View effective access.

Step 1: Run the installer

  1. Start the installer and select your preferred language. The screenshots below are in English.


  2. Read the license agreement carefully. If you agree to it and want to use the BrynQ Agent, accept it to continue.
  3. Keep the default (pre-filled) installation path. It works for most setups, but you can choose another folder if you prefer.
  4. Enter the BrynQ API token (see "Before you start").
    You only need to do this during the first (complete) installation.
  5. Select these modules: SQL Server, File Management, REST Proxy and Sage 100 France.

Step 2: Choose your Sage companies

Key idea: each PRH file is the database of one company in Sage. Selecting a PRH file means "BrynQ may import into this company".

  1. Select the detected PRH files that you want to connect to the interface. Scanning for PRH files can take a few minutes.
    Only if a company is missing: add its PRH file manually with the 'Add PRH File...' button.

Step 3: Connect to SQL Server

  1. Database driver: pick the suggested driver. If there are several, take the highest number (for example ODBC Driver 18 for SQL Server).
  2. Server: pick the suggested server, often SERVERNAME\SQLEXPRESS.
    Not sure? SQL Server Management Studio shows the server name when you connect, or ask your IT administrator.
  3. Login method: Windows authentication, or a SQL Server login (username and password) if your setup uses one. That account needs access to the Sage databases.
  4. SQL Server — Database Access: choose which databases the Agent may query: All databases or Selected databases only. That's up to you; if you restrict it, include at least the databases of your Sage companies.

Step 4: Create a Sage service user

📍 Where: Sage 100 France.
Why: the Agent needs its own Sage account so imports are not tied to a person's login.

  1. Open Sage 100 France, connect to a PRH file, and go to Fichier > Droits d'accès > Utilisateurs.


  2. Create a dedicated service user: enter a Code, enable 'Compte de service' and generate a Token. Make sure the token is active, and keep the code and the token at hand for the installer. The description is optional, but a recognisable name (for example BrynQ) helps later.
    Example:

  3. 📍 Back in the installer, paste the service user code and the token.

🔍 ConnectImport
Next, the installer looks for the Sage ConnectImport.exe by itself. Not found? Select it manually. It is usually in C:\Program Files (x86)\Sage\SagePaie\ConnectImport.exe.

Step 5: Create the three BrynQ import models in Sage (new in Agent 3.10)

📍 Where: Sage 100 France and the installer, both open on the Windows server.

Title (Intitulé)Root file (Fichier racine)
BrynQ SalariésFiche salarié
BrynQ Salariés en attenteSalariés en attente
BrynQ AbsencesBulletin de paie > Evènements

A. Open the models screen in Sage

  1. The installer now shows the page Sage — Import Models: the three titles, each with a Copy button and its root file. Leave it open.
  2. Open Sage 100 Paie & RH. You don't need to open a company.
  3. Go to G.A. > Format d'Importation.

B. Model 1: BrynQ Salariés

  1. Click + at the bottom of the list.
  2. Select Fiche salarié and click Ok.
  3. A screen for the fields opens. Don't change anything: close it with the X at the top right.
  4. The save window opens. In the installer, click Copy next to BrynQ Salariés. In Sage, paste it into Intitulé (Ctrl+V) and click Ok.
  5. In the installer, click Check Sage models. BrynQ Salariés now has a green check ✔.
    The line "Sage 100 Paie & RH is still open" keeps a red cross for now. That's fine.

C. Model 2: BrynQ Salariés en attente

Same steps, with another root file and title.

  1. Click +.
  2. Scroll down, select Salariés en attente and click Ok.
  3. Close the fields screen with the X.
  4. Copy BrynQ Salariés en attente in the installer, paste it into Intitulé and click Ok.
  5. Click Check Sage models: BrynQ Salariés en attente has a green check ✔.

D. Model 3: BrynQ Absences

Same steps again. The root file is one level deeper, under Bulletin de paie.

  1. Click +.
  2. Select Bulletin de paie and click Ok.
  3. Select Evènements and click Ok.
  4. Close the fields screen with the X.
  5. Copy BrynQ Absences in the installer, paste it into Intitulé and click Ok.
  6. Click Check Sage models: BrynQ Absences has a green check ✔.

E. Close Sage and continue

  1. Close Sage 100 Paie & RH completely (also other sessions on this server).
  2. Click Check Sage models once more. All lines have a green check ✔ and the installer says All set. Next is now available: click it.
✖ A line still has a red cross? Next stays unavailable until no line has a red cross. The message tells you what to do:
  • Sage 100 Paie & RH is still open: close Sage (all sessions) and check again.
  • not found. Create it with exactly this title: the title is not exactly right, or the model was not saved. Copy the title again and correct it in Sage.
  • not found. IMP0000x, used until now, is titled '…': the model was renamed in Sage. Rename it back to exactly the title (use the Copy button).
  • more than one model has this title: keep the model the installer names (if any) and delete or rename the others in Sage.
  • created with another root file: delete that model in Sage and create it again with the root file from the table.
  • files are missing from the GA folder: open the model in Sage and save it again.
ℹ Good to know
  • Sage gives each model a code (for example IMP00002). Your codes can differ from the screenshots; only the titles matter.
  • Don't rename or edit the BrynQ models later. BrynQ checks their titles every import cycle: if a title is no longer exact, nothing is imported until it is right again (the files wait in the queue). Changes to their fields are undone by BrynQ.
  • Updating the Agent later? You only see this page again if a line would not have a green check. A blue information line (fields changed in Sage) needs no action: BrynQ restores the model itself. Automatic updates never show this page.
  • OPTIONAL: after the installation you can see the three models under G.A. > Format d'Importation. Select one and click the pencil to see the fields BrynQ filled in. Don't change them.

Step 6: Finish the installation

  1. Sage — Scenario Code (optional): leave the field empty and click Next. The Agent creates the ConnectImport scenario itself on its first run. Only fill it in if BrynQ support asks you to.

  2. OPTIONAL (recommended). Create a desktop shortcut. It takes you straight to the Agent dashboard later.

  3. OPTIONAL: skip unless needed. On the same page, Use custom local network settings is only needed in special network setups. Not sure? Leave it unticked.
  4. OPTIONAL. Review the Agent configuration on the local admin dashboard. Use the desktop shortcut, or open 127.0.0.1:7071/admin (the default listen IP and admin port) in your browser on the Windows server. The dashboard is available in English, French, German and Dutch; switch the language at the top.

Part 1.C) Check that the Agent is running

📍 Where: the Windows server.

✅ Checkpoint 1: confirm this before you move on to Part 2.
  1. Open Task Manager and go to the Services tab.
  2. Check that all three BrynQ services have the status Running.



✖ A service is not running?
  1. Right-click the service and choose Start.
  2. Wait a moment and check that the status changes to Running.
  3. Does it not start, or does it stop again? This is often a permission issue: check Windows permissions at the start of Part 1.B and look for Access is denied in the logs. Still stuck? Contact BrynQ support and include a screenshot of the Services tab and the files from C:\ProgramData\BrynQ\Agent\logs\agent.
💡 Remember: whenever BrynQ cannot reach the Agent later on, check these three services first.

Part 2) Create the interface in BrynQ

📍 Where: BrynQ (any computer). You only look up values in Factorial and Sage 100 France.
Goal: tell BrynQ what to sync and where to send it.

Step 1: Create the interface from the template

  1. Open BrynQ and go to Interfaces.
  2. Click New interface and choose Use our templates.
  3. Search for Sage and select Factorial - Sage 100 France Employees.

  4. Click Use template.

Step 2: Fill in the Configuration tab

  1. Open the Configuration tab.


  2. Set the company's payment frequency.

  3. OPTIONAL (recommended). Enter a few employee IDs. The first runs then only process these employees, so you can test safely.

  4. Answer the question Is the DPAE sent outside Sage? with yes or no (oui/non, ja/nee, ja/nein and 1/0 also work). This answer is required: without a valid answer the run stops.

Step 3: Complete the value mappings in the Scenarios tab

Key idea: a value mapping translates a value in Factorial into the matching value in Sage. Every item marked with an exclamation mark (!) still needs your input.

Check in Factorial before the first run

  • Every contract has a French contract type. It sets the contract nature in Sage; if it is missing, that field stays empty and the run log shows a warning.
  • Working hours and their frequency are filled in. BrynQ uses them for the monthly working time (for example 35 h/week = 151.67).

Most value mappings, such as countries (3-letter codes like FRA) and civility, are already prefilled. You only need to check them.

  1. Open the Scenarios tab and find the items marked with an exclamation mark.

Worked example: 'Legal Entity -> Paying Establishment and Dossier'
You find this mapping in the scenario Registration. It is the most important mapping: it decides which Factorial legal entity syncs to which Sage company. We walk through it step by step; the other mappings work the same way.

  1. Left side (📍 Factorial): find the legal entity ID and name under Settings > Company details.


  2. 📍 BrynQ: enter this value on the left side of the mapping. Syncing several entities? Add one row per entity.

  3. Right side (📍 Sage 100 France): find the matching Raison sociale / dossier of the Sage PRH file. In this example the dossier is 'BRYNQ.PRH'.
  4. 📍 Sage 100 France: also find the matching 'Etablissement principal'.

  5. 📍 BrynQ: enter these values on the right side of the mapping. The result looks like this:

  6. Confirm the mapping and save it.

Now you try: complete the other non-standard mappings in the same way (look up the value on each side, enter it, confirm, save):




Finally, check that the standard value mappings are correct for your company:





Step 4: Connect Factorial and Sage (Authorization tab)

  1. Open the Authorization tab.
  2. Factorial first: click Add authorization (TEST and LIVE), enter a recognisable name and click Connect to app.
    • Sign in with your Factorial ADMINISTRATOR account.
    • Make sure the TEST version is active before your first test run.
    ⚡ Heads-up: this can connect automatically!
    Are you already signed in to Factorial in this browser, with an active login (session cookie)? Then Connect to app connects straight away with that account, without asking you to sign in.
    So before you click: check that you are signed in to Factorial with the administrator account. If not, sign out of Factorial first, or use a private/incognito window.

  3. Approve the requested access and save the connection.
  4. Then Sage: add the Sage authorization.
  5. Enter the BrynQ Agent URL in this format: https://[your-customer-slug].brynq-agent.com
    Where to find your slug: it is the first part of your BrynQ web address. The exact address is also in C:\ProgramData\BrynQ\Agent\config\public_url.txt on the Windows server. If you log in at https://acme.app.brynq.com, your slug is acme and the Agent URL is https://acme.brynq-agent.com.
  6. Enter the BrynQ Agent Token: the same token you received earlier and entered in the installer.

Check the first run

✅ Checkpoint 2: after a controlled test run:
  1. 📍 Windows server: a new Excel import file appears in the company's import folder: <dossier>.xlsx for existing employees, and <dossier>_EN_ATTENTE.xlsx when there are new employees. Once imported, the Agent moves the files to a subfolder named importe le <date and time>.
  2. 📍 Sage 100 France: existing employees are updated, and new employees appear under Gestion > Salariés en attente. Hire them there: select the rows with Tout and click Embaucher. Start with the test employee IDs you entered in Step 2.
✖ Something went wrong?
  • No import file on the server: BrynQ could not deliver the file to the Agent. Check the three BrynQ services (Part 1.C) and test the Sage authorization again.
  • 'Import terminé avec succès', but no new employee: look under Salariés en attente first (Sage v9).
  • Import file is there, but Sage has no or wrong records: check the value mappings in the Scenarios tab, especially Registration.
  • Some employees are missing: the Factorial authorization is probably not an administrator account. Reconnect it with an admin account.
  • Still stuck? See the troubleshooting section below, or contact BrynQ support and attach the log files from C:\ProgramData\BrynQ\Agent\logs\sage.

Troubleshooting

What you seeWhat to do
Any error you can't explainCheck the Agent log files on the Windows server (see Find the Agent log files below) and share them with BrynQ support.
Parts of the installation fail, or the Agent runs but cannot read or write filesCheck the Windows permissions: run the installer as administrator, and make sure the Windows account of the Agent can read and write the Sage folders, PRH files, programFiles and programData. See the warning at the start of Part 1.B.
Installer: Next stays unavailable on Sage — Import ModelsA line still has a red cross. See Step 5 for what each message means; the most common one is that Sage is still open.
Not all employees are syncedThe Factorial user in the authorization cannot see all employees. Reconnect with a Factorial administrator account.
'Erreur mot de passe' on the Sage server (this happens often)Reinitialise the user or the dossier in Sage. See Fix 'Erreur mot de passe' below.
BrynQ cannot reach the AgentCheck that the three BrynQ services are running (Part 1.C), then open http://localhost:7071 on the Windows server. Next, test the Sage authorization again from the Authorization tab.
The installer cannot connect to SQL ServerCheck that the suggested server name is right (Step 3), try the ODBC driver with the highest number, and confirm that the account has access to the Sage databases.
An app used by the template is inactiveActivate it in Settings > Interfaces > Apps.
A manual Sage import works, but the automated run does notVerify the Agent at http://localhost:7071, then test the Sage authorization again from the Authorization tab.
You need to review or remove an authorizationOpen Settings > Interfaces > Connections.

Find the Agent log files

📍 Where: the Windows server, in File Explorer.
When something goes wrong, the Agent's log files usually tell you (and BrynQ support) why. There are two log folders. Which one you need depends on the problem:

ProblemLog folder
Importing data into Sage fails or gives wrong resultsC:\ProgramData\BrynQ\Agent\logs\sage
General Agent issues, such as connection problemsC:\ProgramData\BrynQ\Agent\logs\agent

Sage import logs (for example connectimport and connectimport-error):

General Agent logs (for example application, requests and security):

💡 Contacting BrynQ support? Always attach the relevant log files. For Sage import problems, sharing the logs\sage files is highly recommended. For connection or other Agent problems, share the logs\agent files. This usually saves a lot of back-and-forth.

Can't see the ProgramData folder? It is hidden by default. Type C:\ProgramData\BrynQ\Agent\logs directly into the File Explorer address bar.

Fix 'Erreur mot de passe'

📍 Where: Sage 100 France, on the Windows server.
The error 'Erreur mot de passe' occurs quite often on the Sage server. In most cases you solve it by reinitialising the user or the dossier. Start with option A. Only use option B if A does not help.

Option A: reinitialise from within the company (try this first)

  1. Open Sage 100 France and connect to the company (PRH file).
  2. Go to Fichier > Droits d'accès > Utilisateurs.
  3. In the Liste des utilisateurs, click Réinitialisation.
  4. Try the connection again.

Option B: global reinitialisation of the dossier (use at your own risk)

⚠ At your own risk. Réinitialiser le dossier signs out all users of the dossier. Make sure nobody is working in payroll before you use it.
  1. Go to Fichier > Utilitaires > Réinitialisation.
    Don't see it? This option is sometimes only visible when you are not connected to a company. Close the company first (Fichier > Fermer) and look again.
  2. The Assistant réinitialisation de dossier opens. Click Parcourir... and select the dossier (PRH file) to reinitialise.
  3. Click Réinitialiser le dossier. To sign out one specific user only, select that user and click Réinitialiser l'utilisateur instead.
  4. Click Terminer and try the connection again.

Recap

  • The Agent on the Windows server receives the import files and imports them into the PRH files you selected. It reaches the Sage data through SQL Server.
  • The value mappings decide which Factorial entity lands in which Sage company. Take extra care with 'Legal Entity -> Paying Establishment and Dossier' in Registration.
  • The authorizations connect BrynQ to Factorial (admin account!) and to the Agent.
  • Stuck? Check the three BrynQ services first. Then contact BrynQ support and attach the Agent log files (logs\sage for import problems, logs\agent for connection problems).