HairConnect Manual Log in

Every integration at a glance

Updated on 2026-10-30

Instellingen → Koppelingen (Settings → Integrations). This article walks through every integration on that screen, in the order in which they appear there: what it does, which fields you fill in under Instellen (set up), what the test button does, and what you see or miss while it is off. How the screen itself works — badges, toggle, Bewaren (save), the audit log — is explained in Switching integrations on and off.

Three things apply to every integration:

  • Only the owner gets onto this screen.
  • An integration only counts as Actief (active) when the toggle is on and the required fields are filled in. If it is on but something is missing, you read Aan, maar onvolledig (on, but incomplete), and the rest of the package then behaves as if it were off.
  • With Nog niet beschikbaar (not available yet) there is no toggle. If such an integration has fields, you can still Instellen (set it up) and run the test.

Betalen (payments)

Mollie

Betaal met de kaartlezer aan de balie, en laat klanten online een voorschot of cadeaubon betalen. (Pay with the card reader at the front desk, and let clients pay a deposit or gift voucher online.)

Field What you fill in
API-sleutel (API key) From your Mollie dashboard under Ontwikkelaars → API-sleutels (Developers → API keys). Starts with live_ or test_. Required.
Bancontact Pay | Wero aan de kassa (Bancontact Pay | Wero at the till) Toggle, off by default. The till then shows a QR code that the client scans with the Bancontact app, the Wero app or their banking app. Up to € 1.500 per payment, without a card reader.

Test (Verbinding testen (test connection)): asks Mollie which card readers are attached to your account. If it succeeds, you read how many were found. If the key is right but no card reader at all is attached to the account, the test fails with exactly that reason.

While it is off: under Instellingen → Betaalterminal (Settings → Card terminal) you cannot choose Mollie for a till, and the button for the QR payment does not appear at the till. See Mollie and the card terminal.

Viva.com

Stuur het bedrag van de kassa naar de betaalterminal op de balie, zonder het over te typen. (Send the amount from the till to the card terminal on the front desk, without retyping it.)

Nog niet beschikbaar (not available yet). The integration has been built but not yet run against a real device, and Viva has not yet confirmed whether Bancontact is accepted on the terminal. The fields and the test do already work.

Field What you fill in
Client-id (client ID) Viva portal → Instellingen → API-toegang → POS APIs credentials (Settings → API access → POS APIs credentials). Required.
Client secret From the same screen; Viva shows it only once. Required.
Omgeving (environment) Proefomgeving (test environment) (default) or Productie (production). Start in the test environment.

Test: fetches an access key and asks which terminals are live. Nothing is sent to the terminal. If no terminal at all is live, the test fails. See Viva.com and the card terminal.

Stripe

Online betalen met kaart, en kaartlezers aan de balie via Stripe Terminal. (Online card payments, and card readers at the front desk via Stripe Terminal.)

Nog niet beschikbaar (not available yet). You can already fill in and test the keys, but the till does not yet take payments with Stripe: there is no screen that starts a Stripe payment.

Field What you fill in
Geheime sleutel (secret key) Stripe dashboard → Developers → API keys → Secret key. Starts with sk_live_ or sk_test_. Required.
Publieke sleutel (publishable key) From the same screen, starts with pk_. Not secret.

Test: looks up your Stripe account. If that account cannot accept payments yet, the test fails. Otherwise you read how many card readers are attached; zero card readers is not an error here, because Stripe can also work purely online.

Bancontact Pro

De klant betaalt met zijn Bancontact-app: hij scant een code of tikt op de link, zonder losse kaartlezer. (The client pays with their Bancontact app: they scan a code or tap the link, without a separate card reader.)

Nog niet beschikbaar (not available yet). The QR payment has been built and you can already fill in the details, but the till does not yet take payments with it. For the classic Worldline terminal there are no connection details.

Field What you fill in
API-sleutel (API key) To be requested from your contact person at Bancontact. Required.
Product-id (product ID) The ID of your Bancontact product. Required.
Omgeving (environment) Proefomgeving (test environment) (default) or Productie (production).

Test: none. The only known call creates a real payment; you read Deze koppeling kent geen proef (this integration has no test).

Europabank Tap to Pay

Betalen op de iPhone of iPad zelf, zonder losse kaartlezer op de balie. (Paying on the iPhone or iPad itself, without a separate card reader on the front desk.)

Nog niet beschikbaar (not available yet). Waiting for the Tap to Pay contract with Europabank and the Apple permissions that go with it. There are no fields and no test; there is nothing to set up here yet.

