This page describes every file portierX reads or writes: how it must be built, which columns it carries and which limits apply. You meet these files under People with Download template, Download interface specification, Import People and Export, in the folder of an HR file source, when importing a key plan under Integrations, on a building's Maps tab, and under Audit Log and Reports.
Also called: import file, Excel list, CSV, staff list, HR export, interface file.
File | Format | Where it is made or read |
|---|---|---|
People template | XLSX | People, Download template, also in the import's first step |
People spreadsheet for import | XLSX or CSV | People, Import People |
HR file | XLSX or CSV | The folder portierX assigns to an HR file source |
HR interface specification | XLSX | People, Download interface specification |
People list export | XLSX | People, Export |
Refused rows | XLSX | The import's Result step, Download refused rows |
Audit log, a person's history | CSV or XLSX | Audit Log or a person's Audit Log tab, Export |
Handover receipts, incidents | CSV | Reports, Export CSV |
Key plan | XML | Integrations, the manufacturer's tile |
Map | PNG, JPG or PDF | A building's Maps tab |
Building photo | PNG or JPEG | Add Building and Edit Building |
The people template, a people spreadsheet, an HR file and the people list export carry the same 18 columns in the same order. portierX writes the headings in German when portierX is set to German, and in English otherwise. When reading, portierX recognises the headings in either language and common names in English, German, French and Dutch.
Column | What it holds | Format and rule |
|---|---|---|
portierX ID | The identifier portierX gives the person. | Text. Leave it empty: only the export fills it, and an export file loaded back is matched on it. |
Person ID | Your own ID for the person, such as the staff number. The heading is your organisation's name for it, such as KID. | Text, for example 00012345. Required in every row of an HR file. An ID is never given to another person, not even after its person has left. |
First name | The first name. | Text, up to 100 characters. Required for every person the import adds. |
Last name | The family name. | Text, up to 100 characters. |
The person's email address. | One address, up to 255 characters. Two people never share one. | |
Mobile phone | The person's own mobile number. | Text with + and the country code, up to 20 characters, for example +61 412 345 678. An HR file does not write it. |
Person type | One of your organisation's person types. | The person type's name as portierX shows it, or a word of your own that you match. |
Status | The person's status. | One of the status words under "The status words", or a word of your own that you match. |
Start date | The first working day. | A calendar day without a time. |
Leaving date | The person's last day. portierX takes it as the end date. | A date. Without a time, the end of that day in your organisation's time zone applies. Empty while the person stays. |
Position | The job title. | Text, up to 255 characters. |
Org unit ID | Your ID for the unit. | Text, for example 4711. This is what matches, through a rename as well. |
Org unit | The unit's name. | Text. A name that matches no unit creates one when the import is applied. |
Manager ID | The manager's ID. | Text, in the same kind of ID as the Person ID. Never a name. Only the Organisation Admin sets managers from a file. |
Manager | The manager's name. | For reading only. It is never used to find anyone. |
Company ID | An identifier for the company. | Leave empty. |
Company | The outside company the person works for. | Text. Empty for your organisation's own people. An HR file does not write it. |
Groups | The person's people groups. | Names separated by a vertical bar, see below. Adds and never removes. A group portierX fills by itself cannot be set. Read from a spreadsheet only, never from an HR file. |
Separate several groups with a vertical bar: Night shift | Workshop.
The export carries Fingerprint as a 19th column. With it, a later import can tell whether a person was changed in portierX after the export.
Capitals, accents, ß and ss, spaces and punctuation do not count in the comparison: E-Mail, e_mail and EMAIL are the same heading. A heading portierX does not recognise is matched by hand in the import's second step.
Column | Recognised headings |
|---|---|
portierX ID | portierX ID, portierX-ID, portierX identifier |
Person ID | Person ID, Personen-ID, Employee ID, Employee number, Staff ID, Staff number, Personnel number, Personalnummer, Personal-Nr, Mitarbeiter-ID, Mitarbeiternummer, ID personne, Matricule, Numéro d'employé, Numéro de personnel, Persoons-ID, Personeelsnummer, Medewerkernummer, and your organisation's name for the ID, such as KID |
First name | First name, Vorname, Given name, Forename, Prénom, Voornaam, Roepnaam |
Last name | Last name, Nachname, Surname, Family name, Familienname, Nom, Nom de famille, Achternaam, Familienaam |
Email, E-Mail, Email address, Mail, E-Mail-Adresse, Courriel, Adresse e-mail, E-mailadres | |
Mobile phone | Mobile phone, Mobiltelefon, Mobile, Mobile number, Cell phone, Mobil, Mobilnummer, Handy, Handynummer, Téléphone mobile, Portable, Mobiel, Mobiele telefoon, Mobiel nummer |
Person type | Person type, Personentyp, Type, Personengruppe, Mitarbeitergruppe, Typ, Type de personne, Persoonstype, Type persoon |
Status | Status, State, Employment status, Beschäftigungsstatus, Mitarbeiterstatus, Statut, État |
Start date | Start date, Eintrittsdatum, Start, Hire date, Entry date, Joining date, Eintritt, Beginn, Date d'entrée, Date de début, Date d'embauche, Startdatum, Datum in dienst, Indiensttreding |
Leaving date | Leaving date, Austrittsdatum, End date, Exit date, Termination date, Leave date, Austritt, Enddatum, Date de sortie, Date de fin, Date de départ, Einddatum, Uitdiensttreding, Datum uit dienst |
Position | Position, Job title, Title, Role, Funktion, Stelle, Stellenbezeichnung, Berufsbezeichnung, Poste, Fonction, Intitulé du poste, Functie, Functietitel |
Org unit ID | Org unit ID, Organisationseinheit-ID, Organisation unit ID, Organization unit ID, Department ID, OE-ID, Abteilungs-ID, ID unité organisationnelle, ID service, Organisatie-eenheid-ID, Afdelings-ID |
Org unit | Org unit, Organisationseinheit, Organisation unit, Organization unit, Department, Abteilung, OE, Unité organisationnelle, Service, Département, Organisatie-eenheid, Afdeling |
Manager ID | Manager ID, Führungskraft-ID, Line manager ID, Supervisor ID, Vorgesetzter-ID, Vorgesetzte-ID, ID du supérieur, ID du manager, Leidinggevende-ID, and a word for manager ahead of your ID's name, such as Vorgesetzter-KID |
Manager | Manager, Führungskraft, Line manager, Supervisor, Vorgesetzter, Vorgesetzte, Supérieur hiérarchique, Leidinggevende |
Company ID | Company ID, Firmen-ID, ID entreprise, Bedrijfs-ID |
Company | Company, Firma, Employer, Firm, Unternehmen, Arbeitgeber, Entreprise, Société, Bedrijf, Werkgever |
Groups | Groups, Gruppen, Group, People groups, Gruppe, Groupes, Groupe, Groepen, Groep |
Each column's technical name is recognised too, such as first_name or leaving_date.
A date is written YYYY-MM-DD. DD.MM.YYYY and DD/MM/YYYY are read too, day first. In an Excel file a date cell counts as a date whatever its format.
A leaving date may carry a time, such as 2026-09-30T17:00 or 2026-09-30 17:00:00. That time then applies as given.
IDs are text, so a leading zero stays. An ID a spreadsheet has changed is refused: turned into a number such as 1.2E+11, into a decimal such as 10001.0, or with its leading zeros lost.
A blank cell clears that field on an existing person, with three exceptions: a blank first name changes nothing, a blank status leaves the status as it is, and a blank groups cell adds no group. A column the file leaves out changes nothing.
Columns of your own can stay in the file. portierX deletes whatever is not matched once the matching is confirmed, and after 24 hours at the latest.
At least one column must identify a person: portierX ID, Person ID or Email.
Word | Meaning | What portierX writes |
|---|---|---|
active | The person is at work. | The status Active. |
paused | The person is away for a while. | The status Paused. |
offboarded | The person has left the organisation. | The status Offboarded. When the person moves there from another status, the leaving date becomes their end date, and without one the end of the day the file carries. |
left | The person has left, as an HR system reports it. | The status Offboarded, and the leaving date as the end date, or without one the end of the day the file carries. |
kid_withdrawn | The person's ID was withdrawn. | The same as left. |
portierX also recognises aktiv, actif and actief for active, pausiert, en pause and gepauzeerd for paused, and kid withdrawn. Any other word is matched by hand in the import's second step, or in the source's matching for an HR file. The day a file carries is, for an HR file, the date in its name, and for an uploaded spreadsheet the day it arrives.
XLSX or CSV. An older XLS file, PDF files and pictures are refused.
One heading row, with one row per person below it. The first sheet of a workbook is always the one read.
A file holds at most 4 MB, 50,000 rows, 200 columns and 1,000,000 filled cells.
A CSV file may separate cells with a semicolon, a comma, a tab or a vertical bar. portierX reads the separator from the first line.
portierX reads a CSV file as UTF-8, with or without a BOM, as UTF-16 with a BOM, and otherwise as Windows-1252, the way Excel saves plain CSV.
Download template builds the template for your organisation each time, as people-template.xlsx in English or personen-vorlage.xlsx in German. It has three sheets:
People: the 18 columns and no rows. The Status column offers active, paused and offboarded to pick from, and the Person type column your organisation's person types.
Read me: short notes, then for each column whether it is required, how it is read and an example, and the three status words with their meaning.
Lookup: your organisation's org units with ID, name and parent unit, its companies and its person types.
Download interface specification builds a workbook for your HR department's IT, who build the export portierX takes. The file is people-interface-specification-YYYY-MM-DD.xlsx in English or personen-schnittstelle-YYYY-MM-DD.xlsx in German. Every download is written to the Audit Log.
Sheet | What it holds |
|---|---|
Delivery | Ten delivery rules: format, rows, headers, full or partial files, file name, size, dates with your organisation's time zone, IDs, blank cells and other columns. |
Columns | Every column with its heading, whether it is required, its format and its rule, and an empty Your field column for the field in the HR system. Person ID and First name are required. |
Values | Your organisation's person types and the five status words with their meaning, each with an empty Your word column for the HR system's own word. |
Questions | Three questions to answer: what the person ID is and what it is called, whether full or partial files will come, and whether the leaving date is the last working day or the day after it. |
For the file the HR system delivers, these apply as well:
The export date is in the file name, for example hr-export-2026-09-26.xlsx. 20260926, 2026_09_26, 2026.09.26 and 26.09.2026 are recognised too. Without a date in the name, the day the file was last written applies.
A file older than the last one the same source applied is refused.
What it means when a person is missing from a file is on Connect your HR system through a daily file.
Every export takes the search and filters that are set. Who may start which export is on Export data from portierX.
Export under People writes people-YYYY-MM-DD.xlsx in English or personen-YYYY-MM-DD.xlsx in German: the People sheet with the template's 18 columns, one row per person, and Fingerprint as the last column. Dates are written YYYY-MM-DD, and groups separated by a vertical bar. IDs are text, and a cell that would run as a formula is written as text. The file can be edited and imported again. Every export is written to the Audit Log, with the number of people.
Download refused rows writes an XLSX file with the columns Row and Reason, followed by the file's own columns as the row carried them. Row is the row number in your file, and Reason the reason it was refused.
Both exports offer CSV Comma, CSV Semicolon and Excel (.xlsx) under File Type. For a German Excel, CSV Semicolon fits. A CSV file is UTF-8 with a BOM. The files are named audit-logs-YYYY-MM-DD and person-history-YYYY-MM-DD, ending in .csv or .xlsx. They have 18 columns: Event ID, Actor Type, Actor ID, Actor Name, Category, Action, Action Type, Occurred At, Created At, Target Type, Target ID, Target Name, Related Objects Type, Related Objects ID, Related Objects Name, Request ID, Is Exception and Description. In Excel the two times are date cells.
Export CSV under Reports writes a CSV file separated by commas, UTF-8 with a BOM.
Handover Receipts: handover-receipts-YYYY-MM-DD.csv. It opens with six lines, Generated at, List, Filter, Source of record, Rows and Exported by, then a blank line and the columns Document ID, Person, Credential, Issued by, Created Date, Status and Confirmation method. portierX exports no more than 50,000 receipts.
Credentials with Reported Incidents: incident-report-YYYY-MM-DD.csv with the columns Incident ID, Credential ID, Credential Name, Type, Status, Filed At, Filed By, Previous Assignee, Space, Reference Number, Document, Resolved At, Resolved By, Resolution Reason and Description.
portierX reads a key plan from an XML file in portier's format, as locksmiths and manufacturers export it. The file ends in .xml and holds at most 20 MB. Its root element is portier. Below it sit header with the delivery details, anlage with the master key system, its identifier and the manufacturer, gebaeude, schluessel with group and single keys, zylinder, and funktion, which says which key locks which cylinder. Every building, cylinder, key and key plan entry carries a stable identifier from the manufacturer. If one is missing, portierX refuses the file. A file describes exactly one master key system. portierX reads the encoding from the file's declaration. How the import runs is on Import your master key plan from an XML file.
A map is a PNG, JPG or PDF file of up to 25 MB. portierX converts it in your browser before the upload, to a picture of at most 8,192 pixels on the long side and at most 5 MB. From a PDF file portierX takes the first page.
A picture of more than 100 million pixels is refused, and so is one that cannot be converted small enough.
A building photo is a PNG or JPEG file under 10 MB.