Onshelf Guide Guide

The four doors

Onshelf replaces field execution, reporting and the agency back office with one product. Each kind of user gets their own door into the same truth.

One login for every door

On the demo, demo@onshelf.app with the password Onshelf!demo1 signs in at any door — the manager portal as Dana, the field app as Marc, the client portal as the Maple Foods viewer, the admin console as the platform admin. Several people can use it at the same time. The named demo accounts on the landing page still work with the same password.

DoorWho signs inWhat it is for
Manager portal /portal/Managers and supervisorsPlan the work, dispatch it, review what came back, report on it
Field app /field/MerchandisersThe day's calls, on a phone, in the aisle — works offline
Brand portal /client/Client brandsAsk for work, approve the scope, watch it run, read the proof
Admin console /admin/Platform operatorsAgencies on the platform, and the health of the system

Your language

Every account opens in English. Press FR once and the whole app flips in place — nothing reloads, nothing you were typing is lost — and the choice is saved to your account. Your next sign-in opens in French, on any device.

The language follows the reader, never the store. A Québec manager reading in English sees English; a colleague reading the same screen in French sees French.

Reading the numbers — five rules that hold on every screen

—Missing data is an em dash, never a zero. A dash means “not measured”. A 0 means “measured, and it was zero”. They are different facts and the product never confuses them.
n=…Every percentage shows the count it was computed from. A rate with no basis is not shown at all.
SAMPLEAnything simulated says so, on the screen that shows it — not in a footnote somewhere else.
>100%A figure above 100% is disclosed as it stands. It is never quietly capped, because a capped number hides the problem that produced it.
SQLEvery number on screen can be reproduced from the database. Nothing is modelled or invented — and there is deliberately no sales-lift or ROI figure anywhere.
If a screen shows you a dash where you expected a number, that is the product refusing to guess. Ask what was never captured — the answer is usually more useful than the number would have been.

Les quatre portes

Onshelf remplace l'exécution terrain, les rapports et l'arrière-guichet de l'agence par un seul produit. Chaque type d'utilisateur a sa propre porte vers la même vérité.

Une seule connexion pour toutes les portes

Sur la démo, demo@onshelf.app avec le mot de passe Onshelf!demo1 ouvre n'importe quelle porte — le portail de gestion en tant que Dana, l'application terrain en tant que Marc, le portail client en tant que lecteur Maple Foods, la console d'administration en tant qu'administrateur de la plateforme. Plusieurs personnes peuvent l'utiliser en même temps. Les comptes nommés de la page d'accueil fonctionnent toujours avec le même mot de passe.

PorteQui s'y connecteÀ quoi elle sert
Portail gestionnaire /portal/Gestionnaires et superviseursPlanifier le travail, le répartir, réviser ce qui revient, en faire rapport
Application terrain /field/MarchandiseursLes visites de la journée, sur téléphone, dans l'allée — fonctionne hors ligne
Portail de marque /client/Marques clientesDemander du travail, approuver la portée, suivre l'exécution, lire la preuve
Console d'administration /admin/Exploitants de la plateformeLes agences sur la plateforme, et la santé du système

Votre langue

Chaque compte s'ouvre en anglais. Appuyez une fois sur FR et toute l'application bascule sur place — rien ne se recharge, rien de ce que vous saisissiez n'est perdu — et le choix est enregistré dans votre compte. Votre prochaine connexion s'ouvrira en français, sur n'importe quel appareil.

La langue suit la personne qui lit, jamais le magasin. Une gestionnaire québécoise qui lit en anglais voit l'anglais ; sa collègue qui lit le même écran en français voit le français.

Lire les chiffres — cinq règles valables sur tous les écrans

—Une donnée absente s'affiche par un tiret, jamais par un zéro. Le tiret veut dire « non mesuré ». Le 0 veut dire « mesuré, et le résultat était zéro ». Ce sont deux faits distincts et le produit ne les confond jamais.
n=…Chaque pourcentage affiche le décompte dont il est tiré. Un taux sans base n'est tout simplement pas affiché.
SAMPLETout ce qui est simulé le dit, sur l'écran même qui l'affiche — pas dans une note ailleurs.
>100 %Un chiffre supérieur à 100 % est présenté tel quel. Il n'est jamais plafonné en silence, car un chiffre plafonné masque le problème qui l'a produit.
SQLChaque chiffre à l'écran peut être reproduit à partir de la base de données. Rien n'est modélisé ni inventé — et il n'y a délibérément aucun chiffre de lift de ventes ni de RCI nulle part.
Si un écran affiche un tiret là où vous attendiez un chiffre, c'est le produit qui refuse de deviner. Demandez plutôt ce qui n'a jamais été saisi : la réponse est généralement plus utile que le chiffre ne l'aurait été.

Manager portal

The left rail is grouped: Overview · Execution (work orders, task board, stamp wizard, unclaimed work, report builder, notify) · Field quality (photo review, team activity, field reports, credentials, completed reports) · Insights (reports, audit results) · Organization (locations, reps, organization). Anything marked NEW arrived with the agency's working-day waves and is described at the end of this section.

Supervisors see the same screens, scoped to their own territories — on what they read and on what they change. They cannot grant or edit credentials; that signature is a manager's.

Dashboard — your morning

Visits today and this week, planned against completed and missed. Below that, one merged feed in the order a manager should meet it: decisions waiting on you first (oldest overdue first), then the billing queue, then the week's recorded exceptions. Forecast cards sit alongside, each with its basis.

Task board

Filter by status, priority, territory, banner, assignee, or overdue only. An unknown filter value is refused rather than ignored, and if the server holds more rows than the page loaded, the board says so instead of presenting the page as the whole set.

Click any row for the task drawer: the timeline on the store's own clock (the zone is named), review actions, and reassignment.

  • Review — start review, then approve (a note is optional) or reopen (a note is required, because the rep reads it).
  • Missed tasks offer Revive → reassign.
  • Reassign works on assigned, accepted and reopened tasks only. Executed work is a record, not a field. If the new person lacks a credential the store demands, the server refuses and the drawer reveals a reason box — a typed reason of at least ten characters is recorded under your name. Some credentials cannot be overridden by anyone, and the drawer says so plainly. Assigning an audit to the person who did the work being audited needs an independence reason.

Creating work — two paths, deliberately different

Stamp wizard — for the same job across many stores.

  1. Choose a template, or press + New template and author one: English title required, French optional (leave it empty and every app shows an honest (EN) badge rather than pretending), category, and the rep's form field by field. A number field can carry a shelf meaning — our facings, SKUs out of stock — so the answer feeds availability reporting instead of sitting in a form.
  2. Target the stores by province, territory or banner. The matching count updates as you narrow it.
  3. Dates and priority → Create tasks. Assignment follows the territory owner and respects credential gates; the receipt names who got what.
If Create tasks is greyed out, the line under it names the missing step — usually no template chosen in step 1, or a filter in step 2 that matches no stores.

