---
title: "Générateur de checklist démarches permis B – Permis Online"
canonical: "https://permis-online.be/outils/assistant-demarches-documents/"
source: "https://permis-online.be/outils/assistant-demarches-documents/"
author: "Wenceslas Dasnois"
author_role: "Fondateur de Permis Online"
author_credentials: "Fondateur de l'Observatoire du Permis Belge (vérification des statistiques officielles du permis, 3 régions)"
publisher: "Permis Online"
published: "2026-03-11"
modified: "2026-03-12"
language: "fr"
word_count: 327
---

# Générateur de checklist démarches permis B – Permis Online

---

# Assistant Démarches & Documents

Réponds à 3 questions et obtiens ta checklist personnalisée de toutes les étapes administratives qu'il te reste pour décrocher ton permis B.

1Région2Étape actuelle3Filière
## Dans quelle région passes-tu ton permis ?

Les démarches et tarifs diffèrent entre la Wallonie et Bruxelles.

## Où en es-tu dans ton parcours ?

On adaptera ta checklist en fonction de ce que tu as déjà accompli.

## Quelle filière choisis-tu ?

La filière détermine ta formation pratique et la durée de ton permis provisoire.

## Résumé de ta situation

Budget total estimé (restant)0 €
## Ta checklist personnalisée

## D'autres outils pour t'aider

[Planificateur de Réussite Organise ton calendrier et planifie chaque étape jusqu'à l'examen. Découvrir](/outils/planificateur-de-reussite/)[Simulateur Budget & Durée Calcule le coût total de ton permis selon ta filière et ta région. Découvrir](/outils/simulateur-budget-duree/)[Assistant Parcours Permis Découvre la filière idéale et le chemin le plus adapté à ton profil. Découvrir](/outils/assistant-parcours-permis/)'; if (idx < steps.length - 1) { stepperEl.innerHTML += ''; } var card = document.createElement('div'); card.className = 'po-check-card' + (isCompleted ? ' completed' : ''); card.dataset.id = step.id; card.dataset.idx = idx; var metaItems = ''; if (step.cost) { metaItems += '' + step.cost + ''; } if (step.time) { metaItems += '' + step.time + ''; } if (step.where) { metaItems += '' + step.where + ''; } var reminderHtml = ''; if (!isCompleted && firstIncomplete === idx && step.reminder) { reminderHtml = 'Prochaine action recommand\u00e9e : ' + step.reminder + ''; } var dateHtml = ''; var sd = stepDates; if (!isCompleted && sd.start) { dateHtml = ''; dateHtml += '' + formatDate(sd.start) + ' - ' + formatDate(sd.end) + ''; dateHtml += ''; dateHtml += ''; } var docs = getDocsForStep(step.id, state.filiere); var docsHtml = ''; if (docs.length > 0) { docsHtml = ''; docs.forEach(function(doc, di) { var docKey = step.id + '_doc_' + di; var docChecked = savedDocs && savedDocs === true; docsHtml += '' + '' + '' + '' + '' + doc + '' + ''; }); docsHtml += ''; } var noteVal = (savedNotes && savedNotes[step.id]) || ''; var noteHtml = '' + '' + '' + '' + escHtml(noteVal) + '' + 'Sauvegard\u00e9' + '' + ''; var linkHtml = ''; if (step.link) { linkHtml = '[' + step.linkLabel + ' &nearr;](' + step.link + ')'; } var internalHtml = ''; if (step.internalLink) { internalHtml = ' · [' + step.internalLabel + '](' + step.internalLink + ')'; } var detailsContent = step.details || ''; if (linkHtml || internalHtml) { detailsContent += '

