Ga naar inhoud

Excel-import

Breng je organisatie, medewerkers, hun kinderen, saldi en afwezigheid in mTime met een gewone Excel-werkmap — het formaat dat je gebruikt wanneer de gegevens uit een salaris- of tijdregistratiesysteem komen dat je achter je laat.

Overzicht

Het formaat Eenvoudige Excel is één .xlsx-werkmap met vijf bladen:

BladEén rij perWat het bevat
Org UnitsOrganisatie-eenheidDe organisatiestructuur: naam, omschrijving, bovenliggende eenheid, hoofd en werkland — plus de attributen voor organisatie-eenheden die je werkruimte kent
EmployeesMedewerkerPersoonsgegevens, adres en het huidige dienstverband: organisatie-eenheid, leidinggevende, arbeidsvoorwaarden, begin- en einddatum, en de wekelijkse arbeidstijdnorm — plus de medewerker- en dienstverbandattributen die je werkruimte kent
AccountsMedewerkerHet actuele saldo van elke tijdaccount — één kolom per account
AbsenceAfwezigheidGeregistreerde afwezigheidshistorie en geplande toekomstige afwezigheid — één rij per afwezigheid
ChildrenKindDe kinderen van medewerkers — de basis voor verlof dat aan kinderen is gekoppeld, zoals zorgdagen

Je kunt hem openen, lezen en bewerken in Excel, Numbers of Google Spreadsheets. Dat is precies de bedoeling: dit is het formaat om de medewerkers van een bedrijf in bulk aan te maken, voor massawijzigingen en voor een migratie vanuit een ander systeem.

Het is niet hetzelfde als de volledige back-up van de werkruimte:

Eenvoudige Excel (.xlsx)Volledige back-up (.zip)
InhoudOrganisatie-eenheden, medewerkers, kinderen, saldi van tijdaccounts en afwezigheidDe hele werkruimte, alle entiteitstypen
Leesbaar voor een mensJaNee
Kan medewerkers en organisatie-eenheden aanmakenJaJa
Kan iets verwijderenNooitJa, in herstelmodus
Typisch gebruikOnboarding, massawijzigingen, migratie vanuit een ander systeemBack-up, herstel, een werkruimte verplaatsen
Een Excel-import is altijd een niet-destructieve update: rijen maken organisatie-eenheden en medewerkers aan of werken ze bij, stellen saldi in en registreren afwezigheid. Alles wat niet in het bestand staat, wordt volledig met rust gelaten, en er wordt nooit iets verwijderd.

Een werkmap om mee te beginnen

Je hebt twee vertrekpunten, en allebei zijn ze beter dan het bestand vanaf nul opbouwen — ze bevatten al de exacte kolomkoppen, de actuele accountnamen van je werkruimte en een kolom voor elk attribuut dat je hebt ingesteld.

Een lege sjabloon. Ga naar Beheer › Gegevensimport en klik op Sjabloon downloaden . Je krijgt import-template.xlsx, opgebouwd voor jouw werkruimte: alle vijf de bladen, een blad Guide waarop de werkmap opent, grijze voorbeeldrijen om te overschrijven, één kolom per tijdaccount en één kolom per attribuut.

De sjabloon wordt geschreven in de taal van je werkruimte — de tabbladen en de kolomkoppen allebei. De pijl naast de knop biedt de andere zes talen die mTime spreekt, zodat een consultant in een Engelstalige werkruimte een Nederlandse collega een Nederlands blad kan geven, met tabbladen als Medewerkers, Tijdaccounts en Kinderen.

Een gevulde export. Ga naar Beheer › Gegevensexport, kies het formaat Eenvoudige Excel en klik op Exporteren . Je krijgt dezelfde kolommen — zonder de bladen Absence en Children, die alleen voor import zijn — met je huidige medewerkers, attribuutwaarden en saldi er al in. Bewerk hem en importeer hem terug: de rondgang is veilig, omdat de export precies de identificatoren en namen schrijft die de import verwacht.

De export biedt drie opties:

  • Alleen medewerkers — het blad Accounts weglaten
  • Anonimiseer persoonlijke gegevens — namen, e-mailadressen en contactgegevens vervangen door plaatsaanduidingen, en de attribuutkolommen leeg laten
  • Reikwijdte van werknemersgegevens — één medewerker, één organisatie-eenheid of iedereen exporteren

Wat er in de sjabloon zit

  • Guide — het blad waarop de werkmap opent. Het vertelt waar elk blad voor is, wat elke kolom betekent en wat de kleuren op de kopregel betekenen. Het legt ook vast welke versie van de sjabloon het is, in welke taal hij is opgebouwd en uit welke werkruimte hij komt — handig wanneer een bestand veertien dagen heeft rondgezworven voordat het bij jou terugkomt.
  • De vijf gegevensbladen — Org Units, Employees, Accounts, Absence en Children.
  • Lists — de waarden achter de keuzelijsten.

Guide en Lists worden niet door de import gelezen. Laat ze in het bestand staan of verwijder ze, net wat je prettig vindt.

De kopregel heeft kleurcodes, zodat je in één oogopslag ziet waar een blad op staat:

KopBetekenis
VerplichtMoet op elke rij van dat blad zijn ingevuld
Voorwaardelijk verplichtVerplicht zodra er iets anders op de rij is ingevuld. Datum in dienst is degene om te kennen: die wordt verplicht zodra je Organisatie-eenheid, Leidinggevende, Arbeidsvoorwaarden of een arbeidstijdnorm invult. Op het blad Children heeft elke rij Geboortedatum kind of Uitgerekende datum nodig
OptioneelVul in wat je hebt

De zelden gebruikte kolommen op het blad Medewerkers — telefoon, mobiel en het postadres — staan samen helemaal rechts en zijn ingeklapt. De dagkolommen Ma … Zo zijn ingeklapt in een eigen groep, vlak voor Weeknorm. Klik op de + boven een groep om die te openen. Beide worden nog steeds geïmporteerd als je ze invult — de meeste imports hebben ze nooit nodig. Het blad Handleiding legt de kleuren uit en zet de verplichte kolommen van elk blad bij elkaar.

Verschillende kolommen bieden een keuzelijst. Die waarschuwt in plaats van te blokkeren, en dat is met opzet: het blad Employees mag met recht een organisatie-eenheid noemen die het blad Org Units in dezelfde import aanmaakt, en een harde blokkade zou dat onmogelijk maken om in te typen.

Grijze voorbeeldrijen laten zien welke vorm een waarde hoort te hebben — initialen in Medewerker-id, een onderliggende eenheid die haar bovenliggende eenheid noemt. Het zijn plaatsaanduidingen: overschrijf ze, of verwijder de rijen.

Hoe mTime de werkmap leest