New task — for the one store that just phoned. It sits beside the filters on the task board.

  1. Territory → store → assignee. The store list narrows to the territory you pick, and that territory's own reps are listed first.
  2. Title and instructions. English required, French optional with the same (EN) badge.
  3. Priority and dates → Create the task. A due date before the scheduled date disables the button and says why.
A task with no template carries no structured form. The rep sees your title and instructions, and can still attach photos and raise issues — but nothing prompts them field by field. The card says so on its face rather than letting you assume otherwise.

Photo review — the coaching loop

Filter by status, category and territory; the category filter runs on the server, and the queue states how many photos match and how many this page loaded. Before/after pairs render side by side.

  • Reject requires a coded reason — blurry, wrong section, price tags not visible, incomplete execution, wrong store. A code translates and it coaches; free text does neither reliably.
  • Corrective ticket creates a high-priority task at that store for that rep, due by rule: tomorrow when it is blocking sales, otherwise in three days.
  • Comments with @mentions notify the person named.

Team activity

  • Coverage by territory — stores visited divided by every store in the territory. It is a census, not a sample, so its colour holds at any size.
  • Rep scorecards — on-time, visits per day, photo rejection, completion, each with its basis. A sampled rate below ten observations carries no colour. “Issues raised” is a count, never a penalty: a rep who reports problems is doing the job.
  • Unplanned calls are reported beside the plan, never inside it. A make-up call does not repair a coverage gap, and the number should not pretend it does.
  • Geofence override requests surface at the top when a rep is blocked at a door. Granting one records your name on the visit and tells the rep; the distance stays on the record permanently.

Credentials

Grant, renew and revoke what each person holds, and edit the catalog itself. A credential's name follows the same language rule as everything else you author here: English required, French optional — leave French empty and every screen shows the honest (EN) badge instead of passing English off as a translation. The radar counts scheduled visits that depend on a credential expiring inside the window — a count with the people named, not a percentage nobody can act on. Revoking renders as missing, never as back-dated expiry, because those are different facts.

Reports and forecasts

Build a report from datasets, dimensions and measures; save the view, deep-link it, export CSV or PDF, or schedule it. Saved views can be deleted by their owner or by a manager.

Forecasts are derived when you read them, never stored: completion trend, coverage projection, and per-store out-of-stock risk. Each carries n=, its window and its method, and where the data is too thin it says “insufficient data” instead of guessing.

The current wave — your morning, the agency way

A wave is a work order seen from the agency's desk: a store list for a window, planned, visited, verified, settled. The dashboard opens on the Current wave band — the wave whose window contains today — with six tiles that each carry their denominator: Planned, Completed (submitted, under review or approved; the blocked ones are disclosed inside it), Still to complete (no report yet), Flagged, Reports to approve, Needs recruitment, and a seventh, Not done — store cause. The definitions are printed under the band, in your language, because a count you cannot define is a count you cannot defend.

Under the band, the wave store sheet: every store of the wave with its regional manager, territory, rep, estimated and actual hours and km, report status (Missing · To verify · Approved), flag, reported date, and the two settlement marks. Search by store number, name, address, city or postal code; filter by regional manager, territory, rep, status, flag. Export this wave gives you the sheet as Excel or CSV — hours and km, never a rate or an amount.

Planning the wave

Open the wave → Planning. One row per store: estimated minutes and km, a route group, a note, a rep override (the dry-run plan and the dispatch honour it), and a planning status — Needs recruitment marks the stores nobody can cover, in red, counted on the band. Totals sit in the footer, over the rows that carry a figure.

The same tab holds the brief: ten lines in English and French, one PDF, and Notify reps. The reps see both at the top of their task. The receipt tells you how many were notified in the app — no e-mail leaves the product, and the screen says so rather than letting you assume.

Report builder

Execution → Report builder lists every form the reps fill in, with its version and when it was last edited. A report has sections (each with a description and, if you like, a reference photo of what the display should look like) and questions of every kind the field needs: yes/no, date, time, number, short answer, paragraph, single and multiple choice (with an “Other…”), and a photo attached to the question. Mark a question Required and the server refuses a submission without it. Insert a preset question drops in the standard ones — time in store, mileage, display built, stock filled, “could the work be done? if not, the store's reason”, competitors, other comments. Set the time allowed per visit and the rep sees it as “Allowed: 1.5 h”.

Editing a report saves a new version. A rep who already holds the form keeps exactly the form they were sent; the new version goes to the next tasks. Nothing in flight ever changes under a rep's thumb.

Since the agency's review (Wave 17): Category and Shelf category are out of the form unless the Advanced template fields feature is on (Settings → Workspace features); Time allowed per visit is entered in hours by quarter hour and shown as "0.75 h"; a section's reference picture can be attached while creating the report, and reps now see it on their tasks (a defect that kept the picture off stamped tasks was fixed); Choice (one) offers an Other… with a short explanation; a question label too long to make a key is reported on that question, not under the template code. In the wave brief, a line starting with "-" or "•" becomes a bullet for the rep, in the preview and in the e-mail.

Completed reports, corrections and the client report

Field quality → Completed reports is what the brand receives: approved reports only, as Reports (a table with hours, km, reported date, flags) and Pictures. Open a report to read every answer by section, with its photos under the question, the time in store and the km, and the paid / billed marks.

You can Correct an answer — a new value and a reason — and raise an Issue on it (open, corrected, follow-up, with a follow-up note). A correction changes what the report says, never what the rep said: the original stays on record beside it, the client sees the corrected value and your issue text, never the reason or the author. Filters on the page find the corrected and the annotated ones.

Client report (Excel) produces the workbook the agency sends its client: one row per answer — Date · Store · City · Question · Answer · Issue · Issue corrected · Photos — plus an Issues sheet, with photo links that live thirty days. The Rows tab shows the same rows on screen, so the sheet and the page can never disagree.

Locations and Reps

Organization → Locations is every store: regional manager, territory owner, display type, on a map (stores without coordinates are counted and listed rather than placed by guesswork). Add a location one at a time, or Add in bulk: paste your store list in the columns you already use — account, store number, chain, address, city, province, postal code, phone, rep, display type, kit, time, fuel — and the dry run names every duplicate, unknown chain and unresolved territory before anything is written. Select stores → Create visits books one task and one visit per store for the report and the rep you choose.

Organization → Reps is the roster: name, e-mail, phone, role (including regional manager), scope, active, invitation status. Add a merchandiser gives you an invitation link to copy — the person sets their own password and becomes active only then. No e-mail is sent; the screen says so.