**Liens utiles :** ' + linkHtml + internalHtml; } card.innerHTML = '' + '' + '' + '\u00c9tape ' + (idx + 1) + '' + '' + step.title + '' + (step.desc ? '' + step.desc + '' : '') + reminderHtml + dateHtml + '' + metaItems + '' + docsHtml + noteHtml + '' + '' + (detailsContent ? ( '' + '' + '' + detailsContent + '' + '' ) : ''); checklistEl.appendChild(card); }); updateBudget(budgetRemaining, completedCount, totalSteps); document.getElementById('poResultsSub').textContent = remaining > 0 ? 'Il te reste ' + remaining + ' \u00e9tape' + (remaining > 1 ? 's' : '') + ' pour obtenir ton permis B.' : 'F\u00e9licitations, tu as compl\u00e9t\u00e9 toutes les \u00e9tapes !'; updateProgressBar(completedCount, totalSteps); if (remaining > 0) { document.getElementById('poEstimatedDate').textContent = 'Date estim\u00e9e d\'obtention : ' + formatDate(estimatedEnd); } else { document.getElementById('poEstimatedDate').textContent = ''; } window.scrollTo({ top: 0, behavior: 'smooth' }); }; function escHtml(str) { var div = document.createElement('div'); div.textContent = str; return div.innerHTML; } function updateBudget(amount, done, total) { var amountEl = document.getElementById('poBudgetAmount'); var detailEl = document.getElementById('poBudgetDetail'); if (amount > 0) { amountEl.innerHTML = '~' + amount + ' €'; } else { amountEl.innerHTML = '0 €'; } detailEl.textContent = done + '/' + total + ' \u00e9tapes compl\u00e9t\u00e9es \u2014 Montants indicatifs, hors co\u00fbts optionnels'; } function updateProgressBar(done, total) { var pct = total > 0 ? Math.round((done / total) * 100) : 0; document.getElementById('poProgressFill').style.width = pct + '%'; document.getElementById('poProgressText').textContent = done + '/' + total + ' \u00e9tapes compl\u00e9t\u00e9es (' + pct + '%)'; } window.toggleCheck = function(btn, stepId) { var isChecked = btn.classList.toggle('checked'); var card = btn.closest('.po-check-card'); card.classList.toggle('completed', isChecked); var saved = {}; try { saved = JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; } catch(e) {} if (!saved) saved = {}; saved = isChecked; localStorage.setItem(STORAGE_KEY, JSON.stringify(saved)); recalcAll(); }; window.toggleDoc = function(el, docKey) { var check = el.querySelector('.po-doc-check'); var label = el.querySelector('.po-doc-label'); var isChecked = check.classList.toggle('checked'); label.classList.toggle('checked', isChecked); var savedDocs = {}; try { savedDocs = JSON.parse(localStorage.getItem(DOCS_KEY)) || {}; } catch(e) {} if (!savedDocs) savedDocs = {}; savedDocs = isChecked; localStorage.setItem(DOCS_KEY, JSON.stringify(savedDocs)); }; var noteTimeout = null; window.saveNote = function(textarea) { var stepId = textarea.dataset.stepId; clearTimeout(noteTimeout); noteTimeout = setTimeout(function() { var savedNotes = {}; try { savedNotes = JSON.parse(localStorage.getItem(NOTES_KEY)) || {}; } catch(e) {} if (!savedNotes) savedNotes = {}; savedNotes = textarea.value; localStorage.setItem(NOTES_KEY, JSON.stringify(savedNotes)); var indicator = textarea.nextElementSibling; indicator.style.display = 'block'; setTimeout(function() { indicator.style.display = 'none'; }, 1500); }, 500); }; window.toggleNote = function(btn) { btn.classList.toggle('open'); var area = btn.nextElementSibling; area.classList.toggle('open'); }; window.downloadICSForStep = function(idx) { var step = renderedSteps; var threshold = parseInt(state.stage, 10); var saved = {}; try { saved = JSON.parse(localStorage.getItem(STORAGE_KEY)) || {}; } catch(e) {} if (!saved) saved = {}; var runDate = new Date(); for (var i = 0; i <= idx; i++) { var s = renderedSteps; var isDone = s.stageIndex < threshold || saved[s.id] === true; if (!isDone && i < idx) { var dur = getDurationForStep(s.id, state.filiere); runDate = addDays(runDate, dur.min); } } var dur = getDurationForStep(step.id, state.filiere); var endDate = addDays(runDate, dur.max); var docs = getDocsForStep(step.id, state.filiere); var desc = step.desc || step.title; if (docs.length > 0) { desc += '\\nDocuments : ' + docs.join(', '); } if (step.where) { desc += '\\nLieu : ' + step.where; } if (step.cost) { desc += '\\nCo\u00fbt : ' + step.cost; } downloadICS(step.title, desc, runDate, endDate); }; function recalcAll() { var allToggles = document.querySelectorAll('.po-check-toggle'); var done = 0; var budgetRemaining = 0; var firstIncomplete = -1; for (var i = 0; i < allToggles.length; i++) { var isChecked = allToggles.classList.contains('checked'); if (isChecked) { done++; } else { if (renderedSteps) budgetRemaining += renderedSteps.costNum || 0; if (firstIncomplete === -1) firstIncomplete = i; } } var total = allToggles.length; var remaining = total - done; updateProgressBar(done, total); updateBudget(budgetRemaining, done, total); document.getElementById('poResultsSub').textContent = remaining > 0 ? 'Il te reste ' + remaining + ' \u00e9tape' + (remaining > 1 ? 's' : '') + ' pour obtenir ton permis B.' : 'F\u00e9licitations, tu as compl\u00e9t\u00e9 toutes les \u00e9tapes !'; var nodes = document.querySelectorAll('.po-stepper-node'); var lines = document.querySelectorAll('.po-stepper-line'); for (var j = 0; j < nodes.length; j++) { nodes.classList.remove('done', 'current'); if (allToggles && allToggles.classList.contains('checked')) { nodes.classList.add('done'); } else if (j === firstIncomplete) { nodes.classList.add('current'); } } for (var k = 0; k < lines.length; k++) { lines.classList.toggle('done', allToggles && allToggles.classList.contains('checked')); } var reminders = document.querySelectorAll('.po-check-reminder'); for (var r = 0; r < reminders.length; r++) reminders.remove(); if (firstIncomplete !== -1 && renderedSteps && renderedSteps.reminder) { var card = document.querySelectorAll('.po-check-card'); if (card) { var descEl = card.querySelector('.po-check-desc'); var bodyEl = card.querySelector('.po-check-body'); if (bodyEl) { var reminderDiv = document.createElement('div'); reminderDiv.className = 'po-check-reminder'; reminderDiv.innerHTML = 'Prochaine action recommand\u00e9e : ' + renderedSteps.reminder; var metaEl = bodyEl.querySelector('.po-check-meta'); if (metaEl) bodyEl.insertBefore(reminderDiv, metaEl); } } } if (remaining > 0) { var runDate = new Date(); for (var m = 0; m < renderedSteps.length; m++) { if (allToggles && !allToggles.classList.contains('checked')) { var dur = getDurationForStep(renderedSteps.id, state.filiere); runDate = addDays(runDate, dur.min); } } document.getElementById('poEstimatedDate').textContent = 'Date estim\u00e9e d\'obtention : ' + formatDate(runDate); } else { document.getElementById('poEstimatedDate').textContent = ''; } } window.toggleDetails = function(btn) { btn.classList.toggle('open'); var details = btn.nextElementSibling; details.classList.toggle('open'); }; window.printChecklist = function() { window.print(); }; window.restartWizard = function() { state = { region: null, stage: null, filiere: null }; renderedSteps = []; comboKey = ''; document.querySelector('.po-wizard-section').style.display = 'block'; document.getElementById('poResults').style.display = 'none'; var selected = document.querySelectorAll('.selected'); for (var i = 0; i < selected.length; i++) selected.classList.remove('selected'); goToStep(1); window.scrollTo({ top: 0, behavior: 'smooth' }); }; })();

---

*Source: [Générateur de checklist démarches permis B – Permis Online](https://permis-online.be/outils/assistant-demarches-documents/) · Published 2026-03-11 · Updated 2026-03-12*
*Author: Wenceslas Dasnois (Fondateur de Permis Online · Fondateur de l'Observatoire du Permis Belge (vérification des statistiques officielles du permis, 3 régions)) · Permis Online*