Een paar regels gelden voor het hele bestand. Ze zijn het waard om één keer te lezen, want de meeste mislukte imports komen hiervandaan en niet uit de gegevens zelf.

  • De bladen moeten Org Units, Employees, Accounts, Absence en Children heten, of hun naam in een van de talen van mTime, zoals de sjabloon ze schrijft (Organisatie-eenheden, Medewerkers, Tijdaccounts, Afwezigheid, Kinderen). De Engelse namen werken altijd. Elk ander blad in de werkmap wordt genegeerd, ook de bladen Handleiding en Lijsten van de sjabloon zelf. Een werkmap met slechts een deel van de vijf bladen is prima.
  • De kolomkoppen staan in een taal, en mTime leest ze alle zeven. Een opgebouwde werkmap krijgt de koppen in de taal van je werkruimte, of in de taal die je bij het downloaden hebt gekozen, en mTime herkent een vaste kolom aan zijn kop in elk van de zeven talen. Een in het Deens opgebouwde werkmap importeert dus prima voor een beheerder die in het Nederlands werkt, en een blad waarvan iemand de helft in een andere taal heeft overgetypt werkt nog steeds. Een opgebouwde kop draagt bovendien een markering die je spreadsheet niet toont en die de kolom exact benoemt — en dat is wat een kolom laat doorimporteren nadat het bestand is vertaald of een attribuut is hernoemd.
  • Een kop die je zelf typt werkt ook, zolang je hem schrijft zoals mTime hem in een van die zeven talen schrijft. Hoofd- en kleine letters en losse spaties maken niet uit; een eigen woord wel. Daarom is het veiligste bestand er een dat mTime heeft opgebouwd: bewerk de sjabloon of een export in plaats van een werkmap vanaf nul te maken.
  • Rij 1 is de kopregel. Alle volgende rijen zijn gegevens.
  • Kolommen worden herkend aan hun kop, niet aan hun positie. Je mag de kolommen vrij herschikken.
  • Volledig lege rijen worden overgeslagen, dus lege rijen onderaan een blad zijn geen probleem.
  • Een kolom die mTime niet herkent wordt genegeerd — en gemeld. Op de bladen Org Units, Employees, Absence en Children mag je gerust een notitie naast de gegevens bewaren. Eén kop is niet langer alleen een notitie: Extern id wordt zowel in het blad Org Units als in het blad Employees gelezen, en daar hoort het dossiernummer uit je oude systeem thuis. De stap Controleren somt elke genegeerde kolom op, letterlijk zoals jij hem hebt gespeld, en stelt de kolom voor die je waarschijnlijk bedoelde wanneer de positie dat verraadt. Het is een waarschuwing, geen fout: je eigen notitiekolom is veilig en de import loopt door, maar een verkeerd gespelde kop komt vóór de import aan het licht in plaats van erna. In het blad Accounts is het nog steeds omgekeerd: elke kolom die niet Medewerker-id, Volledige naam of Importdatum heet, wordt als tijdaccount gelezen, dus een losse kolom daar veroorzaakt een fout.
  • Datums mogen echte datumcellen zijn, of tekst geschreven als YYYY-MM-DD. Is de cel voor Excel een datum — wat gebeurt zodra je 01-05-1990 in een gewone cel typt of uit een datumkiezer kiest — dan leest mTime de datum zelf, dus de Nederlandse datumnotatie is prima en je hoeft niets om te zetten. Is de cel tekst, dan moet zij YYYY-MM-DD zijn, bijvoorbeeld 1990-05-01: tekst draagt geen datumnotatie, dus 03/04/2026 kan zowel 3 april als 4 maart betekenen, en mTime gokt niet. De sjabloon en de export schrijven tekst in de vorm YYYY-MM-DD.
  • Getallen gebruiken een punt als decimaalteken (7.4, niet 7,4), zonder scheidingsteken voor duizendtallen. Typ getallen als getallen, dan regelt Excel dit voor je; het risico zit in waarden die als tekst zijn geplakt.
Bouw je het bestand door te plakken uit een ander systeem, controleer dan de getalkolommen voordat je importeert — een decimale komma (7,4) die als tekst is geplakt wordt geweigerd. Datums zijn vergevingsgezinder: een kolom in de Nederlandse datumnotatie importeert prima, zolang de cellen voor Excel echt datums zijn en geen tekst.

Attribuutkolommen

Naast hun vaste kolommen dragen de bladen Employees en Org Units één kolom per attribuut dat je werkruimte kent — net zoals het blad Accounts één kolom per tijdaccount draagt. Kostenplaats, badgenummer, loonnummer, functietitel: alles wat jullie over mensen en teams bijhouden, reist mee. Attributen stel je in bij aangepaste attributen.

Het blad Employees draagt twee niveaus tegelijk: de attributen van de medewerker zelf, en die van zijn dienstverband — het contract — zoals Titel en Arbeidsnummer. Je hoeft de twee niet zelf uit elkaar te houden; elke kolom weet bij welk niveau hij hoort.

Welke attributen een kolom krijgen

AttribuutIn de sjabloon en de exportKan worden geïmporteerd
Een aangepast attribuut dat je zelf hebt aangemaaktJaJa
Een standaardattribuut dat je werkruimte gebruikt — Burgerservicenummer, Loonnummer, Arbeidsnummer, TitelJaJa
Een attribuut met Alleen-lezenIn de sjabloon; de export laat het wegJa — alleen-lezen voorkomt dat het veld in mTime wordt bewerkt; het houdt een import niet tegen
Een attribuut met GevoeligNeeJa — voeg de kolom zelf toe
Een attribuut dat door een integratie wordt beheerdNeeNee
Externe idHeeft op beide bladen een eigen kolomJa, in die kolom

De regel over gevoelige attributen oogt tegenstrijdig, dus die verdient een zin. Een export wordt op de achtergrond gemaakt en mTime kan niet weten wie het bestand uiteindelijk opent, dus het schrijft een gevoelige waarde nooit in een spreadsheet. Zo’n waarde inlezen onthult niets: wie de cel invult, heeft de waarde al voor zich. Daarom accepteert mTime een kolom die het zelf niet voor je zou schrijven.

Een attribuut dat een gekoppeld systeem beheert, blijft in beide richtingen weg. Dat systeem is er de bron voor en zou bij de volgende synchronisatie overschrijven wat je hebt geïmporteerd, dus een rij die zo’n kolom invult wordt geweigerd met de reden erbij in plaats van stilzwijgend genegeerd.

De kolommen invullen

Elke kolom heeft de naam van het attribuut als kop. Delen twee attributen een naam — een medewerker- en een dienstverbandattribuut die allebei “Titel” heten, bijvoorbeeld — dan krijgt elk zijn sleutel als kop, zodat je ze nog steeds uit elkaar houdt.

Een lege attribuutcel laat de opgeslagen waarde precies zoals hij is. Dat is het tegenovergestelde van wat de meeste vaste kolommen doen — Extern id is de enige andere die zich zo gedraagt — en het is met opzet: attribuutkolommen zijn waar een migratie in wordt geplakt, en een export terugbrengen tot de twintig mensen die je corrigeert mag de kostenplaats van de andere tweehonderdtachtig niet wissen.

Het betekent ook dat het blad een attribuut nooit kan wissen. Een cel leegmaken doet helemaal niets. Wis de waarde op de medewerker, het dienstverband of de organisatie-eenheid in mTime.

  • Waarden moeten bij het type van het attribuut passen: een keuzelijst moet een van haar opties zijn, precies zo gespeld als je hem hebt gedefinieerd, een datum is een datumcel of tekst in de vorm YYYY-MM-DD, een ja/nee-kolom neemt TRUE of FALSE (yes/no en 1/0 werken ook), en een getal gebruikt een punt voor decimalen. Een cel die niet past, is een fout op de rij bij de stap Controleren, met de kolom erbij en wat eraan schort.
  • Een attribuut met Uniek wordt gecontroleerd tegen de werkruimte én tegen de rest van het blad. Een botsing wordt op de rij gemeld en noemt de kolom — nooit de waarde, want dit zijn de kolommen waarin een burgerservicenummer binnenkomt.
  • Dienstverbandattributen worden ook bij updates toegepast. Ze worden geschreven naar het dienstverband dat vandaag loopt, of naar het meest recente als er vandaag geen loopt. Dat is anders dan de overige dienstverbandkolommen — Organisatie-eenheid, Leidinggevende, Arbeidsvoorwaarden, de datums en de norm — die alleen worden gebruikt wanneer een rij iemand aanmaakt. Een rij die een dienstverbandattribuut invult voor iemand zonder enig dienstverband is een fout op de rij: er zou geen plek zijn om de waarde te bewaren.

Een attribuut vanuit het blad toevoegen

De sjabloon laat uiterst rechts op de bladen Employees en Org Units één lege kolom staan met de kop Nieuw attribuut , om te tonen waar een nieuw attribuut hoort. Typ er een naam overheen, vul de waarden in, en de import maakt het attribuut als tekstattribuut aan op je werkruimte en bewaart wat je hebt getypt. Het duikt daarna op in je instellingen, waar je het een omschrijving, een type of een reeks opties kunt geven. Voor een tweede attribuut zet je er gewoon een kolom naast — aan de lege kolom is niets bijzonders, behalve dat een lege kolom wordt genegeerd.

Het attribuut wordt alleen aangemaakt als minstens één rij de kolom echt invult, dus een lege reservekolom kost niets.

Twee dingen doet het blad niet. Het verzint geen standaardattribuut van mTime zelf — die hebben sleutels die met een liggend streepje beginnen, en je voegt het gewenste attribuut eerst toe bij de aangepaste attributen, waarna je de sjabloon opnieuw downloadt en de kolom er staat. En het schrijft niet naar een attribuut dat een gekoppeld systeem beheert.