Since the agency's review (Wave 17): Locations filters by Province then Territory; a Seed starting kit column reads Yes / No / — and is set on the store form; Territory owner is the store's own rep, chosen on the form — until one is chosen the column shows the rep derived from the territory, marked derived; + New banner creates a chain that is not listed. A store added without coordinates is located automatically from its address and marked approximate until someone confirms or moves the pin — click the map to pin it; a store that cannot be located says so rather than showing a guessed dot. Import messages say what to change, an unknown chain or territory can be created from the dialog, and a row without coordinates is located after the import. The Reps page shows Provinces and Territories, and the form asks for the province first.

Notify, photos in bulk, share by link

Execution → Notify sends a message to the reps of a wave, a territory or a hand-picked list, from a template or free text, in both languages. It lands in their Alerts; the receipt says exactly what was and was not sent. Photo review now selects many photos at once — approve, reject with a coded reason, or remove with a reason (a removed photo disappears from every screen and export; nothing is hard-deleted). Share these photos on a report, or Copy link on a photo, gives a link that opens a gallery of the approved photos and dies on the date you choose.

Settings — Workspace features and Territories — NEW

Organization → Settings → Workspace features lists every feature that can be hidden for your organization — the Organization page, the Audit results page, the Reports page with its worksheets, and the Advanced template fields of the report builder — with Visible / Hidden, who hid it and when, and a Turn back on switch. Hiding only hides screens: nothing is deleted, and reports and exports keep working. Opening a hidden page by its address lands on the dashboard with a note pointing here. Managers and tenant admins switch; supervisors read.

Organization → Settings → Territories is your regions, grouped by province: add one under a province, rename it (every store and person follows), delete it only while it has no store and no person — the button tells you why otherwise.

Settings — photo retention (ships off)

Organization → Settings. Off for every agency until a manager switches it on. Then: a window in days (180 by default), a Preview that asks the server how many photos would be removed now and changes nothing, a Run now that repeats those numbers before it acts, and a log of every nightly and manual run. Two stages: at N days the photo leaves every screen, export and share link while its row stays marked "removed per retention policy"; 30 days later the file is purged from disk and the row still stays. Supervisors read the page and cannot change it.

E-mail and push — three honest lines on every receipt

Nothing is approved by a clock any more: the 72-hour auto-approve is gone and a submitted report waits for a reviewer. Every message the portal sends reports in-app, e-mail and push separately — "Delivered in-app to 3 reps · E-mail: not sent — no mail service is configured · Push: sent to 1 of 2 subscribed devices". E-mail starts the day the deployment has mail credentials (invitations, issue alerts, wave instructions, Notify); until then the Reps page says so beside the copy-link field. Push reaches the reps who turned it on in their Profile.

Paid to rep · billed to client

Two marks on each store of the wave sheet, set by a manager's hand — a supervisor sees them and cannot set them. They record that a payment or an invoice happened elsewhere: no amount, no rate, no balance is kept here, nothing is moved, and nothing is ever approved by a clock.

Portail gestionnaire

La barre de gauche est groupée : Aperçu · Exécution (bons de travail, tableau des tâches, assistant blitz, travail non réservé, concepteur de rapports, aviser) · Qualité terrain (révision des photos, activité de l'équipe, rapports terrain, attestations, rapports complétés) · Analyses (rapports, résultats d'audit) · Organisation (emplacements, marchandiseurs, organisation). Tout ce qui porte la mention NOUVEAU est arrivé avec les vagues de la journée de travail de l'agence et est décrit à la fin de cette section.

Les superviseurs voient les mêmes écrans, limités à leurs propres territoires — autant pour ce qu'ils lisent que pour ce qu'ils modifient. Ils ne peuvent ni accorder ni modifier d'attestations : cette signature revient aux gestionnaires.

Tableau de bord — votre matinée

Les visites du jour et de la semaine, planifiées contre terminées et manquées. Dessous, un fil unique dans l'ordre où un gestionnaire devrait le rencontrer : d'abord les décisions qui vous attendent vous (les plus en retard en premier), puis la file de facturation, puis les exceptions consignées cette semaine. Les cartes de prévision se tiennent à côté, chacune avec sa base.

Tableau des tâches

Filtrez par statut, priorité, territoire, bannière, personne assignée ou en retard seulement. Une valeur de filtre inconnue est refusée plutôt qu'ignorée, et si le serveur contient plus de lignes que la page n'en a chargées, le tableau le dit au lieu de présenter la page comme l'ensemble complet.

Cliquez sur une ligne pour ouvrir le tiroir : la chronologie à l'heure du magasin (le fuseau est nommé), les actions de révision et la réassignation.

  • Révision — démarrer la révision, puis approuver (note facultative) ou rouvrir (note obligatoire, puisque le marchandiseur la lira).
  • Les tâches manquées offrent Réactiver → réassigner.
  • Réassigner ne fonctionne que sur les tâches assignées, acceptées ou rouvertes. Le travail exécuté est un dossier, pas un champ modifiable. Si la nouvelle personne n'a pas une attestation exigée par le magasin, le serveur refuse et le tiroir révèle une zone de justification — une raison saisie d'au moins dix caractères est consignée à votre nom. Certaines attestations ne souffrent aucune dérogation, et le tiroir le dit clairement. Confier un audit à la personne qui a fait le travail audité exige une justification d'indépendance.

Créer du travail — deux chemins, volontairement différents

Assistant blitz — pour le même mandat dans plusieurs magasins.

  1. Choisissez un modèle, ou appuyez sur + Nouveau modèle pour en créer un : titre anglais obligatoire, français facultatif (laissez-le vide et chaque application affichera honnêtement la pastille (EN) plutôt que de faire semblant), catégorie, puis le formulaire du marchandiseur champ par champ. Un champ numérique peut porter un sens de tablette — nos façades, UGS en rupture — pour que la réponse alimente les rapports de disponibilité au lieu de dormir dans un formulaire.
  2. Ciblez les magasins par province, territoire ou bannière. Le nombre de correspondances se met à jour à mesure que vous précisez.
  3. Dates et priorité → Créer les tâches. L'assignation suit le responsable du territoire et respecte les exigences d'attestation ; le reçu nomme qui a reçu quoi.
Si Créer les tâches est grisé, la ligne en dessous nomme l'étape manquante — généralement aucun modèle choisi à l'étape 1, ou un filtre à l'étape 2 qui ne correspond à aucun magasin.

Nouvelle tâche — pour le seul magasin qui vient d'appeler. Le bouton se trouve à côté des filtres du tableau des tâches.

  1. Territoire → magasin → personne assignée. La liste des magasins se limite au territoire choisi, et les marchandiseurs de ce territoire apparaissent en premier.
  2. Titre et directives. Anglais obligatoire, français facultatif avec la même pastille (EN).
  3. Priorité et dates → Créer la tâche. Une date d'échéance antérieure à la date prévue désactive le bouton et en explique la raison.
Une tâche sans modèle ne porte aucun formulaire structuré. Le marchandiseur voit votre titre et vos directives, et peut toujours joindre des photos et signaler des problèmes — mais rien ne le guide champ par champ. La fiche le dit d'emblée plutôt que de vous laisser supposer le contraire.