Communicatie (communication)

Mailserver (mail server)

De server die de bevestigingen, herinneringen en portaalcodes van dit salon verstuurt. (The server that sends this salon's confirmations, reminders and portal codes.)

Field What you fill in
Server The name of the SMTP server. Required.
Poort (port) 587 with STARTTLS is the usual case; 465 is SSL. Default 587.
Beveiliging (security) STARTTLS (aanbevolen) (STARTTLS (recommended)), SSL or Geen (none).
Gebruikersnaam (username) If your server asks for a login.
Wachtwoord (password) Likewise.

Test: connects to the server and logs in, without sending a mail. If it succeeds, you read that the server accepts the login; if not, the server's error message.

While it is off and Mail via HairConnect is not active either, it depends on the installation whether any mail leaves. If nothing can leave, a screen that wants to send mail says: Er is nog geen mailserver ingesteld, dus er kan geen enkele mail vertrekken. (No mail server has been set up yet, so no mail at all can leave.) See Your own mail server.

Mail via HairConnect

Uw mails vertrekken via HairConnect, met uw adres als afzender. U ziet dan bij elk bericht of het aankwam of geweigerd werd. (Your mails leave via HairConnect, with your address as the sender. You then see for each message whether it arrived or was rejected.)

Field What you fill in
Afzenderadres (sender address) The address your clients receive the mail from. The name that goes with it and the reply address are under Instellingen → E-mail (Settings → E-mail). Required.

Below the field are the DNS records your domain needs.

Test (Controleer DNS (check DNS)): reads the DNS of your sender address's domain. The notification is called Het DNS staat goed (the DNS is right) or Het DNS staat nog niet goed (the DNS is not right yet). Switching on only works once that check is green; otherwise you read Mail via HairConnect kon niet aangezet worden (Mail via HairConnect could not be switched on) with the reason.

Nog niet beschikbaar (not available yet) as long as HairConnect does not have its own mail server ready. While it is off, your mail leaves through the Mailserver (mail server) above. See Mail via HairConnect.

Mailassistent voor afspraken (mail assistant for appointments)

Leest de mails van uw klanten over hun afspraak (annuleren, verzetten) en zet een voorstel en een antwoord klaar. (Reads your clients' mails about their appointment (cancelling, rescheduling) and prepares a proposal and a reply.)

Field What you fill in
Het adres waarop uw klanten mailen (the address your clients mail to) For example your salon's info address. Required.
Antwoord versturen vanuit HairConnect (send the reply from HairConnect) Off by default.
Eenduidige vragen zelf inboeken en beantwoorden (book and answer unambiguous requests by itself) Off by default. Only works if the reply may also leave from HairConnect.
Handtekening onder een automatisch antwoord (signature under an automatic reply) May stay empty.

This integration needs the Assistent (assistant) integration, with Claude and an Anthropic key. If that is missing, you cannot switch it on and the screen says what is missing.

Test: says what is still missing, or — if everything is ready — to which address you should have the mails forwarded. The test does not check whether that forwarding rule actually works.

While it is off, Klanten → Mails over afspraken (Clients → Mails about appointments) is not in the menu. Everything about this integration is in The mail assistant for appointments.

DMARC-rapporten (DMARC reports)

Leest elke dag de rapporten van Google, Microsoft en andere ontvangers over de mail die als uw domein verstuurd wordt. (Reads every day the reports from Google, Microsoft and other recipients about the mail sent as your domain.)

Field What you fill in
Uw maildomein (your mail domain) The part after the @ of the address your salon mails from, without www. Required.

Below the field are the steps for your DNS.

Test (Controleer DNS (check DNS)): checks whether your domain's DMARC record sends the reports to HairConnect and whether the permission record is in place at HairConnect, and reports when the last report came in. Switch the integration on first: only then does your salon get its own address for the reports.

While it is off, Instellingen → DMARC-rapporten (Settings → DMARC reports) is not in the menu and no notification appears on the home screen. See DMARC reports.

WhatsApp

Bevestigingen en herinneringen via WhatsApp, zonder kost per bericht. Alleen voor klanten die het zelf aanvinken; anders blijft het bij e-mail. (Confirmations and reminders via WhatsApp, with no cost per message. Only for clients who tick it themselves; otherwise it stays with e-mail.)

Field What you fill in
WhatsApp-nummer van dit salon (this salon's WhatsApp number) In E.164, so with + and the country code. Without this number, an incoming message cannot be linked to your salon.
Webhookgeheim (webhook secret) The 64 characters that TextMeFlow shows. Without it, incoming messages are rejected.
TextMeFlow-sleutel (TextMeFlow key) The key of this salon's WhatsApp number. Required.
Bevestiging via WhatsApp (confirmation via WhatsApp) On by default.
Herinnering via WhatsApp (reminder via WhatsApp) On by default.

Test: none.

While it is off, the WhatsApp tick box is not on the booking form and no WhatsApp message at all leaves; clients get their confirmation and reminder by e-mail. See WhatsApp confirmations and reminders.

Pushmeldingen voor klanten (push notifications for clients)

Een melding op de telefoon van de klant: een herinnering vóór de afspraak, en een seintje als er een plaats vrijkomt die past bij zijn wachtlijst. Alleen voor klanten die het zelf aanzetten op de boekingssite. (A notification on the client's phone: a reminder before the appointment, and a heads-up when a slot opens up that matches their waiting list. Only for clients who switch it on themselves on the booking site.)

Field What you fill in
Herinnering enkele werkdagen vooraf (reminder a few working days ahead) On by default.
Hoeveel werkdagen vooraf (how many working days ahead) 1 to 14, default 2. A day on which the salon is closed does not count.
Herinnering enkele uren vooraf (reminder a few hours ahead) On by default.
Hoeveel uren vooraf (how many hours ahead) 1 to 6, default 2.
Melding als er een plaats vrijkomt voor de wachtlijst (notification when a slot opens up for the waiting list) On by default. Nothing is held: whoever books first gets the slot.

There is nothing you have to fill in: switching it on is enough.

Test: none.

While it is off, a client cannot switch on notifications in the client portal and no push notification at all leaves. See Preferences and privacy.

Bestellen (ordering)

Wella

Koppelt je producten aan de Wella-webshop en bepaalt hoe je bestelling vertrekt: als mail naar de leverancier, in je winkelmand of als bestand voor hun order upload. Bevestigen doe je altijd zelf. (Links your products to the Wella webshop and decides how your order leaves: as a mail to the supplier, in your shopping basket or as a file for their order upload. You always confirm it yourself.)

Field What you fill in
Welke leveranciersfiches zijn Wella? (which supplier records are Wella?) The records from Voorraad → Leveranciers (Stock → Suppliers). Required.
Winkelcode bij Wella (store code at Wella) For Belgium wellaBE. Required.
Adres van je Wella-webshop (address of your Wella webshop) An address on wella.professionalstore.com, with https.
Hoe bestel je bij deze leverancier? (how do you order from this supplier?) Mail naar de leverancier (mail to the supplier) (default), Winkelmand bij Wella (basket at Wella) or Csv voor de order upload (CSV for the order upload).
Taal van de artikelnamen (language of the article names) Nederlands (Dutch) or Frans (French).
Promotiecodes (promotion codes) With Code toevoegen (add code): Code, Waar ze voor dient (what it is for) and Geldig tot (valid until).

Test: requests the catalogues for your store code from Wella and names the supplier records you chose.

While it is off: no Koppelen met de Wella-catalogus (link to the Wella catalogue) button in the product list, no Wella-artikelnummer (Wella article number) field on the product record, no Producten klasseren (classify products) screen in the menu, and when you upload a Wella price list no product at all is checked. Explained in Switching integrations on and off (under How your order leaves, The Wella price list and Promotion codes at Wella).

Henkel

Leest de prijslijst van Henkel (STMNT, Schwarzkopf) in en hangt je producten op de streepjescode aan hun artikelnummer en inkoopprijs. Bestellen gaat per mail; er is geen webshop. (Reads in the Henkel price list (STMNT, Schwarzkopf) and links your products, by barcode, to their article number and purchase price. Ordering is done by mail; there is no webshop.)

Field What you fill in
Welke leveranciersfiches zijn Henkel? (which supplier records are Henkel?) The records from Voorraad → Leveranciers (Stock → Suppliers). Required.

Test: names the chosen records and how many products belong to them. If that is zero, it tells you how to link products to those records.

While it is off, no product at all is checked when you upload a Henkel price list under Instellingen → Prijslijsten (Settings → Price lists).

ghd

Leest de prijslijst van ghd Benelux in en hangt je stylers, borstels en verzorging op de streepjescode aan hun artikelnummer, inkoopprijs en adviesprijs. Bestellen gaat via je rep; er is geen webshop. (Reads in the ghd Benelux price list and links your stylers, brushes and care products, by barcode, to their article number, purchase price and recommended price. Ordering goes through your rep; there is no webshop.)

Field What you fill in
Welke leveranciersfiches zijn ghd? (which supplier records are ghd?) The records from Voorraad → Leveranciers (Stock → Suppliers). Required.

Test: as with Henkel.

While it is off, no product at all is checked when you upload a ghd price list. If none of Wella, Henkel and ghd is on, Instellingen → Prijslijsten (Settings → Price lists) is not in the menu. The Henkel and ghd price lists are explained in Switching integrations on and off.

Opleiding (training)

Wella Education

Kies per medewerker opleidingen van Wella Education en toon ze in de agenda op een vrij moment. (Choose Wella Education courses per team member and show them in the calendar during a free moment.)

Field What you fill in
Opleidingen tonen in de agenda bij een vrij moment van minstens (show courses in the calendar during a free moment of at least) In minutes, 5 to 480. Empty: never shown.

Switching it on is enough; the field may stay empty.

Test: reads the Belgian Wella Education catalogue and says how many Dutch- and French-language courses there are.

While it is off, the Opleidingen (courses) section is missing from the team member's record and no courses appear in the calendar. See Wella Education.

Boekhouding (accounting)

ClearFacts

Stuurt elke factuur en creditnota apart per mail naar het verkoopboek van je boekhouder in ClearFacts, op het moment dat ze naar de klant vertrekt. (Sends each invoice and credit note separately by mail to your accountant's sales ledger in ClearFacts, at the moment it leaves for the client.)

Field What you fill in
E-mailadres voor verkoopfacturen (e-mail address for sales invoices) The address of the sales ledger in ClearFacts. Required, unless you switch on the till days.
Persoonlijk toegangstoken (personal access token) Optional. Needed for the test and for the till days.
Ondernemingsnummer (company number) That of the salon itself. Needed for the till days.
Verkoopdagboek (sales journal) Optional, only for the till days.
Kassadagen ook als document naar ClearFacts (till days also as a document to ClearFacts) Off by default. Only works with an access token and a company number.

Test: without an access token it says which address the invoices go to; that address is not checked. With an access token it asks ClearFacts whether the token gives access to your company number, and says whether that number is in the Peppol directory.

While it is off, no invoices go to ClearFacts. See ClearFacts — to your accountant.

E-facturen via Peppol (e-invoices via Peppol)

Verstuurt een factuur aan een klant met een Belgisch btw-nummer als e-factuur over het Peppol-netwerk, via het toegangspunt van HairConnect. (Sends an invoice to a client with a Belgian VAT number as an e-invoice over the Peppol network, via HairConnect's access point.)

Field What you fill in
Uw salon bij het toegangspunt (your salon at the access point) Nothing: this is filled in when you switch the integration on.
Aankoopfacturen ontvangen in PaidOnce (receive purchase invoices in PaidOnce) Off by default.

When you switch it on, your salon is registered at the access point with the name, address, postcode, municipality and VAT number from Instellingen → Het salon (Settings → The salon). If anything is missing there, the integration stays off and the screen says what is missing. Next to Instellen (set up), this integration has its own buttons for receiving; those are explained in the article below.

Test: asks the access point how your salon is known there and whether it has been verified.

While it is off, an invoice cannot leave over Peppol. See E-invoices via Peppol.

Aankoopadres (purchase address)

Geeft uw bedrijf een eigen mailadres voor aankoopfacturen. Wat daar binnenkomt staat in PaidOnce. (Gives your company its own mail address for purchase invoices. Whatever comes in there shows up in PaidOnce.)

Field What you fill in
Doorstuuradres van uw boekhouder (niet verplicht) (your accountant's forwarding address (optional)) Empty: nothing goes to an accountant.
Doorstuuradres voor divers (niet verplicht) (forwarding address for miscellaneous (optional)) Only together with the address above.
Bij een e-factuur ook de pdf als aparte bijlage (with an e-invoice, also the PDF as a separate attachment) On by default.
Terugvragen automatisch versturen (send refund requests automatically) Off by default.
Herinnering sturen als het geld niet terugkomt (send a reminder if the money does not come back) On by default.

There is nothing you have to fill in: switching it on is enough, and your company then gets its address.

Test: says which address the invoices are forwarded to, or that nothing goes to an accountant. Whether your accountant's address is correct can only be checked by sending something to it.

While it is off, your company has no purchase address. See Purchase invoices by e-mail.

Bankrekening (bank account)

Leest elke nacht de verrichtingen van uw zakelijke rekening, zodat overschrijvingen vanzelf naast de juiste bon staan. (Reads the transactions of your business account every night, so that bank transfers line up next to the right receipt by themselves.) The bank connection runs through Enable Banking.

Field What you fill in
Uw bank (your bank) Choose your bank from the list.
Gekoppelde rekening (linked account) Nothing: this is filled in once your bank has given permission, with the date on which it expires.

Save, switch the integration on, and then press Rekening koppelen bij uw bank (link account at your bank). You give permission once at your bank, with itsme or your bank's app; that permission expires after at most 180 days.

Test: asks the bank whether the permission still holds, until when, and up to which date the transactions have been fetched.

Nog niet beschikbaar (not available yet) as long as HairConnect has not switched on the bank connection. While it is off, the Nu ophalen bij de bank (fetch from the bank now) button is missing under Rapporten → Overschrijvingen (Reports → Bank transfers). See Matching bank transfers.

Yuki

Boekt elke afgesloten kassadag als één verkoopdocument in je Yuki-administratie, opgesplitst per btw-tarief. (Posts every closed till day as a single sales document in your Yuki administration, split by VAT rate.)

Nog niet beschikbaar (not available yet). Fully built, but never yet measured against a real Yuki administration. Fill in the details and press Verbinding testen (test connection).

Field What you fill in
Toegangssleutel (access key) Yuki → Instellingen → Webservices → Toegangssleutel (Settings → Web services → Access key). Required.
Administratie-id (administration ID) The ID of this salon's administration. Required.
Omgeving (environment) België (Belgium) (default) or Nederland (Netherlands).
Betaalwijze in Yuki (payment method in Yuki) Cash or Overschrijving (bank transfer). Required; ask your accountant.
Grootboekrekening (general ledger account) Optional.

Test: logs in to Yuki and checks whether the administration is known.

Billit

Boekt elke afgesloten kassadag als één order in Billit, opgesplitst per btw-tarief. (Posts every closed till day as a single order in Billit, split by VAT rate.)

Nog niet beschikbaar (not available yet). Fully built, but never yet measured against a real Billit account.

Field What you fill in
API-sleutel (API key) Billit → your account → API. Required.
Party-id (party ID) The ID of the company within Billit. Required.
Omgeving (environment) Sandbox (default) or Productie (production).

Test: none. There is no read request with which to test the keys without creating a real order.

Exact Online

Stuurt je dagontvangsten naar Exact Online. (Sends your daily takings to Exact Online.)

Nog niet beschikbaar (not available yet): not built yet. No fields, no test.

Scrada

Stuurt je dagontvangsten naar Scrada. (Sends your daily takings to Scrada.)

Nog niet beschikbaar (not available yet): not built yet. No fields, no test.

More about Yuki, Billit, Exact Online and Scrada in Other accounting packages.

Assistent (assistant)

Assistent (assistant)

Instellingen aanpassen door te typen wat u wil, in gewone zinnen. U krijgt altijd eerst te zien wat er verandert en bevestigt zelf. (Change settings by typing what you want, in ordinary sentences. You always see first what changes and you confirm it yourself.) This is the integration behind Hairlien.

Field What you fill in
Waar draait de assistent (where the assistant runs) Claude (bij Anthropic) (Claude (at Anthropic)) (default) or Ollama (op onze eigen server) (Ollama (on our own server)).
Anthropic-sleutel (Anthropic key) Starts with sk-ant-. Required with Claude. The sentence you type and the salon's opening hours are sent along to Anthropic.
Adres van Ollama (Ollama address) Only with Ollama, and then required.
Model Empty for the default model.
Model voor het uitlezen van facturen (model for reading invoices) Only with Claude. Empty for the default model.
Terugvalmodel voor het uitlezen (fallback model for reading) Only with Claude. Takes over if the model above fails to answer a few times in a row.
Gebruik deze sleutel ook voor mijn bedrijven en volmachten (also use this key for my companies and powers of attorney) Only visible in a private PaidOnce.

Test: puts the sentence zet de zaterdag van 9 tot 17 (set Saturday from 9 to 17) to the model. If it understands it as an instruction, you read Het model verstaat Nederlandse opdrachten. (The model understands Dutch instructions.)

While it is off, the assistant does not work, and you cannot switch on the Mailassistent voor afspraken (mail assistant for appointments). See The assistant.