Geef je een attribuut dezelfde naam als een vaste kolom — “Land”, of “Volledige naam” in een van de zeven talen — dan waarschuwt mTime je bij het opslaan. Er gaat niets kapot: de werkmap zet dan de sleutel van dat attribuut als kop boven zijn kolom in plaats van de naam, zodat de twee kolommen uit elkaar blijven. Het attribuut hernoemen blijft de duidelijkste oplossing.

Het blad Org Units

Dit blad bouwt jullie organisatiestructuur — de afdelingen, teams en regio’s waar de kolom Organisatie-eenheid in het blad Employees naar wijst. Het wordt vóór het blad Employees toegepast, zodat dezelfde werkmap een afdeling kan aanmaken en er mensen in kan zetten.

Wat een organisatie-eenheid identificeert

Er is hier geen ID-kolom. Een eenheid wordt geïdentificeerd door haar Extern id als je die kolom invult, en anders door haar naam — en de naam is ook hoe het blad Employees ernaar verwijst.

De sleutel van de rijWat er gebeurt
Extern id komt overeen met een eenheid die al in mTime bestaatDie eenheid wordt bijgewerkt — inclusief haar naam, dus zo hernoem je er een
Extern id is leeg en Naam komt overeen met een eenheidDie eenheid wordt bijgewerkt
Geen van beide komt met iets overeenEr wordt een nieuwe organisatie-eenheid aangemaakt
Extern id of Naam komt met twee eenheden overeenDe rij wordt geweigerd — mTime kan niet bepalen welke je bedoelt. Los het dubbele geval eerst op
Dezelfde Extern id of Naam twee keer op dit bladBeide rijen worden geweigerd

Bij het matchen wordt geen onderscheid gemaakt tussen hoofd- en kleine letters, dus sales werkt Sales bij en ou-7 vindt OU-7.

Een organisatie-eenheid hernoemen vanuit de werkmap gaat via Extern id. Geef de eenheid één keer een extern id — exporteer de werkmap, vul de kolom in, importeer hem terug — en daarna kun je haar Naam in het blad wijzigen: de import hernoemt de eenheid.

Zonder extern id is de naam de enige sleutel, dus een naam wijzigen hernoemt niets: het maakt een tweede eenheid onder de nieuwe naam aan en laat de oude staan, met iedereen er nog in.

Een hernoeming wordt geweigerd als de nieuwe naam al aan een andere organisatie-eenheid toebehoort: de rij zou dan de ene hernoemen en de andere bijwerken. Los dat eerst in mTime op.

Kolomoverzicht

KolomVerplichtOpmerkingen
NaamJaDe sleutel wanneer Extern id leeg is. Zie hierboven.
Extern idNeeJe eigen identificatie voor deze eenheid — het nummer of de code die ze heeft in het systeem waaruit je migreert. Wordt op de eenheid bewaard, door de export geschreven, en is de sleutel waarmee een rij de eenheid kan hernoemen. Een lege cel laat de bewaarde waarde staan.
OmschrijvingNeeVrije tekst
Bovenliggende eenheidNeeDe Naam van de eenheid waar deze onder valt. Leeg betekent bovenste niveau.
AfdelingshoofdNeeHet hoofd van de eenheid: volledige naam of e-mailadres van een medewerker. Moet al in mTime staan.
WerklandNeeHet werkland van de eenheid als ISO-code in hoofdletters, bijv. DK. Moet een van de werklanden van je werkruimte zijn.
Eén kolom per attribuut voor organisatie-eenhedenNeeZie attribuutkolommen

De hiërarchie opbouwen

Bovenliggende eenheid verwijst op naam naar een andere eenheid — een die al in mTime bestaat, of een die door een andere rij van ditzelfde blad wordt aangemaakt. De volgorde van de rijen maakt niet uit: een bovenliggende eenheid die onder haar onderdelen staat, wordt net zo goed gevonden als een die erboven staat.

Naam        | Omschrijving     | Bovenliggende eenheid | Afdelingshoofd       | Werkland
Sales West  | Regio West       | Sales                 |                      | DK
Sales       | Verkoopafdeling  |                       | jane.doe@example.com | DK

Een rij wordt geweigerd als de Bovenliggende eenheid naar niets verwijst, naar twee verschillende eenheden verwijst, of de eenheid binnen haar eigen substructuur zou plaatsen — een eenheid kan niet haar eigen bovenliggende eenheid zijn, en A kan niet onder B vallen terwijl B onder A valt.

Bovenliggende eenheid wordt ook bij updates geschreven, en een lege Bovenliggende eenheid betekent bovenste niveau. Importeer je een blad waarvan die kolom leeg is gelaten, dan gaat elke eenheid erop naar de top van de organisatie, met haar onderliggende eenheden mee.

Dit is dezelfde regel als overal elders in de werkmap — wat het blad zegt wint — maar hier verplaatst hij hele takken tegelijk. Begin vanuit een export of de sjabloon en houd de kolom ingevuld.

Wat een update wijzigt, en wat niet

Een rij schrijft Naam, Omschrijving, Bovenliggende eenheid, Afdelingshoofd en Werkland, en een lege cel wist de waarde. Twee soorten kolommen werken anders, en een lege cel in een van beide laat de bewaarde waarde staan: Extern id, zodat een lege kolom nooit je identificaties wist, en de attribuutkolommen, zodat een half ingevuld blad nooit een kostenplaats wist. Alles wat het blad helemaal niet meedraagt, blijft precies zoals het was.

Het Afdelingshoofd moet iemand zijn die al in mTime staat. Organisatie-eenheden worden vóór het blad Employees toegepast, dus iemand die dezelfde werkmap net gaat aanmaken kan nog geen hoofd van een eenheid zijn — stel het hoofd daarna in op de pagina van de organisatie-eenheid.

Het blad Employees

De kolom Medewerker-id

Deze ene kolom bepaalt of een rij een nieuwe persoon aanmaakt of een bestaande bijwerkt, en het is de kolom die de bladen Employees, Accounts en Absence aan elkaar knoopt. Hij accepteert drie soorten waarden:

WaardeWat er gebeurt
Een UUIDmTime zoekt precies die medewerker op en werkt hem bij. Bestaat die medewerker niet, dan wordt de rij geweigerd — een UUID wordt nooit gebruikt om iemand aan te maken. Dit is wat de export schrijft.
Elke andere tekst, zoals initialen of een personeelsnummermTime maakt er een vaste interne identificator van voor jouw werkruimte en bewaart de tekst zelf als External ID van de medewerker. De eerste import met JD maakt een persoon aan; elke latere import met JD werkt diezelfde persoon bij.
LeegEr wordt een nieuwe medewerker aangemaakt met een gloednieuwe identificator.

De middelste optie is degene die telt bij een migratie. Omdat EMP-4711 altijd naar dezelfde persoon in dezelfde werkruimte verwijst, kun je:

  • vanuit de bladen Employees, Accounts en Absence naar dezelfde persoon verwijzen,
  • een gecorrigeerd bestand opnieuw draaien zodat het personen bijwerkt in plaats van dubbel aanmaakt,
  • het personeelsnummer uit je oude systeem behouden als schakel tussen de twee systemen — het wordt op de medewerker bewaard als zijn External ID , waar je het kunt zien, en de export schrijft het weer uit.

Staat er tekst in de cel, dan zoekt mTime de persoon in deze volgorde:

  1. de identificator waar die tekst naar verwijst — de persoon die een eerdere import met dezelfde tekst heeft aangemaakt;
  2. een medewerker wiens External ID die tekst is, door wie die er ook is gezet: een eerdere import, de API of je identiteitsprovider;
  3. niets gevonden, dus er wordt een nieuwe medewerker aangemaakt met die tekst als External ID.

Stap 2 is wat het nummer duurzaam maakt. Iemand die al in mTime staat met EMP-4711 op zijn record wordt bijgewerkt door een rij die EMP-4711 noemt, ook als die persoon nooit uit een werkmap kwam. Voorheen maakte zo’n rij er stilletjes een tweede exemplaar van.

Laat Medewerker-id alleen leeg als je uitsluitend medewerkers importeert. Een persoon die uit een leeg ID wordt aangemaakt, krijgt een willekeurige identificator, dus geen enkele rij in Accounts kan naar hem verwijzen, en een tweede import van hetzelfde bestand maakt hem helemaal opnieuw aan.

Lijken de dossiernummers uit je oude systeem toevallig op UUID’s, zet er dan een voorvoegsel voor (LEG-3f2b…) zodat mTime ze als tekst behandelt en niet als een mTime-identificator.