Révision des photos — la boucle d'accompagnement

Filtrez par statut, catégorie et territoire ; le filtre de catégorie s'applique sur le serveur, et la file indique combien de photos correspondent et combien cette page en a chargées. Les paires avant/après s'affichent côte à côte.

  • Rejeter exige une raison codée — floue, mauvaise section, étiquettes de prix illisibles, exécution incomplète, mauvais magasin. Un code se traduit et accompagne ; du texte libre ne fait ni l'un ni l'autre de façon fiable.
  • Billet correctif crée une tâche prioritaire dans ce magasin pour ce marchandiseur, avec une échéance déterminée par règle : demain si les ventes sont bloquées, sinon dans trois jours.
  • Les commentaires avec @mentions avisent la personne nommée.

Activité de l'équipe

  • Couverture par territoire — magasins visités divisés par tous les magasins du territoire. C'est un recensement, pas un échantillon : sa couleur tient à n'importe quelle taille.
  • Fiches de rendement — ponctualité, visites par jour, rejets de photos, complétion, chacune avec sa base. Un taux échantillonné sous dix observations ne porte aucune couleur. « Problèmes signalés » est un décompte, jamais une pénalité : une personne qui signale les problèmes fait son travail.
  • Les visites non planifiées sont rapportées à côté du plan, jamais dedans. Une visite de rattrapage ne répare pas un écart de couverture, et le chiffre ne doit pas prétendre le contraire.
  • Les demandes de dérogation au géorepérage remontent en tête quand un marchandiseur est bloqué à la porte. En accorder une consigne votre nom sur la visite et en avise la personne ; la distance reste au dossier de façon permanente.

Attestations

Accordez, renouvelez et révoquez ce que chaque personne détient, et modifiez le catalogue lui-même. Le nom d'une attestation suit la même règle linguistique que tout ce que vous rédigez ici : anglais obligatoire, français facultatif — laissez le français vide et chaque écran affichera honnêtement la pastille (EN) plutôt que de faire passer l'anglais pour une traduction. Le radar compte les visites planifiées qui dépendent d'une attestation expirant dans la fenêtre — un décompte avec les personnes nommées, pas un pourcentage sur lequel personne ne peut agir. Une révocation s'affiche comme manquante, jamais comme une expiration antidatée : ce sont deux faits différents.

Rapports et prévisions

Construisez un rapport à partir des jeux de données, dimensions et mesures ; enregistrez la vue, partagez son lien, exportez en CSV ou PDF, ou planifiez son envoi. Les vues enregistrées peuvent être supprimées par leur auteur ou par un gestionnaire.

Les prévisions sont calculées au moment où vous les lisez, jamais stockées : tendance de complétion, projection de couverture et risque de rupture par magasin. Chacune porte son n=, sa fenêtre et sa méthode, et là où les données sont trop minces, elle affiche « données insuffisantes » au lieu de deviner.

La vague en cours — votre matin, à la manière de l'agence

Une vague, c'est un bon de travail vu du bureau de l'agence : une liste de magasins pour une fenêtre, planifiée, visitée, vérifiée, réglée. Le tableau de bord s'ouvre sur la bande Vague en cours — celle dont la fenêtre comprend aujourd'hui — avec six tuiles qui portent chacune leur dénominateur : Planifiés, Complétés (soumis, en révision ou approuvés ; les bloqués y sont déclarés), Restant à compléter (aucun rapport encore), Signalés, Rapports à approuver, Recrutement requis, et une septième, Non fait — cause magasin. Les définitions sont imprimées sous la bande, dans votre langue, parce qu'un compte qu'on ne peut définir est un compte qu'on ne peut défendre.

Sous la bande, la feuille des magasins de la vague : chaque magasin avec son gestionnaire régional, son territoire, son marchandiseur, les heures et km estimés et réels, le statut du rapport (Rapport manquant · À vérifier · Approuvé), le signalement, la date de rapport et les deux marques de règlement. Cherchez par numéro, nom, adresse, ville ou code postal ; filtrez par gestionnaire régional, territoire, marchandiseur, statut, signalement. Exporter cette vague donne la feuille en Excel ou CSV — des heures et des km, jamais un tarif ni un montant.

Planifier la vague

Ouvrez la vague → Planification. Une ligne par magasin : minutes et km estimés, groupe de tournée, note, un marchandiseur imposé (le plan d'essai et l'envoi le respectent) et un statut de planification — Recrutement requis marque en rouge les magasins que personne ne peut couvrir, comptés sur la bande. Les totaux sont au pied, sur les lignes qui portent un chiffre.

Le même onglet porte les consignes : dix lignes en français et en anglais, un PDF, et Aviser les marchandiseurs. Ils voient les deux en tête de leur tâche. Le reçu dit combien ont été avisés dans l'application — aucun courriel ne sort du produit, et l'écran le dit plutôt que de vous laisser le supposer.

Concepteur de rapports

Exécution → Concepteur de rapports liste chaque formulaire que remplissent les marchandiseurs, avec sa version et sa dernière modification. Un rapport a des sections (chacune avec une description et, si vous voulez, une photo de référence de ce à quoi le présentoir doit ressembler) et des questions de tous les types dont le terrain a besoin : oui/non, date, heure, nombre, réponse courte, paragraphe, choix unique ou multiple (avec un « Autre… »), et une photo rattachée à la question. Cochez Obligatoire et le serveur refuse une soumission sans réponse. Insérer une question prédéfinie place les questions standard — temps en magasin, kilométrage, présentoir monté, stock garni, « le travail a-t-il pu être fait ? sinon, la raison du magasin », concurrents, autres commentaires. Fixez le temps alloué par visite et le marchandiseur le voit comme « Alloué : 1,5 h ».

Modifier un rapport enregistre une nouvelle version. Un marchandiseur qui tient déjà le formulaire garde exactement celui qu'on lui a envoyé ; la nouvelle version va aux tâches suivantes. Rien en cours ne change jamais sous le pouce d'un marchandiseur.

Depuis la revue de l'agence (vague 17) : Catégorie et Catégorie de rayon ne figurent plus dans le formulaire sauf si la fonction Champs avancés des modèles est activée (Paramètres → Fonctions de l'espace de travail) ; le Temps alloué par visite se saisit en heures par quart d'heure et s'affiche « 0,75 h » ; la photo de référence d'une section s'ajoute dès la création du rapport, et les marchandiseurs la voient maintenant sur leurs tâches (un défaut qui la retenait a été corrigé) ; Choix (un seul) offre une option Autre… avec une courte explication ; un libellé de question trop long pour former une clé est signalé sur cette question, pas sous le code du modèle. Dans les consignes de la vague, une ligne qui commence par « - » ou « • » devient une puce pour le marchandiseur, dans l'aperçu et dans le courriel.

Rapports complétés, corrections et rapport client

Qualité terrain → Rapports complétés, c'est ce que la marque reçoit : les rapports approuvés seulement, en Rapports (un tableau avec heures, km, date de rapport, signalements) et en Photos. Ouvrez un rapport pour lire chaque réponse par section, ses photos sous la question, le temps en magasin et les km, et les marques payé / facturé.

Vous pouvez corriger une réponse — une nouvelle valeur et une raison — et y lever un problème (ouvert, corrigé, suivi, avec une note de suivi). Une correction change ce que dit le rapport, jamais ce qu'a dit le marchandiseur : l'original reste au dossier à côté, le client voit la valeur corrigée et votre texte de problème, jamais la raison ni l'auteur. Les filtres de la page retrouvent les rapports corrigés et annotés.

Rapport client (Excel) produit le classeur que l'agence envoie à son client : une ligne par réponse — Date · Magasin · Ville · Question · Réponse · Problème · Problème corrigé · Photos — plus une feuille Problèmes, avec des liens photo valides trente jours. L'onglet Lignes montre les mêmes lignes à l'écran, pour que la feuille et la page ne puissent jamais se contredire.

Emplacements et marchandiseurs

Organisation → Emplacements, c'est tous les magasins : gestionnaire régional, marchandiseur du territoire, type de présentoir, sur une carte (les magasins sans coordonnées sont comptés et listés plutôt que placés au jugé). Ajouter un emplacement un à la fois, ou Ajouter en lot : collez votre liste dans les colonnes que vous utilisez déjà — compte, numéro de magasin, chaîne, adresse, ville, province, code postal, téléphone, marchandiseur, type de présentoir, trousse, temps, carburant — et l'essai nomme chaque doublon, chaîne inconnue et territoire non résolu avant d'écrire quoi que ce soit. Sélectionnez des magasins → Créer des visites réserve une tâche et une visite par magasin pour le rapport et le marchandiseur choisis.

Organisation → Marchandiseurs, c'est la liste : nom, courriel, téléphone, rôle (dont gestionnaire régional), portée, actif, statut d'invitation. Ajouter un marchandiseur vous donne un lien d'invitation à copier — la personne choisit son mot de passe et ne devient active qu'à ce moment. Aucun courriel n'est envoyé ; l'écran le dit.

Depuis la revue de l'agence (vague 17) : Emplacements se filtre par Province puis Territoire ; une colonne Trousse de semis affiche Oui / Non / — et se règle dans la fiche du magasin ; le Responsable du territoire est le marchandiseur du magasin, choisi dans la fiche — tant qu'aucun n'est choisi, la colonne montre le marchandiseur déduit du territoire, marqué déduit ; + Nouvelle bannière crée une chaîne absente de la liste. Un magasin ajouté sans coordonnées est localisé automatiquement à partir de son adresse et marqué approximatif jusqu'à ce que quelqu'un confirme ou déplace le point — cliquez sur la carte pour l'épingler ; un magasin introuvable le dit plutôt que d'afficher un point inventé. Les messages d'import disent quoi corriger, une chaîne ou un territoire inconnu peut être créé depuis la fenêtre, et une ligne sans coordonnées est localisée après l'import. La page Marchandiseurs affiche Provinces et Territoires, et le formulaire demande d'abord la province.

Aviser, photos en lot, partage par lien

Exécution → Aviser envoie un message aux marchandiseurs d'une vague, d'un territoire ou d'une liste choisie, à partir d'un modèle ou en texte libre, dans les deux langues. Il arrive dans leurs Alertes ; le reçu dit exactement ce qui a été envoyé et ce qui ne l'a pas été. La révision des photos sélectionne maintenant plusieurs photos à la fois — approuver, rejeter avec une raison codée, ou retirer avec une raison (une photo retirée disparaît de chaque écran et export ; rien n'est supprimé définitivement). Partager ces photos sur un rapport, ou Copier le lien sur une photo, donne un lien qui ouvre une galerie des photos approuvées et qui expire à la date choisie.

Paramètres — Fonctions de l'espace de travail et Territoires — NOUVEAU

Organisation → Paramètres → Fonctions de l'espace de travail liste chaque fonction que votre organisation peut masquer — la page Organisation, la page Résultats d'audit, la page Rapports avec ses feuilles de travail, et les champs avancés du concepteur de rapports — avec Affichée / Masquée, qui l'a masquée et quand, et un bouton Réactiver. Masquer ne fait que masquer des écrans : rien n'est supprimé, et les rapports comme les exportations continuent de fonctionner. Ouvrir une page masquée par son adresse ramène au tableau de bord avec une note qui pointe ici. Les gestionnaires et administrateurs changent l'état ; les superviseurs lisent.

Organisation → Paramètres → Territoires rassemble vos régions, groupées par province : ajoutez-en une sous une province, renommez-la (chaque magasin et chaque personne suivent), supprimez-la seulement tant qu'elle n'a ni magasin ni personne — le bouton explique pourquoi sinon.

Paramètres — conservation des photos (désactivée au départ)

Organisation → Paramètres. Désactivée pour chaque agence tant qu'un gestionnaire ne l'active pas. Ensuite : une fenêtre en jours (180 par défaut), un Aperçu qui demande au serveur combien de photos seraient retirées maintenant sans rien changer, un Exécuter maintenant qui répète ces chiffres avant d'agir, et un journal de chaque exécution nocturne ou manuelle. Deux étapes : à N jours, la photo disparaît de tous les écrans, exports et liens de partage, sa ligne restant marquée « retirée selon la politique de conservation » ; 30 jours plus tard, le fichier est purgé du disque et la ligne reste. Les superviseurs lisent la page sans pouvoir la modifier.

Courriel et notifications poussées — trois lignes honnêtes sur chaque reçu

Plus rien n'est approuvé par une horloge : l'approbation automatique après 72 heures a disparu et un rapport soumis attend un réviseur. Chaque message envoyé par le portail rend compte séparément de l'application, du courriel et de la notification poussée — « Remis dans l'application à 3 marchandiseurs · Courriel : non envoyé — aucun service de courriel configuré · Notification poussée : envoyée à 1 appareil abonné sur 2 ». Le courriel démarre le jour où le déploiement dispose d'identifiants de messagerie (invitations, alertes de problème, consignes de vague, Aviser) ; d'ici là, la page Marchandiseurs le dit à côté du lien à copier. La notification poussée rejoint les marchandiseurs qui l'ont activée dans leur Profil.

Payé au marchandiseur · facturé au client

Deux marques sur chaque magasin de la feuille de vague, posées de la main d'un gestionnaire — un superviseur les voit et ne peut pas les poser. Elles consignent qu'un paiement ou une facture a eu lieu ailleurs : aucun montant, aucun tarif, aucun solde n'est conservé ici, rien n'est déplacé, et rien n'est jamais approuvé par une horloge.

Field app

Built for a phone, one-handed, standing in an aisle. Install it from your browser's “add to home screen” and it runs like an app — including with no signal.