Kolomoverzicht

KolomVerplichtOpmerkingen
Medewerker-idNeeZie hierboven. Leeg maakt een nieuwe medewerker aan.
Extern idNeeJe eigen identificatie voor deze persoon. Ingevuld wordt ze naar de medewerker geschreven en vervangt ze wat er stond; leeg laat ze de bewaarde waarde staan. Een Medewerker-id met tekst vult haar voor je in wanneer de medewerker er geen heeft. Wordt door de export geschreven.
Volledige naamJaVerplicht op elke rij, ook bij updates.
E-mailNeeMag niet al aan een andere medewerker toebehoren.
GeboortedatumNeeEen datumcel, of tekst in de vorm YYYY-MM-DD
TelefoonNeeVrije tekst
MobielNeeVrije tekst
StraatNeeVrije tekst
PlaatsNeeVrije tekst
PostcodeNeeVrije tekst
LandNeeVrije tekst, bijv. NL
Organisatie-eenheidNeeMoet overeenkomen met de naam van een organisatie-eenheid — een die al bestaat, of een die het blad Org Units in dezelfde import aanmaakt. Wordt alleen toegepast als de rij een medewerker aanmaakt.
LeidinggevendeNeeVolledige naam of e-mailadres van de leidinggevende. Moet overeenkomen met een medewerker — al in mTime, of aangemaakt door dezelfde werkmap. Alleen bij aanmaken.
ArbeidsvoorwaardenNeeMoet overeenkomen met de naam van bestaande arbeidsvoorwaarden. Alleen bij aanmaken.
Datum in dienstNeeEen datumcel, of tekst in de vorm YYYY-MM-DD. Verplicht als een kolom van het dienstverband is ingevuld. Alleen bij aanmaken.
Datum uit dienstNeeEen datumcel, of tekst in de vorm YYYY-MM-DD. Vereist Datum in dienst. Alleen bij aanmaken.
WeeknormNeeContractuele uren per week als decimaal getal, bijv. 40. Alleen bij aanmaken.
Ma … ZoNeeDe uren van de weeknorm verdeeld over de week, als decimalen, bijv. 8. Alleen bij aanmaken.
Eén kolom per medewerker- en dienstverbandattribuutNeeZie attribuutkolommen. Anders dan de overige dienstverbandkolommen worden dienstverbandattributen ook bij updates toegepast.

Organisatie-eenheid, Leidinggevende en Arbeidsvoorwaarden worden op naam herkend, zonder onderscheid tussen hoofd- en kleine letters. De naam moet uniek zijn: heten twee organisatie-eenheden “Support”, dan wordt de rij geweigerd en moet je er eerst één hernoemen. Arbeidsvoorwaarden verwijst naar records die al moeten bestaan — een Excel-import maakt nooit een set arbeidsvoorwaarden aan. De andere twee mogen naar iets wijzen dat dezelfde werkmap aanmaakt: Organisatie-eenheid naar een eenheid op het blad Org Units, en Leidinggevende naar een andere rij op het blad Employees, want leidinggevenden zijn medewerkers zoals iedereen.

Wat een update wijzigt

Wanneer een rij overeenkomt met een bestaande medewerker, schrijft mTime alle persoonskolommen uit die rij: naam, e-mail, geboortedatum, telefoon, mobiel en het adres.

Bij een update wist een lege cel de waarde, en een kolom die helemaal ontbreekt in het blad wist hem ook. Een werkmap met alleen Medewerker-id en Volledige naam wist het e-mailadres en het adres van iedereen die hij aanraakt.

Begin altijd vanuit een sjabloon of een export en houd alle kolommen — ook die waarvoor je niets hebt in te vullen.

Extern id is een van twee uitzonderingen op die regel: een lege cel — of helemaal geen kolom — wist haar nooit. Een extern id is vaak de schakel waarop iets anders steunt, dus mTime schrijft haar alleen wanneer je een waarde in de cel zet. Wil je er een verwijderen, wis die dan op de pagina van de medewerker in mTime.

De attribuutkolommen zijn de andere uitzondering, om ongeveer dezelfde reden: een lege attribuutcel laat de bewaarde waarde staan, en geen enkele cel op het blad kan een attribuut wissen.

Twee personen kunnen niet dezelfde external id hebben. Een rij die iemand een waarde zou geven die een andere medewerker al heeft, wordt in de proefronde geweigerd — net als twee rijen op hetzelfde blad die dezelfde waarde aan twee verschillende personen geven.

Krijgt je werkruimte haar medewerkers van een identiteitsprovider via SCIM, en koppelt die integratie externalId aan het attribuut External ID , dan bepaalt deze kolom aan welke mTime-medewerker een gebruiker van de identiteitsprovider wordt gekoppeld. Loop de kolom na voordat je in zo’n werkruimte importeert — een gewijzigde waarde koppelt de persoon anders.

Het dienstverband werkt precies andersom: Organisatie-eenheid, Leidinggevende, Arbeidsvoorwaarden, Datum in dienst, Datum uit dienst, Weeknorm en de dagkolommen worden alleen gebruikt wanneer de rij een nieuwe medewerker aanmaakt. Bij een bestaande medewerker worden ze genegeerd en blijft het dienstverband ongemoeid. Wil je een dienstverband later wijzigen, gebruik dan de pagina van de medewerker of een bulkwijziging. Dienstverbandattributen zijn de uitzondering daarop: een ingevulde attribuutcel wordt ook naar een bestaand dienstverband geschreven, niet alleen naar een nieuw.

Dienstverband en weeknorm

Een medewerker krijgt alleen een dienstverband als Datum in dienst is ingevuld. Laat je hem leeg, dan krijg je een persoon in de werkruimte zonder dienstverband — af en toe nuttig, maar zelden wat je wilt, en een rij die zonder die datum een dienstverbandattribuut invult wordt geweigerd.

De arbeidstijdnorm kan op twee manieren worden opgegeven, en je mag ze combineren:

  • Alleen Weeknorm — de contractuele uren per week, bijv. 40. Er wordt geen verdeling per dag opgeslagen.
  • Alleen Ma … Zo — de norm is de som van de dagen, verdeeld zoals je hem hebt geschreven.
  • Allebei — ze moeten overeenkomen. Weeknorm 40 met 8 van maandag tot en met vrijdag wordt geaccepteerd; 40 met 7.5 op vijf dagen wordt geweigerd.

Uren zijn decimale uren, geen uren en minuten: zeveneneenhalf uur is 7.5, niet 7.30. Waarden worden afgerond op de minuut. De norm moet groter zijn dan nul en beschrijft één week — terugkerende patronen over meerdere weken kunnen niet worden geïmporteerd en moeten op de medewerker worden ingesteld.

Het blad Accounts

Dit blad stelt het actuele saldo van elke tijdaccount in — de vakantiedagen, flexuren en andere saldi die mensen meebrengen.

Kolomoverzicht

KolomVerplichtOpmerkingen
Medewerker-idJaDezelfde regels als in het blad Employees. Mag hier niet leeg zijn.
Volledige naamNeePuur een houvast voor jou, zodat het blad leesbaar is. Wordt bij de import genegeerd — rijen worden alleen op Medewerker-id herkend.
ImportdatumNeeEen datumcel, of tekst in de vorm YYYY-MM-DD. De datum waarop het saldo wordt vastgelegd. Standaard vandaag.
Eén kolom per tijdaccountNeeHet beoogde saldo. Zie hieronder.

Dit is het enige blad zonder attribuutkolommen: de regel hier is dat elke kolom die niet een van de drie hierboven is, een tijdaccount is — en een attribuutkolom zou daarmee in botsing komen.

De accountkolommen

Alle overige kolommen zijn een tijdaccount, genoemd naar het account met de eenheid tussen haakjes:

Medewerker-id | Volledige naam | Importdatum | Vacation (days) | Flex (minutes)
EMP-4711      | Jane Doe       | 2026-01-01  | 12.5            | 450
  • Het deel vóór de haakjes moet overeenkomen met de naam van een tijdaccount in je werkruimte, zonder onderscheid tussen hoofd- en kleine letters.
  • De eenheid tussen haakjes is optioneel, maar staat hij er, dan moet hij bij het account passen. Dat is een beveiliging: het voorkomt dat een kolom met vakantiedagen ongemerkt op een urenaccount belandt.
  • Accounts in dagen staan in decimale dagen — 12.5 betekent twaalfeneenhalve dag.
  • Accounts in uren staan in minuten — 450 betekent 7 uur en 30 minuten. Hier gaan mensen de mist in; vermenigvuldig je uren met 60.
  • Negatieve saldi zijn toegestaan, bijvoorbeeld een flexaccount met een tekort.

Zowel de sjabloon als de export vullen deze koppen in vanuit je werkruimte, en dat is de eenvoudigste manier om ze goed te krijgen.

Hoe een saldo wordt toegepast

Elke ingevulde cel zet het saldo op die waarde op Importdatum. Het wordt niet opgeteld bij wat er al staat. De boeking verschijnt in de historie van het account met als reden “Excel import”.

CelResultaat
LeegEr gebeurt niets — het account blijft zoals het is
0Het saldo wordt op nul gezet
Een getalHet saldo wordt op dat getal gezet

Omdat de waarde een streefwaarde is en geen mutatie, verdubbelt niemands vakantie door hetzelfde bestand twee keer te importeren. Het betekent ook dat een onzorgvuldige import saldi kan gladstrijken die correct waren — de stap Controleren vertelt je hoeveel saldowijzigingen op het punt staan te gebeuren, dus controleer dat aantal voordat je bevestigt.

Zet Importdatum op jullie overgangsdatum: de dag waarop de saldi in het oude systeem klopten. Alles wat mTime na die datum vastlegt, komt er bovenop.

Het blad Absence

Dit blad registreert afwezigheid — de historie uit het oude systeem en de afwezigheid die mensen daarin al hadden gepland — zodat een migratie niet eindigt met weken aan vakantie die opnieuw moet worden ingevoerd. Eén rij is één afwezigheid: wie, welk type, van wanneer tot wanneer.

Kolomoverzicht

KolomVerplichtOpmerkingen
Medewerker-idJaDezelfde regels als op de andere bladen. Een rij mag verwijzen naar een medewerker die het blad Employees in dezelfde import aanmaakt.
Volledige naamNeePuur een houvast voor jou, zodat het blad leesbaar is. Wordt bij de import genegeerd.
VerzuimsoortJaDe naam van een verlofactiviteit in je werkruimte, herkend zonder onderscheid tussen hoofd- en kleine letters. Net als Organisatie-eenheid en Arbeidsvoorwaarden is het een verwijzing — de import maakt nooit een afwezigheidstype aan.
StartdatumJaEen datumcel, of tekst in de vorm YYYY-MM-DD
EinddatumJaEen datumcel, of tekst in de vorm YYYY-MM-DD, op of na de begindatum. Afwezigheid zonder einddatum kan niet worden geïmporteerd — sluit haar af, of voer haar in mTime in.
UrenNeeMaakt van een rij van één dag een gedeeltelijke dag: 3.5 is drieënhalf uur afwezigheid. Alleen toegestaan als begin en einde dezelfde dag zijn. Leeg betekent hele dagen.
StatusNeeApproved (de standaard) legt de afwezigheid vast als besloten; Requested stuurt haar als openstaande aanvraag naar de goedkeurder van de medewerker.
Al afgetrokkenSomsOf de afwezigheid al is verwerkt in de saldi die je importeert — zie hieronder. TRUE/FALSE (yes/no en 1/0 werken ook).
ImportdatumNeeEen datumcel, of tekst in de vorm YYYY-MM-DD. Jullie overgangsdatum — dezelfde datum als op het blad Accounts. Standaard vandaag. Wordt alleen gebruikt om Al afgetrokken in te vullen wanneer die cel leeg is.
RedenNeeVrije tekst, bewaard op de afwezigheid zoals een reden die in mTime is getypt.

Al afgetrokken, of nog niet?

De saldi op het blad Accounts zijn de saldi zoals ze stonden op jullie overgangsdatum, dus de twee soorten afwezigheid moeten verschillend worden behandeld:

  • Afwezigheid die toen al voorbij was, is al afgetrokken van die saldi. mTime legt haar volledig vast — ze verschijnt in de kalender, op de urenstaat en in rapporten — maar raakt het saldo nooit meer aan. Haar een tweede keer aftrekken zou fout zijn.
  • Afwezigheid gepland ná de overgang zit nog niet in die saldi. Ze wordt toegepast als een normale registratie en verbruikt het saldo wanneer ze plaatsvindt, precies alsof ze in mTime was aangevraagd.

Laat Al afgetrokken leeg en mTime vult haar in op basis van de Importdatum van de rij:

De afwezigheid…Leeg betekent
eindigt vóór de ImportdatumTRUE — al in het saldo
begint na de ImportdatumFALSE — nog niet in het saldo
overlapt de ImportdatumDat moet je zelf zeggen — zonder antwoord is de rij een validatiefout

De kolom wordt genegeerd voor afwezigheidstypen die nooit een saldo raken, zoals ziekte onder de meeste regelingen.

Zet jullie overgangsdatum in Importdatum op zowel het blad Accounts als het blad Absence, dan doen de lege cellen het juiste voor elke afwezigheid die er niet overheen valt.

Aangevraagde afwezigheid

Een rij met Status op Requested belandt in de goedkeuringsinbox van de leidinggevende van de medewerker, zoals een aanvraag die in mTime is gedaan. Een medewerker zonder iemand die voor hem kan goedkeuren, krijgt de afwezigheid als goedgekeurd vastgelegd in plaats van eeuwig in afwachting.

Opnieuw draaien, corrigeren — en wat het blad nooit doet

Een afwezigheidsrij wordt herkend aan haar medewerker, type en datums. Importeer je hetzelfde bestand opnieuw, dan worden al geïmporteerde rijen overgeslagen — er wordt niets verdubbeld. Het blad kan afwezigheid alleen toevoegen: het kan er geen wijzigen of annuleren. Om een afwezigheid met verkeerde datums of het verkeerde type te herstellen, annuleer je haar in mTime en importeer of registreer je de gecorrigeerde versie.

Twee rijen voor dezelfde medewerker mogen niet overlappen — vakantie onderbroken door ziekte is twee rijen voor de vakantie (ervoor en erna) plus één voor de ziekte, geen overlappende periodes. Overlap met afwezigheid die al in mTime staat, volgt de gebruikelijke regels van het product, dus vermijd het opnieuw importeren van periodes die met de hand zijn ingevoerd.

Anders dan de eerste drie bladen is Absence alleen voor import: de export Eenvoudige Excel bevat het niet. In de sjabloon staat het leeg, klaar om in te vullen — een voorbeeldrij die per ongeluk blijft staan, zou verzonnen afwezigheid bij een echte medewerker importeren.

Het blad Absence is een migratiegereedschap: het schrijft historie rechtstreeks weg, zonder de controles die een registratie in mTime doorloopt — ingediende of goedgekeurde urenstaten en gesloten perioden houden het niet tegen. Importeer afwezigheid voordat mensen urenstaten gaan indienen.

Het blad Children

Op dit blad registreer je de kinderen van medewerkers — daarop is verlof gebaseerd dat aan kinderen is gekoppeld, zoals zorgdagen. Eén rij is één kind, met dezelfde gegevens die je onder Kinderen op de pagina van de medewerker kunt invullen.

Kolomoverzicht

KolomVerplichtOpmerkingen
Medewerker-idJaDezelfde regels als op de andere bladen. Een rij mag verwijzen naar een medewerker die het blad Employees in dezelfde import aanmaakt.
Volledige naamNeeDe naam van de medewerker, alleen ter herkenning zodat het blad leesbaar blijft. Wordt bij de import genegeerd.
Naam kindNeeDient alleen om twee kinderen uit elkaar te houden, dus een voornaam is genoeg.
Geboortedatum kindSomsDe bevestigde geboortedatum van het kind: een datumcel, of tekst in de vorm YYYY-MM-DD. Mag niet in de toekomst liggen.
Uitgerekende datumSomsDe uitgerekende datum, voor een kind dat nog niet geboren is.
OuderrolNeeDe rol van de medewerker ten opzichte van het kind, die bepaalt op welk verlof het kind recht geeft: Barende ouder, Andere ouder, Adoptieouder of voogd of Niet gespecificeerd. De sjabloon biedt ze in een keuzelijst in jouw taal aan, en de import accepteert ze in elke taal waarin mTime beschikbaar is. Een lege cel betekent Niet gespecificeerd voor een nieuw kind, en laat de rol van een bestaand kind ongemoeid.