My Day

Your calls for today, in order, each with its store, its window and what it needs. If the day cannot be loaded, the screen says so and offers Retry — an empty day and a failed load look nothing alike, because acting on the wrong one wastes a trip.

Not on your route? Log a call that was not planned. It is recorded as unplanned and reported beside the plan, never folded into it.

Check-in and the geofence

  1. Check in when you arrive. The app confirms you are at the store.
  2. If you are too far away, check-in is blocked — and you can request an override with a note. A manager sees the request, your distance and your note, and can grant it.
  3. An override never hides the distance. It is recorded with the manager's name on it, which protects you as much as it protects the record.

The call itself

  • Accept a task, then start it at check-in. The form is whatever the template asked for — numbers, yes/no, text, photos.
  • Before and after photos are required on reset and display work, by rule. The pair travels together.
  • Submit with exceptions when the store stopped you: pick the coded reason. “The materials never arrived” is not filed as “the team did a poor job”, and that distinction follows the record all the way to the client.
  • Raise an issue for anything that needs a decision. Every issue you raise comes back to you with an answer — the loop closes.
  • Materials — confirm on site what actually arrived. The carrier's “delivered” is a tracking event; your confirmation is evidence. Only the second counts as proof.
  • Check out when you leave.

Offline

Work with no signal. Everything you do is queued on the device and syncs when you are back in coverage; the badge in the header tells you what is still waiting. Nothing is lost and nothing is sent twice.

Picking up more work

Unclaimed calls in your territories can be claimed from the app when you have room in your day.

The wave brief — NEW

When your task belongs to a wave, its brief sits at the top: the agency's ten lines, the PDF (opens online; offline the text is still there), and Allowed: 1.5 h when the agency set a time. A message from your manager arrives in Alerts with the wave it concerns.

Sections, new question types, time chips

Forms come in sections — “Section 2 of 3” — with a description and sometimes a picture of what the display should look like. Questions can be a date, a time, a paragraph, checkboxes with an “Other…”, or a photo attached to the question: tap “Take photo” right there. The time-in-store question offers chips — 30 · 45 · 60 · 90 min · other. Required questions are checked by the server at submit, and the sheet names the ones still missing instead of closing on you.

Answer “Could the work be done?” honestly: pick the store's reason and the submit sheet pre-ticks “submitted with exceptions” with the matching code.

Section pictures, "Other…", bullets — NEW

A section's reference picture shows at the top of the section — tap it to enlarge. Choice (one) is a list of options with an Other… row that asks you to say what. Bullet lines in the wave brief render as bullets. "Allowed 0.75 h" reads in quarter hours. The eye beside the password shows it while you type.

Times by hand

Forgot to check in, or no signal at the door? Enter times by hand on the visit: date, time in, time out, and a reason. The visit shows “entered by hand” from then on; if a GPS check-in existed it stays beside your entry, and nobody gets an on-time verdict from a time that was typed.

Your invitation

A new merchandiser receives a link from the agency, opens it on the phone, sets a password, and signs in through the field door. The link expires in a week; a used link says so.

Push notifications — NEW

Profile → Push notifications. One card, one honest state: unsupported on this browser · add Onshelf to your home screen first (iPhone) · not configured on this server · permission refused · off → Turn on · on. Once on, everything that lands in Alerts — a new task, the wave brief, a manager's message, an answer on an issue — also arrives as a push notification, and tapping it opens the right screen. Signing out turns it off on that device.

Application terrain

Conçue pour le téléphone, à une main, debout dans une allée. Installez-la depuis votre navigateur (« ajouter à l'écran d'accueil ») et elle fonctionne comme une application — même sans signal.

Ma journée

Vos visites du jour, dans l'ordre, chacune avec son magasin, sa fenêtre et ce qu'elle demande. Si la journée ne peut pas être chargée, l'écran le dit et propose Réessayer — une journée vide et un chargement échoué ne se ressemblent pas du tout, car se tromper de lecture fait perdre un déplacement.

Pas sur votre route ? Consignez une visite non planifiée. Elle est enregistrée comme telle et rapportée à côté du plan, jamais fondue dedans.

Arrivée et géorepérage

  1. Enregistrez votre arrivée en entrant. L'application confirme que vous êtes bien au magasin.
  2. Si vous êtes trop loin, l'arrivée est bloquée — et vous pouvez demander une dérogation avec une note. Un gestionnaire voit la demande, votre distance et votre note, et peut l'accorder.
  3. Une dérogation ne cache jamais la distance. Elle est consignée avec le nom du gestionnaire, ce qui vous protège autant que le dossier.

La visite elle-même

  • Acceptez une tâche, puis démarrez-la à votre arrivée. Le formulaire est celui que le modèle a demandé — nombres, oui/non, texte, photos.
  • Les photos avant et après sont obligatoires pour les réinitialisations et les présentoirs, par règle. La paire voyage ensemble.
  • Soumettre avec exceptions quand le magasin vous a bloqué : choisissez la raison codée. « Le matériel n'est jamais arrivé » n'est pas consigné comme « l'équipe a mal travaillé », et cette distinction suit le dossier jusqu'au client.
  • Signalez un problème pour tout ce qui exige une décision. Chaque problème que vous signalez vous revient avec une réponse : la boucle se ferme.
  • Matériel — confirmez sur place ce qui est réellement arrivé. Le « livré » du transporteur est un événement de suivi ; votre confirmation est une preuve. Seule la seconde compte.
  • Enregistrez votre départ en partant.

Hors ligne

Travaillez sans signal. Tout ce que vous faites est mis en file sur l'appareil et se synchronise dès le retour du réseau ; la pastille dans l'en-tête indique ce qui attend encore. Rien n'est perdu et rien n'est envoyé deux fois.

Prendre du travail supplémentaire

Les visites non réservées de vos territoires peuvent être réservées depuis l'application quand votre journée le permet.

Les consignes de la vague — NOUVEAU

Quand votre tâche appartient à une vague, ses consignes sont en tête : les dix lignes de l'agence, le PDF (s'ouvre en ligne ; hors ligne, le texte reste là), et Alloué : 1,5 h quand l'agence a fixé un temps. Un message de votre gestionnaire arrive dans Alertes avec la vague concernée.

Sections, nouveaux types de questions, pastilles de temps

Les formulaires viennent en sections — « Section 2 de 3 » — avec une description et parfois une image de ce à quoi le présentoir doit ressembler. Une question peut être une date, une heure, un paragraphe, des cases à cocher avec un « Autre… », ou une photo rattachée à la question : touchez « Prendre une photo » juste là. La question du temps en magasin propose des pastilles — 30 · 45 · 60 · 90 min · autre. Les questions obligatoires sont vérifiées par le serveur à la soumission, et la feuille nomme celles qui manquent encore plutôt que de se fermer.