Elke rij heeft Geboortedatum kind of Uitgerekende datum nodig — of allebei.

Geboren of verwacht

Een kind met alleen een Uitgerekende datum wordt geregistreerd als verwacht. Verlof dat van een geboorte afhangt, zorgdagen incluis, gaat pas in zodra er een geboortedatum is vastgelegd — zet een verwachte datum dus nooit in Geboortedatum kind, ook niet als de bevalling over een paar dagen is.

Is het kind geboren, vul dan Geboortedatum kind in op dezelfde rij, laat de Uitgerekende datum staan en importeer opnieuw. Aan de uitgerekende datum vindt de import het kind dat je als verwacht had geregistreerd, en hij bevestigt de geboorte in plaats van een tweede kind te registreren.

Opnieuw draaien, corrigeren — en wat het blad nooit doet

Een rij hoort bij een kind dat de medewerker al heeft wanneer de geboortedatum of de uitgerekende datum gelijk is, en de naam ook (zonder onderscheid tussen hoofd- en kleine letters). Een kind zonder naam, of een rij zonder naam, wordt alleen op de datums herkend — zo wordt een later toegevoegde naam aangevuld in plaats van dat het kind twee keer wordt geregistreerd. Een rij met een naam zoekt eerst het kind met die naam, en valt alleen terug op een kind zonder naam met dezelfde datum als dat er niet is — zo blijft een tweeling waarvan pas één een naam heeft, twee kinderen. Zo’n rij vult alleen aan wat het kind nog mist — een geboortedatum, een uitgerekende datum, of een ouderrol als er nog geen is vastgelegd. Een rol die het kind al heeft, wordt niet gewijzigd. Een lege cel wist nooit iets. Een rij die bij geen enkel kind hoort, registreert een nieuw kind.

Hetzelfde bestand opnieuw importeren verandert dus niets. Een tweeling is twee rijen met dezelfde geboortedatum en verschillende namen; twee rijen met dezelfde naam en dezelfde datum worden allebei geweigerd, omdat mTime niet kan weten of het om één kind gaat of om twee.

Het blad kan kinderen alleen toevoegen en hun gegevens aanvullen: het verwijdert nooit een kind, en het kan er ook geen corrigeren. Een rij met een gecorrigeerde naam of geboortedatum hoort bij geen enkel kind en registreert dus een tweede kind naast het verkeerde. Corrigeer gegevens op de pagina van de medewerker.

Net als Absence is het blad Children alleen voor import: de export Eenvoudige Excel bevat het niet, en in de sjabloon staat het leeg.

De import uitvoeren

De wizard is dezelfde als beschreven onder Gegevensimport, met twee verschillen: mTime herkent een Excel-bestand aan de extensie .xlsx, en de keuze tussen Samenvoegen en Herstellen is vervangen door een keuze van blad.

  1. Ga naar Beheer › Gegevensimport en klik op Importeren .

  2. Bestand — kies je .xlsx-bestand. De maximale grootte is 100 MB.

  3. Parameters — kies welk blad je wilt toepassen en klik op Valideer :

    KeuzeWat er wordt geïmporteerd
    AllesAlle vijf de bladen, op volgorde: eerst organisatie-eenheden, dan medewerkers en hun kinderen, dan tijdaccounts, dan afwezigheid — zodat elk blad kan verwijzen naar wat het vorige heeft aangemaakt
    Organisatie-eenhedenAlleen het blad Org Units
    MedewerkersDe bladen Employees en Children
    RekeningenAlleen het blad Accounts
    AfwezigheidAlleen het blad Absence
  4. Controleren — de validatie draait op de server zonder iets te wijzigen. Je krijgt een aantal per blad — organisatie-eenheden, medewerkers, kinderen, saldocellen, afwezigheden — een melding voor elke geweigerde rij, en een waarschuwing voor alles wat mTime gaat negeren, zoals een kolom die het niet herkent. Waarschuwingen houden de import niet tegen, fouten wel. Corrigeer het bestand en probeer opnieuw, of klik op Importeer uitvoeren .

  5. Resultaten — de uitkomst per blad, met een gedetailleerd rapport dat je kunt downloaden.

Blijkt uit de validatie dat je het verkeerde blad hebt gekozen, ga dan Terug en valideer opnieuw — het bestand blijft op de server staan en hoeft niet opnieuw te worden geüpload.

Importeren vanuit een ander systeem

Hiervoor is het formaat gemaakt: medewerkers en saldi uit een salaris- of tijdregistratiesysteem halen en in mTime zetten. De volgorde hieronder houdt de riskante stappen klein en omkeerbaar.

1. Bouw eerst de configuratie in mTime

Op organisatie-eenheden en attributen na verwijst de Excel-import naar configuratie op naam en maakt die nooit aan. Voordat je iets importeert, richt je in:

  • Arbeidsvoorwaarden — de contractvormen van jullie mensen
  • Tijdaccounts — elk saldo dat jullie willen overnemen, met de juiste eenheid
  • Feestdagenkalenders en verlofregelingen, zodat de saldi zich daarna correct gedragen
  • Attributen — alles van jullie zelf dat jullie willen meenemen, en de standaardattributen zoals Burgerservicenummer of Loonnummer. Download de sjabloon nadat je ze hebt toegevoegd, dan staan de kolommen erin

Organisatie-eenheden zijn de uitzondering: zet ze op het blad Org Units en de import bouwt de structuur voor je. Je hoeft ze alleen met de hand aan te maken als je de hiërarchie liever al klaar hebt voordat het eerste bestand binnenkomt.

Zorg dat de namen uniek zijn. Twee organisatie-eenheden met dezelfde naam laten elke rij die naar ze verwijst afkeuren.

2. Kies jullie sleutel

Zet het personeels- of salarisnummer uit jullie oude systeem in de kolom Medewerker-id, op elk blad dat jullie gebruiken. Dit is de meest waardevolle beslissing van de hele migratie:

  • het koppelt elke saldo- en afwezigheidsrij aan de juiste persoon,
  • het maakt de import herhaalbaar, zodat een gecorrigeerd bestand bijwerkt in plaats van dubbel aanmaakt,
  • het blijft een leesbare schakel terug naar het oude systeem als jullie ooit moeten afstemmen — mTime bewaart de waarde als het Extern id van de medewerker.

Doe hetzelfde voor jullie organisatie-eenheden, in hun kolom Extern id, en dan kunnen jullie later een afdeling vanuit het blad hernoemen in plaats van met de hand.

3. Koppel jullie oude velden

Exporteer je brongegevens en koppel ze aan de kolommen. Een typische koppeling:

Gegeven in het oude systeemKolom in de werkmapLet op
Personeelsnummer / salarisnummerMedewerker-idGebruik dezelfde waarde op de bladen Employees, Accounts en Absence
NaamVolledige naamVerplicht
Werk-e-mailE-mailMoet uniek zijn in de hele werkruimte
GeboortedatumGeboortedatumEen datumcel in elke notatie, of YYYY-MM-DD als tekst
BurgerservicenummerDe attribuutkolom BurgerservicenummerVoeg het standaardattribuut eerst toe aan je werkruimte en download daarna de sjabloon
Loonnummer, als waarde om te bewarenDe attribuutkolom LoonnummerStaat op uniek, dus twee mensen mogen er niet hetzelfde hebben
FunctietitelDe attribuutkolom TitelEen dienstverbandattribuut — het hoort bij het contract, niet bij de persoon
Kostenplaats, badgenummer, van alles van jezelfJe eigen attribuutkolommenLeeg laat de opgeslagen waarde staan — het wist haar nooit
AfdelingOrganisatie-eenheidWordt op naam herkend. Zet de afdelingen op het blad Org Units, dan maakt de import ze aan
LeidinggevendeLeidinggevendeVolledige naam of e-mail van iemand die al in mTime staat, of van een andere rij in hetzelfde bestand
ContractvormArbeidsvoorwaardenMoet al in mTime bestaan, wordt op naam herkend
Datum in dienstDatum in dienstVerplicht als je een kolom van het dienstverband invult
Datum uit dienstDatum uit dienstAlleen voor mensen die al vertrokken zijn
Contracturen per weekWeeknormDecimale uren, bijv. 40
WerkpatroonMa … ZoDecimale uren per dag; moeten samen de weeknorm vormen
Resterend verlofVacation (days) in het blad AccountsDecimale dagen
Flex- / overurensaldoFlex (minutes) in het blad AccountsMinuten — vermenigvuldig uren met 60
AfwezigheidshistorieHet blad AbsenceEén rij per afwezigheid; eindigt vóór de overgang, dus Al afgetrokken vult zichzelf in als TRUE
Geplande toekomstige afwezigheidHet blad AbsenceStatus Approved of Requested; verbruikt het saldo wanneer ze plaatsvindt
Kinderen, voor zorgdagen en ander verlof dat aan kinderen is gekoppeldHet blad ChildrenEén rij per kind; een kind dat nog niet geboren is krijgt een Uitgerekende datum, nooit een Geboortedatum kind