Répondez franchement à « Le travail a-t-il pu être fait ? » : choisissez la raison du magasin et la feuille de soumission précoche « soumise avec exceptions » avec le code correspondant.

Photos de section, « Autre… », puces — NOUVEAU

La photo de référence d'une section s'affiche en tête de la section — touchez-la pour l'agrandir. Choix (un seul) est une liste d'options avec une ligne Autre… qui vous demande de préciser. Les lignes à puces des consignes de la vague s'affichent en puces. « Alloué 0,75 h » se lit en quarts d'heure. L'œil à côté du mot de passe l'affiche pendant la saisie.

Les heures saisies à la main

Arrivée oubliée, ou pas de signal à la porte ? Saisir les heures à la main sur la visite : date, heure d'arrivée, heure de départ et une raison. La visite affiche « saisi à la main » dès lors ; si une arrivée GPS existait, elle reste à côté de votre saisie, et personne ne reçoit un verdict de ponctualité à partir d'une heure tapée.

Votre invitation

Un nouveau marchandiseur reçoit un lien de l'agence, l'ouvre sur le téléphone, choisit un mot de passe et se connecte par la porte terrain. Le lien expire dans une semaine ; un lien déjà utilisé le dit.

Notifications poussées — NOUVEAU

Profil → Notifications poussées. Une carte, un seul état honnête : non pris en charge par ce navigateur · ajoutez d'abord Onshelf à votre écran d'accueil (iPhone) · non configuré sur ce serveur · permission refusée · désactivé → Activer · activé. Une fois activé, tout ce qui arrive dans Alertes — une nouvelle tâche, les consignes de la vague, un message du gestionnaire, une réponse sur un problème — arrive aussi en notification poussée, et un appui ouvre le bon écran. La déconnexion la désactive sur cet appareil.

Brand portal

Read-only by design. Individual field-team members are never identified — results come by store, banner and territory.

Dashboard

Execution over the last 30 days against the previous period, every rate with its basis.

Forecasts sit below the headlines, projected when you read them from your brand's own recorded work: the task-completion trend, and the stores at highest out-of-stock risk. Every figure carries n=, its window and its method; a thin sample says “insufficient data” rather than guessing.

Why there is no coverage projection here. Coverage is stores-visited over stores-in-territory — a measure of the agency's estate, with no link to any one brand. Ask this door for it and the system refuses outright rather than handing you whole-operation numbers dressed up as yours. The missing tile is the honesty rule working.

Value delivered

A ledger of counted claims, not a marketing page: verified visits (checked in inside the geofence and approved — overridden check-ins counted on their own line, never folded in), displays secured, out-of-stocks cleared where both captures exist, and visits blocked by causes on your side, such as materials that never arrived.

The page states plainly why Onshelf publishes no sales-lift or ROI number: on this data the correlation is indistinguishable from noise, and you are shown the arithmetic that was refused rather than a number that would not survive scrutiny.

Work orders

  1. New work order. The service tier is derived from the lead time you leave, never chosen. Paste your own store numbers — anything that does not match is named, and can never quietly flatter the denominator.
  2. Resolve any unmatched stores, then submit.
  3. When the agency has scoped it, you will see “Needs you — approve the scope.” Approve it, or cancel.
  4. Watch it run: the agency's own service clock computed from the same timestamps their queue uses (over 100% it says so), serviced/executed/blocked per store with coded outcomes, materials states, and review-approved photos only.

Reports

The same report studio, scoped to your brand, with saved views and exports. What this door structurally cannot show: rep identities, agency costs, internal notes, or unreviewed evidence.

Approved reports — NEW

On a work order, Approved reports shows what the agency has released to you: for each store, the answers to the report's questions and the approved photos, with the date the report was approved. A value the agency corrected is marked Corrected by the agency; an issue the agency raised is shown with its status — open, corrected, follow-up — and its follow-up note. Nothing appears before approval, and nothing here names a field-team member.

In Reports, the Wave answers template runs the same rows as a report you can filter and export.

Portail de marque

En lecture seule par conception. Les membres de l'équipe terrain ne sont jamais identifiés individuellement — les résultats arrivent par magasin, bannière et territoire.

Tableau de bord

L'exécution des 30 derniers jours comparée à la période précédente, chaque taux avec sa base.

Les prévisions se trouvent sous les indicateurs principaux, calculées au moment de la lecture à partir du travail consigné pour votre marque : la tendance de complétion des tâches et les magasins au plus haut risque de rupture. Chaque chiffre porte son n=, sa fenêtre et sa méthode ; un échantillon trop mince affiche « données insuffisantes » plutôt que de deviner.

Pourquoi il n'y a pas de projection de couverture ici. La couverture, ce sont les magasins visités sur les magasins du territoire — une mesure du parc de l'agence, sans lien avec une marque en particulier. Demandez-la à cette porte et le système refuse net plutôt que de vous remettre des chiffres d'ensemble déguisés en vôtres. La tuile absente, c'est la règle d'honnêteté qui fonctionne.

Valeur livrée

Un registre de faits comptés, pas une page de marketing : visites vérifiées (arrivée enregistrée à l'intérieur du géorepérage et travail approuvé — les arrivées avec dérogation comptées sur leur propre ligne, jamais fondues dans le total), présentoirs installés, ruptures corrigées là où les deux prises de vue existent, et visites bloquées par des causes de votre côté, comme du matériel jamais arrivé.

La page explique clairement pourquoi Onshelf ne publie aucun chiffre de lift de ventes ni de RCI : sur ces données, la corrélation ne se distingue pas du bruit, et on vous montre le calcul qui a été refusé plutôt qu'un chiffre qui ne résisterait pas à l'examen.

Bons de travail

  1. Nouveau bon de travail. Le niveau de service découle du délai que vous laissez ; il ne se choisit pas. Collez vos propres numéros de magasin — tout ce qui ne correspond pas est nommé, et ne peut jamais embellir discrètement le dénominateur.
  2. Résolvez les magasins non appariés, puis soumettez.
  3. Une fois la portée établie par l'agence, vous verrez « Action requise — approuver la portée ». Approuvez, ou annulez.
  4. Suivez l'exécution : le délai de service de l'agence calculé à partir des mêmes horodatages que sa propre file (au-delà de 100 %, c'est dit), l'état desservi/exécuté/bloqué par magasin avec des motifs codés, l'état du matériel, et uniquement les photos approuvées en révision.

Rapports

Le même studio de rapports, limité à votre marque, avec vues enregistrées et exportations. Ce que cette porte ne peut structurellement pas montrer : l'identité des marchandiseurs, les coûts de l'agence, les notes internes ou les preuves non révisées.

Rapports approuvés — NOUVEAU

Sur un bon de travail, Rapports approuvés montre ce que l'agence vous a remis : pour chaque magasin, les réponses aux questions du rapport et les photos approuvées, avec la date d'approbation. Une valeur corrigée par l'agence porte la mention Corrigé par l'agence ; un problème levé par l'agence est affiché avec son statut — ouvert, corrigé, suivi — et sa note de suivi. Rien n'apparaît avant l'approbation, et rien ici ne nomme un membre de l'équipe terrain.

Dans Rapports, le modèle Réponses de la vague produit les mêmes lignes en rapport filtrable et exportable.

Admin console

For the operator of the platform, not for an agency's own staff.

Agencies

  • A platform summary — agencies, people, stores, 90-day activity — every figure reproducible from the database.
  • Create an agency together with its first administrator; suspend one (its people are then refused at sign-in, told the organization is suspended) and reactivate it.
  • Agencies are hard-walled from each other. A read across that wall returns “not found”, never “forbidden” — because “forbidden” would confirm the row exists.
  • Hidden features — NEW: the table names the features each agency has hidden under its own Settings → Workspace features (or “None”). The platform never hides anything on an agency's behalf.

Platform health — check this before any demo

  • API and database status, latency and free disk.
  • Data freshness: the story window must end today. The page compares the seed's own stamp against today's date in Toronto and shows FRESH, STALE or no stamp.
  • Stale or unstamped, the page shows the exact command to fix it and refuses to look healthy.
  • Channels — NEW: is a mailer configured and the outbox counts by status (no mail service / queued / sent / failed / skipped); is push configured and how many devices are subscribed; how many agencies keep a photo-retention policy on and when it last ran; the last 50 outbox rows across agencies. A missing block renders an em dash, never a zero.
The lesson printed on that page is worth repeating: a scheduled job that exits 0 every night can still be building the wrong day. Green logs prove the job ran; only the stamp proves what it built.

Console d'administration

Pour l'exploitant de la plateforme, pas pour le personnel d'une agence.

Agences

  • Un sommaire de la plateforme — agences, personnes, magasins, activité sur 90 jours — chaque chiffre reproductible depuis la base de données.
  • Créez une agence avec son premier administrateur ; suspendez-la (ses gens sont alors refusés à la connexion, avec le motif que l'organisation est suspendue) et réactivez-la.
  • Les agences sont cloisonnées entre elles. Une lecture au-delà de ce mur renvoie « introuvable », jamais « interdit » — car « interdit » confirmerait que la donnée existe.
  • Fonctions masquées — NOUVEAU : le tableau nomme les fonctions que chaque agence a masquées dans ses propres Paramètres → Fonctions de l'espace de travail (ou « Aucune »). La plateforme ne masque jamais rien à la place d'une agence.

Santé de la plateforme — à vérifier avant toute démonstration

  • État de l'API et de la base de données, latence et espace disque libre.
  • Fraîcheur des données : la fenêtre du récit doit se terminer aujourd'hui. La page compare l'estampille du jeu de données à la date du jour à Toronto et affiche FRESH, STALE ou aucune estampille.
  • Périmée ou sans estampille, la page affiche la commande exacte pour corriger la situation et refuse de paraître en santé.
  • Canaux — NOUVEAU : un service de courriel est-il configuré, et les comptes de la boîte d'envoi par état (aucun service de courriel / en file / envoyé / échec / ignoré) ; les notifications poussées sont-elles configurées et combien d'appareils sont abonnés ; combien d'agences gardent une politique de conservation des photos active et sa dernière exécution ; les 50 dernières lignes de la boîte d'envoi, toutes agences confondues. Un bloc manquant s'affiche comme un tiret, jamais comme un zéro.
La leçon imprimée sur cette page mérite d'être répétée : une tâche planifiée qui se termine avec succès chaque nuit peut tout de même construire la mauvaise journée. Des journaux verts prouvent que la tâche s'est exécutée ; seule l'estampille prouve ce qu'elle a construit.

One job, end to end

The same piece of work as it crosses all four doors. This is the shape of nearly everything Onshelf does.

  1. The brand asks. On the brand portal, a new work order: what, which stores, by when. The service tier derives itself from the lead time. Submit.
  2. The agency scopes it. A manager acknowledges, picks the template, confirms the store list, and prices it internally — the internal estimate never reaches the client door. Whoever scopes it may not later sign off its closeout.
  3. The brand approves the scope. The work order flips to approved and the agency's clock resumes.
  4. The agency dispatches. A dry run first, then dispatch: one visit and one task per store, assigned by territory and gated on credentials. Materials are recorded with their carrier and tracking.
  5. The rep runs the call. Check in at the store, confirm the kit that actually arrived, do the work, capture the before/after pair, submit — with a coded exception if the store blocked it — and check out.
  6. The manager reviews. Photos approved or rejected with a coded reason; a rejection can spin a corrective ticket straight back to the same store. Approved work closes; nothing approves by a clock — a submitted report waits for a reviewer, however long that takes.
  7. The brand reads the proof. Per-store outcomes with the reasons intact, approved photos only, the service clock, and value delivered as counted claims — with dashes where nothing was captured.
Notice what never happens: no step invents a number to fill a gap, and no step lets one party's failure be recorded as another's. That is the whole design.

Un mandat, de bout en bout

Le même travail, à mesure qu'il traverse les quatre portes. C'est la forme de presque tout ce que fait Onshelf.

  1. La marque demande. Dans le portail de marque, un nouveau bon de travail : quoi, quels magasins, pour quand. Le niveau de service découle du délai laissé. Soumettre.
  2. L'agence établit la portée. Un gestionnaire accuse réception, choisit le modèle, confirme la liste de magasins et en établit le coût à l'interne — l'estimation interne n'atteint jamais la porte du client. Qui établit la portée ne peut pas ensuite approuver la clôture.
  3. La marque approuve la portée. Le bon de travail passe à « approuvé » et le délai de l'agence reprend.
  4. L'agence répartit. D'abord un essai à blanc, puis la répartition : une visite et une tâche par magasin, assignées par territoire et conditionnées aux attestations. Le matériel est consigné avec son transporteur et son numéro de suivi.
  5. Le marchandiseur exécute la visite. Arrivée au magasin, confirmation de la trousse réellement reçue, exécution du travail, prise de la paire avant/après, soumission — avec une exception codée si le magasin l'a bloqué — puis départ.
  6. Le gestionnaire révise. Photos approuvées ou rejetées avec une raison codée ; un rejet peut renvoyer immédiatement un billet correctif au même magasin. Le travail approuvé se referme ; rien ne s'approuve par horloge — un rapport soumis attend un réviseur, aussi longtemps qu'il le faut.
  7. La marque lit la preuve. Les résultats par magasin avec leurs motifs intacts, uniquement les photos approuvées, le délai de service, et la valeur livrée sous forme de faits comptés — avec des tirets là où rien n'a été saisi.
Remarquez ce qui n'arrive jamais : aucune étape n'invente un chiffre pour combler un vide, et aucune étape ne laisse l'échec d'une partie être consigné au compte d'une autre. C'est tout le principe.