Leidinggevenden zijn medewerkers zoals alle anderen, dus ze komen binnen via het blad Employees — en een rij mag verwijzen naar een leidinggevende die dezelfde werkmap aanmaakt. Het hele organogram komt in één ronde binnen; de laag leidinggevenden heeft geen eigen ronde meer nodig. mTime zoekt de naam of het e-mailadres eerst tussen de rijen van het bestand en daarna tussen de mensen die al in de werkruimte staan. Wat het niet doet, is gokken: dragen twee rijen dezelfde naam, of komt een naam overeen met zowel een rij in het bestand als een andere persoon die al in mTime staat, dan worden die rijen geweigerd. Het e-mailadres is de manier om ondubbelzinnig te zijn.

4. Ruim datums en getallen op

Loop het bestand vóór de eerste import één keer door:

  • De datumkolommen bevatten echte datums, geen tekst die er alleen op lijkt. Een cel die Excel als datum rechts uitlijnt wordt gelezen ongeacht de notatie die zij toont; een tekstcel moet YYYY-MM-DD zijn.
  • Decimalen gebruiken een punt, geen komma.
  • Geen scheidingstekens voor duizendtallen, geen eenheden, geen losse tekens — 450, nooit 450 min of 7,5 u.
  • Saldi in uren omgerekend naar minuten.
  • Keuzelijstattributen bevatten een van de opties die je hebt gedefinieerd, precies zo gespeld.

5. Importeer in golven

Doe het de eerste keer niet in één keer.

Eerste golf — de structuur. Importeer met het blad Organisatie-eenheden geselecteerd. Bekijk de organisatieboom in mTime: valt alles onder de juiste bovenliggende eenheid, zonder dubbelingen?

Tweede golf — de mensen. Importeer met het blad Medewerkers geselecteerd. Controleer een handvol medewerkers in de app: zitten ze in de juiste organisatie-eenheid, op de juiste voorwaarden, met de juiste weeknorm en met hun attributen ingevuld? Het blad Children komt in deze golf mee, dus controleer ook hun kinderen.

Derde golf — de saldi. Importeer dezelfde werkmap opnieuw met het blad Rekeningen geselecteerd en Importdatum op jullie overgangsdatum. Controleer de saldi van diezelfde mensen.

Vierde golf — de afwezigheid. Importeer haar nog een keer met het blad Afwezigheid geselecteerd en Importdatum opnieuw op de overgangsdatum. Open de kalender van één medewerker en controleer dat de historie er staat en dat het saldo niet is verschoven — de historie zit al in de saldi die jullie net hebben geïmporteerd.

De migratie zo opsplitsen betekent dat een fout in de saldokolommen de zojuist gecontroleerde medewerkergegevens niet kan beschadigen, en andersom — en een structuur die je al hebt gecontroleerd is een veel betere plek om mensen in te laten landen.

Zodra jullie een migratie of twee hebben gedaan en het bestand vertrouwen, doet Alles alle vijf de bladen in één ronde, in dezelfde volgorde, dus eenheden en mensen die in die import worden aangemaakt kunnen er meteen naar verwezen worden.

6. Controleer het resultaat

Exporteer de werkruimte opnieuw in het formaat Eenvoudige Excel en vergelijk hem met je bronbestand. Alles wat niet is overgekomen, valt op als verschil, en de export is meteen een goede vastlegging van hoe de werkruimte er bij de livegang uitzag.

Gevoelige attributen zijn het enige wat je niet in die export terugvindt — mTime schrijft ze nooit in een spreadsheet. Controleer die op de pagina van de medewerker zelf.

Opnieuw draaien en corrigeren

Een Excel-import is veilig te herhalen zolang de waarden in Medewerker-id hetzelfde blijven. Corrigeer het bronbestand en importeer het opnieuw:

  • medewerkers worden bijgewerkt, niet dubbel aangemaakt,
  • saldi worden op de gecorrigeerde waarde gezet in plaats van erbij opgeteld,
  • afwezigheidsrijen die al zijn geïmporteerd, worden overgeslagen en nooit verdubbeld,
  • kinderen die al geregistreerd zijn, worden herkend en alleen aangevuld, nooit dubbel geregistreerd,
  • attribuutwaarden worden overschreven waar je een cel hebt ingevuld en met rust gelaten waar je dat niet hebt gedaan,
  • medewerkers die je uit het bestand hebt gehaald, blijven ongemoeid — de import verwijdert nooit.

Het enige wat een tweede ronde niet kan, is een dienstverband wijzigen. De kolommen van het dienstverband worden alleen toegepast wanneer de medewerker wordt aangemaakt, dus als de organisatie-eenheid of de weeknorm verkeerd is, corrigeer je dat op de pagina van de medewerker of met een bulkwijziging. Dienstverbandattributen zijn de uitzondering en zijn met een tweede import wél te corrigeren.

Iets wat niet past?

De werkmap draagt nu de organisatiestructuur, mensen, hun kinderen, hun attributen, hun saldi en hun afwezigheid. Hebben jullie gegevens die er niet in passen, neem dan vóór de start contact op met support via de ingebouwde hulp in het product. Vertel ons wat jullie willen verplaatsen, dan zoeken wij de beste route ervoor.

Validatiemeldingen

De validatie draait voordat er iets wordt weggeschreven en vermeldt het blad en de rij van elk probleem. Rijen zijn genummerd zoals in Excel, dus “Employees row 2” is de eerste rij onder de koppen. Fouten moeten worden opgelost voordat de import draait; waarschuwingen zijn ter informatie en houden hem niet tegen.

De meldingen komen van de server en zijn in het Engels. Ze noemen een vaste kolom ook bij zijn Engelse kop: Full Name is de kolom Volledige naam, Employment Start is Datum in dienst, enzovoort.

Waarschuwingen

MeldingWat je moet doen
column "…" is not a known column and was ignoredmTime heeft die kop niet herkend. Is het een eigen notitiekolom, dan hoef je niets te doen. Was het wél een echte kolom, controleer dan de spelling tegen de sjabloon — de melding stelt de kolom voor die je waarschijnlijk bedoelde, als ze dat kan afleiden.

Fouten

MeldingWat je moet doen
Name is required (blad Org Units)Elke rij met een organisatie-eenheid heeft een naam nodig — daarmee wordt de eenheid geïdentificeerd.
org unit … appears more than once on this sheetTwee rijen op het blad Org Units delen een naam. Voeg ze samen, of hernoem er één.
Name … matches more than one existing org unitTwee organisatie-eenheden in mTime hebben die naam al. Hernoem er één voordat je importeert.
External ID … appears more than once on this sheetTwee rijen op het blad Org Units claimen hetzelfde externe id. Eén rij per eenheid.
External ID … matches more than one existing org unitTwee organisatie-eenheden dragen dat externe id al. Corrigeer er eerst één in mTime.
External ID … is the org unit …, but Name … is a different existing org unitDe rij zou een eenheid hernoemen naar een naam die een andere eenheid al gebruikt. Hernoem of verwijder er eerst één.
unknown or ambiguous parent org unit …De cel Bovenliggende eenheid wijst naar geen enkele organisatie-eenheid, of naar twee. Voeg de bovenliggende eenheid als eigen rij toe aan het blad, of corrigeer de spelling.
an org unit cannot be its own parentMaak de cel Bovenliggende eenheid leeg, of wijs hem naar een andere eenheid.
parent … would put … inside its own subtreeDe bovenliggende eenheden vormen een lus. Volg de keten omhoog vanaf deze eenheid — een van de eenheden erin wijst weer terug naar deze.
no employee is called …Het Afdelingshoofd komt met niemand in mTime overeen. Controleer de spelling — een naam met accent zonder dat accent getypt is de gebruikelijke oorzaak — of gebruik het e-mailadres.
more than one employee is called …Twee medewerkers hebben die naam, dus mTime kan ze niet uit elkaar houden. Gebruik het e-mailadres van degene die je bedoelt.
no employee has the email …Het e-mailadres bij Afdelingshoofd hoort bij niemand in mTime. Let op: het hoofd moet al bestaan — iemand die dezelfde werkmap net gaat aanmaken kan nog geen eenheid leiden.
Invalid work country …De cel Werkland is geen ISO-code. Gebruik twee hoofdletters, bijv. DK.
Work country … is not in the workspace's permitted work countriesDe code is geldig maar jullie werkruimte gebruikt dat land niet. Voeg het toe bij de werklanden, of kies een ander.
Employee ID … does not existDe cel bevat een UUID die niet in deze werkruimte bestaat. Gebruik in plaats daarvan initialen of een personeelsnummer, of laat hem leeg om de persoon aan te maken.
Full Name is requiredVul hem in — hij is ook bij updates verplicht.
email … is already used by another employeeTwee personen kunnen geen e-mailadres delen. Zoek naar een dubbele rij of een oud record.
external id … is already used by another employeeIemand anders draagt dat externe id al. Twee personen kunnen er niet één delen.
external id … is given to more than one person on this sheetTwee rijen dragen hetzelfde externe id. Eén waarde per persoon.
invalid Birth Date … — use a date cell, or text in YYYY-MM-DD formDe cel is tekst die geen ISO-datum is. Maak de kolom op als datum en typ de waarde opnieuw, of schrijf haar als YYYY-MM-DD.
invalid Birth Date … — this looks like an Excel date serialDe cel bevat het getal waarmee Excel een datum opslaat (zoiets als 46264), omdat de kolom haar datumopmaak kwijt is. Maak de kolom op als datum en het getal wordt weer de datum waar het voor staat.
Employment End requires Employment StartVoeg de begindatum toe, of wis de einddatum.
Org Unit / Manager / Terms / norm require Employment StartDeze horen bij het dienstverband, dus het dienstverband heeft een begindatum nodig.
unknown or ambiguous org unit …De naam komt met geen enkele organisatie-eenheid overeen, of met meer dan één. Zet hem op het blad Org Units, of maak hem eerst aan of hernoem hem in mTime.
unknown or ambiguous manager …Niemand met die naam of dat e-mailadres staat in mTime of op het blad Employees — of er zijn er twee. Controleer de spelling, of gebruik zijn e-mailadres.
unknown or ambiguous employment terms …Hetzelfde, voor arbeidsvoorwaarden.
Employment terms … are not available for this employment's work country or org unitDe voorwaarden bestaan, maar zijn beperkt tot een ander land of een ander deel van de organisatie. Verbreed hun beschikbaarheid of kies andere voorwaarden.
Weekly Norm must equal the sum of the Mon–Sun day hoursDe twee manieren om de norm te schrijven komen niet overeen. Corrigeer er één, of verwijder er één.
Weekly Norm must be greater than zeroEen norm van nul is geen norm. Laat de kolommen liever leeg.
… : must be TRUE or FALSEEen ja/nee-attribuutkolom. Schrijf TRUE of FALSE; een selectievakje uit de spreadsheet werkt ook.
… : must be one of: …Een keuzelijstattribuut. De melding somt de opties op — gebruik er een, precies zo gespeld, of voeg de optie toe in de instellingen.
… : must be a valid number / must be a valid date (YYYY-MM-DD)Een attribuutkolom met iets wat het type niet accepteert. Haal eenheden en scheidingstekens voor duizendtallen uit getallen, en geef datums een echte datumcel of tekst in de vorm YYYY-MM-DD.
… : must be unique, and this value is already in useEen ander record heeft die waarde al in een uniek attribuut. De melding noemt de kolom en met opzet niet de waarde.
… : must be unique, and another row of this sheet gives the same valueTwee rijen op het blad claimen dezelfde waarde voor een uniek attribuut.
attribute "…" is managed by an integration and cannot be importedEen gekoppeld systeem beheert dat attribuut. Wijzig de waarde in dat systeem, of maak de kolom leeg.
attribute key "…" is reserved: define it on the workspace before a sheet may write itDe kolom noemt een standaardattribuut van mTime, waarvan de sleutels met een liggend streepje beginnen. Voeg het attribuut eerst toe bij de aangepaste attributen en download daarna de sjabloon opnieuw.
… : an employment attribute requires Employment StartDe rij maakt een nieuwe persoon aan en heeft dus een dienstverband nodig om de waarde op te bewaren. Vul Datum in dienst in.
… : this employee has no employment record to store the value onDe persoon bestaat, maar heeft geen dienstverband. Geef hem er een in mTime en importeer de kolom daarna opnieuw.
Employee ID is required (blad Accounts)Elke saldorij moet zeggen van wie het saldo is.
employee … not found (blad Accounts)Er bestaat niemand met dat ID, en geen enkele rij in het blad Employees maakt hem in deze import aan. Importeer eerst het blad Employees, of gebruik Alles .
unknown or ambiguous account …Een kolomkop in het blad Accounts komt niet overeen met een tijdaccount — vaak een vergeten notitiekolom, een typefout of de verkeerde eenheid tussen haakjes.
invalid amount …De cel is geen kaal getal. Haal eenheden, spaties en scheidingstekens voor duizendtallen weg en gebruik een punt voor decimalen.
unknown Absence Type …De naam komt met geen enkele verlofactiviteit in jullie werkruimte overeen. Controleer de spelling in Instellingen → Activiteiten.
Absence Type … matches more than one time-off activityTwee verlofactiviteiten delen die naam. Hernoem er één voordat je importeert.
Already Deducted is required when the absence overlaps the Import DateDe afwezigheid valt over jullie overgangsdatum heen, dus mTime kan niet weten of ze al in het geïmporteerde saldo zit. Zet de cel zelf op TRUE of FALSE.
Hours applies to a single dayUren werken alleen als begin en einde dezelfde dag zijn. Splits de periode in één rij per gedeeltelijke dag.
End Date is required (blad Absence)Afwezigheid zonder einddatum kan niet worden geïmporteerd. Geef haar een einddatum, of voer haar in mTime in.
no employment covers …De medewerker heeft geen dienstverband op die datums, dus er is geen arbeidsnorm om de afwezigheid op vast te leggen. Controleer de datums, of de begindatum van het dienstverband.
overlaps Absence row … for the same employeeTwee rijen voor één medewerker beslaan dezelfde dag. Splits ze zodat de periodes niet overlappen — één rij per afwezigheid.
Employee ID is required (blad Children)Elke rij met een kind moet zeggen van wie het kind is.
employee … not found (blad Children)Er bestaat niemand met dat ID, en geen enkele rij in het blad Employees maakt hem in deze import aan. Importeer het blad Employees mee, of gebruik Alles .
fill in Child Birth Date or Due DateEen kind heeft een van de twee datums nodig: de geboortedatum zodra het kind geboren is, tot dan de uitgerekende datum.
Child Birth Date … is in the futureEen geboortedatum betekent dat de geboorte al heeft plaatsgevonden. Zet een verwachte geboorte in Uitgerekende datum.
invalid Parent Role …Kies een van de vier rollen uit de keuzelijst, of laat de cel leeg.
this child appears more than once on this sheetTwee rijen voor één medewerker hebben dezelfde naam van het kind en dezelfde datum. Verwijder er één — of geef bij een tweeling elk kind een eigen naam.

Beperkingen

Bestandsformaat.xlsx (Excel 2007 en later). .xls-, CSV- en Numbers-bestanden worden niet geaccepteerd
Maximale bestandsgrootte100 MB
Gelezen bladenOrg Units, Employees, Accounts, Absence en Children, met hun Engelse naam of hun naam in een van de talen van mTime — andere worden genegeerd
VerwijderingenNooit
Een attribuut wissenNiet mogelijk vanuit de werkmap — een lege attribuutcel laat de waarde staan

Rechten

Het downloaden van de sjabloon, het uploaden en het uitvoeren van een Excel-import vereisen allemaal het recht import. Een Eenvoudige Excel-werkmap uit de werkruimte produceren vereist het recht export.