{
“@context”: “https://schema.org”,
“@graph”: [
{
“@type”: “Article”,
“@id”: “https://concierge-angels.com/en/tarif-menage-airbnb-2025-comment-fixer-le-juste-prix/#article”,
“headline”: “Tarif ménage Airbnb 2025 : comment fixer le juste prix”,
“description”: “Tarif ménage Airbnb : fourchettes par type de logement (20-300€), calcul du coût réel et stratégies de tarification adaptées à votre région.”,
“datePublished”: “2026-06-02 01:06:49”,
“dateModified”: “2026-06-02 01:06:49”,
“wordCount”: 1491,
“inLanguage”: “fr-FR”,
“mainEntityOfPage”: {
“@type”: “WebPage”,
“@id”: “https://concierge-angels.com/en/tarif-menage-airbnb-2025-comment-fixer-le-juste-prix/”
},
“author”: {
“@type”: “Person”,
“@id”: “https://concierge-angels.com/en/tarif-menage-airbnb-2025-comment-fixer-le-juste-prix/#author”,
“name”: “Kevin Grillot”,
“jobTitle”: “Gestionnaire de Patrimoine Immobilier & Spécialiste Locations Saisonnières”,
“description”: “Avec 8 ans d’expérience dans la gestion immobilière haut de gamme, j’ai accompagné plus de 300 propriétaires à optimiser leurs revenus locatifs. Passionné par la rentabilité et l’expérience hôte, je partage mes stratégies éprouvées pour transformer vos biens en actifs performants.”,
“image”: “https://kevin-grillot.fr/wp-content/uploads/2022/01/31-min-768×1024.jpg”,
“email”: “grillotkevin@gmail.com”,
“sameAs”: [
“https://www.linkedin.com/in/kevin-grillot/”,
“https://kevin-grillot.fr”
]
},
“publisher”: {
“@type”: “Organization”,
“@id”: “https://concierge-angels.com#org”,
“name”: “Concierge Angels”,
“logo”: {
“@type”: “ImageObject”,
“url”: “https:\/\/concierge-angels.com\/wp-content\/uploads\/2024\/06\/cropped-Angels-4.png”
},
“address”: null,
“email”: “grillotkevin@gmail.com”,
“telephone”: null,
“sameAs”: [
“https://www.facebook.com/people/Concierge-Angels/61563826130396/”,
“https://www.instagram.com/concierge_angels/”
]
}
},
{
“@type”: “FAQPage”,
“@id”: “https://concierge-angels.com/en/tarif-menage-airbnb-2025-comment-fixer-le-juste-prix/#faq”,
“mainEntity”: [
{
“@type”: “Question”,
“name”: “Qui fait le ménage dans un Airbnb ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Trois options : vous-même (DIY), un auto-entrepreneur indépendant, ou une agence/plateforme spécialisée. Chaque modèle a ses coûts et risques. Les agences coûtent plus cher mais offrent garantie de service et couverture légale. Les indépendants sont moins chers mais exposent au risque de no-show ou travail au noir.”
}
},
{
“@type”: “Question”,
“name”: “Quel est le tarif d’une femme de ménage auto-entrepreneur Airbnb ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Entre 40 et 75€ par passage selon la région et la taille du logement. Paris : 60-75€ pour un T2. Province : 40-60€. Ces tarifs ne couvrent que le nettoyage. Ajoutez produits (5-10€), linge (10-15€) pour le coût total réel. Assurez-vous que déclaration et cotisations sont à jour (risque légal sinon).”
}
},
{
“@type”: “Question”,
“name”: “Quels sont les frais de service Airbnb sur le ménage ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Airbnb prélève une commission (environ 14-16%) sur les frais de ménage que vous facturez. Exemple : vous affichez 75€, vous recevez ~63-64€. Cette commission rémunère la plateforme pour l’affichage et la gestion de la réservation.”
}
},
{
“@type”: “Question”,
“name”: “Airbnb imposable à partir de combien ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Les revenus Airbnb sont imposables dès le premier euro. Seuil d’imposition dépend de votre situation personnelle (revenus autres, taux marginal). Pour 2025, un revenu Airbnb brut de 10 000€ avec 2 500€ de ménage déductible = 7 500€ imposables. Consultez un expert-comptable pour votre situation précise.”
}
},
{
“@type”: “Question”,
“name”: “Comment adapter les tarifs de ménage en fonction de la saison ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Haute saison (juin-septembre) : augmentez de 10-20%. Basse saison (novembre-mars) : réduisez de 5-10%. Séjours longs (7+ nuits) : baissez de 20-30%. Nuits courtes (1-2 nuits) : augmentez de 15-25% pour compenser la fréquence. Alignez aussi sur vos coûts réels : un ménage en urgence à 23h coûte plus cher qu’en journée.”
}
},
{
“@type”: “Question”,
“name”: “Quels sont les coûts directs à inclure dans le tarif de ménage ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Nettoyage prestataire (40-120€), produits d’entretien (5-15€), linge lavé à 60°C (8-20€), consommables (sacs, gants, chiffons : 2-5€). Total minimum par passage : ~60-75€ pour un T2. Les coûts indirects (assurance, absentéisme, urgences) s’ajoutent et justifient une marge commerciale de 10-20%.”
}
},
{
“@type”: “Question”,
“name”: “Quelle est la durée moyenne d’un ménage pour un appartement T2 ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “2 à 3 heures en conditions normales pour un T2 de 50-65 m². Studio : 1-1.5h. Maison 150 m² : 4-5h. Cette durée varie selon état du logement, nombre de lits, densité mobilier. Un ménage expédié en 1h = qualité compromise = risque avis négatif.”
}
},
{
“@type”: “Question”,
“name”: “Quels sont les frais annexes à considérer pour un ménage Airbnb ?”,
“acceptedAnswer”: {
“@type”: “Answer”,
“text”: “Linge spécialisé (lavage 60°C obligatoire), produits d’accueil (café, savon), remplacement mobilier/casse (usure normale), assurance responsabilité civile (150-250€/an si salarié), outils et équipement (aspirateur, nettoyeur vapeur). Budgétez 10-15% de marge pour couvrir ces dépenses.”
}
}
]
},
{
“@type”: “BreadcrumbList”,
“@id”: “https://concierge-angels.com/en/tarif-menage-airbnb-2025-comment-fixer-le-juste-prix/#breadcrumb”,
“itemListElement”: [
{
“@type”: “ListItem”,
“position”: 1,
“name”: “Accueil”,
“item”: “https://concierge-angels.com”
},
{
“@type”: “ListItem”,
“position”: 2,
“name”: “Tarif ménage Airbnb 2025 : comment fixer le juste prix”,
“item”: “https://concierge-angels.com/en/tarif-menage-airbnb-2025-comment-fixer-le-juste-prix/”
}
]
}
]
}
.otc-article * { box-sizing: border-box; }
.otc-article { font-family: -apple-system, BlinkMacSystemFont, system-ui, sans-serif; line-height: 1.7; color: #1f2937; max-width: 880px; margin: 0 auto; }
.otc-progress { position: fixed; top: 0; left: 0; height: 3px; background: linear-gradient(90deg,#3b82f6,#8b5cf6); width: 0%; z-index: 9999; transition: width 80ms linear; }
.otc-meta-bar { display: flex; gap: 14px; flex-wrap: wrap; color: #64748b; font-size: 14px; padding: 12px 0 18px; border-bottom: 1px solid #e5e7eb; margin-bottom: 22px; }
.otc-meta-bar span { display: inline-flex; align-items: center; gap: 5px; }
.otc-tldr-card { background: linear-gradient(135deg,#f0f9ff,#ecfdf5); border: 1px solid #bae6fd; border-radius: 12px; padding: 20px 24px; margin: 0 0 28px; box-shadow: 0 1px 3px rgba(0,0,0,0.04); }
.otc-tldr-title { font-size: 14px; font-weight: 700; color: #0369a1; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }
.otc-tldr-bullets { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.otc-tldr-bullets li { padding-left: 26px; position: relative; line-height: 1.5; color: #1e293b; }
.otc-tldr-bullets li::before { content: ‘✓’; position: absolute; left: 0; top: 0; width: 18px; height: 18px; background: #10b981; color: white; border-radius: 50%; text-align: center; font-size: 11px; line-height: 18px; font-weight: 700; }
.otc-stats-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 0 0 32px; }
.otc-stat-card { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px 16px; }
.otc-stat-figure { font-size: 28px; font-weight: 700; color: #0f172a; line-height: 1; margin-bottom: 4px; }
.otc-stat-context { font-size: 13px; color: #475569; line-height: 1.4; margin-bottom: 6px; }
.otc-stat-source { font-size: 11px; color: #3b82f6; text-decoration: none; }
.otc-author { display: flex; gap: 16px; padding: 16px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; margin: 32px 0; align-items: center; }
.otc-author img { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.otc-author .info .name { font-weight: 600; font-size: 16px; }
.otc-author .info .job { color: #64748b; font-size: 13px; margin-top: 2px; }
.otc-author .info .bio { font-size: 13px; color: #475569; margin-top: 6px; line-height: 1.5; }
.otc-author .links { margin-top: 6px; display: flex; gap: 8px; flex-wrap: wrap; }
.otc-author .links a { color: #3b82f6; font-size: 12px; text-decoration: none; }
.otc-faq h2 { margin-top: 40px; }
.otc-faq details { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 12px 16px; margin-bottom: 8px; transition: background 0.15s; }
.otc-faq details:hover { background: #f1f5f9; }
.otc-faq details[open] { background: white; box-shadow: 0 1px 3px rgba(0,0,0,0.06); }
.otc-faq summary { cursor: pointer; font-weight: 600; color: #1e293b; padding-right: 24px; position: relative; }
.otc-faq summary::-webkit-details-marker { display: none; }
.otc-faq summary::after { content: ‘+’; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-size: 22px; color: #3b82f6; transition: transform 0.2s; }
.otc-faq details[open] summary::after { content: ‘−’; }
.otc-faq p { margin: 10px 0 0; color: #475569; line-height: 1.6; }
.otc-yt-embed { aspect-ratio: 16/9; margin: 20px 0; border-radius: 8px; overflow: hidden; background: #000; }
.otc-yt-embed iframe { width: 100%; height: 100%; border: 0; }
.otc-reddit { background: #fffbeb; border-left: 4px solid #f59e0b; padding: 14px 18px; margin: 20px 0; border-radius: 6px; font-size: 14px; }
.otc-reddit .src { color: #92400e; font-size: 12px; margin-top: 8px; }
.otc-reddit a { color: #b45309; }
.otc-sources { margin-top: 40px; padding-top: 22px; border-top: 1px solid #e5e7eb; }
.otc-sources h2 { font-size: 18px; color: #475569; margin-bottom: 14px; }
.otc-sources ol { padding-left: 22px; color: #475569; font-size: 13px; }
.otc-sources li { margin-bottom: 6px; line-height: 1.5; }
.otc-sources a { color: #3b82f6; }
.otc-updated-badge { display: inline-block; background: #dcfce7; color: #166534; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 500; }
.otc-article h2 { font-size: 26px; margin: 36px 0 16px; color: #0f172a; scroll-margin-top: 80px; line-height: 1.3; font-weight: 700; }
.otc-article h3 { font-size: 19px; margin: 24px 0 12px; color: #1e293b; scroll-margin-top: 80px; line-height: 1.4; font-weight: 600; }
.otc-article h4 { font-size: 16px; margin: 18px 0 8px; color: #334155; }
.otc-article p { margin: 0 0 14px; }
.otc-article ul, .otc-article ol { margin: 0 0 16px 24px; }
.otc-article ul li, .otc-article ol li { margin-bottom: 6px; }
.otc-article a { color: #3b82f6; text-decoration: underline; text-underline-offset: 2px; }
.otc-article a:hover { color: #1e40af; }
.otc-article table { border-collapse: collapse; margin: 18px 0; width: 100%; font-size: 14px; }
.otc-article th, .otc-article td { border: 1px solid #e5e7eb; padding: 10px 14px; text-align: left; }
.otc-article th { background: #f8fafc; font-weight: 600; color: #1e293b; }
.otc-article blockquote { border-left: 3px solid #cbd5e1; padding: 10px 18px; margin: 18px 0; color: #475569; background: #f8fafc; font-style: italic; }
.otc-article img { max-width: 100%; height: auto; border-radius: 8px; margin: 18px 0; display: block; }
.otc-article figure { margin: 18px 0; }
.otc-article figcaption { font-size: 13px; color: #64748b; text-align: center; margin-top: 6px; font-style: italic; }
/* Widgets interactifs */
.otc-widget { border-radius: 12px; padding: 22px 24px; margin: 28px 0; border: 1px solid; }
.otc-widget-header { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.otc-widget-icon { font-size: 32px; line-height: 1; }
.otc-widget h3.otc-widget-title { font-size: 18px; margin: 0; line-height: 1.3; }
.otc-widget-label { font-size: 11px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; opacity: 0.85; margin-bottom: 2px; }
.otc-widget-desc { font-size: 14px; line-height: 1.5; margin: 0 0 16px; opacity: 0.95; }
.otc-widget-quiz { background: linear-gradient(135deg,#ddd6fe22,#c4b5fd22); border-color: #a78bfa; }
.otc-widget-quiz h3, .otc-widget-quiz .otc-widget-label { color: #5b21b6; }
.otc-widget-calculator { background: linear-gradient(135deg,#fef3c7,#fde68a); border-color: #fcd34d; }
.otc-widget-calculator h3, .otc-widget-calculator .otc-widget-label { color: #78350f; }
.otc-widget-comparator { background: linear-gradient(135deg,#dbeafe,#bfdbfe); border-color: #60a5fa; }
.otc-widget-comparator h3, .otc-widget-comparator .otc-widget-label { color: #1e40af; }
.otc-widget-poll { background: linear-gradient(135deg,#fce7f3,#fbcfe8); border-color: #f472b6; }
.otc-widget-poll h3, .otc-widget-poll .otc-widget-label { color: #9d174d; }
.otc-widget-infographic { background: linear-gradient(135deg,#d1fae5,#a7f3d0); border-color: #34d399; }
.otc-widget-infographic h3, .otc-widget-infographic .otc-widget-label { color: #065f46; }
.otc-quiz-question { margin-bottom: 14px; padding: 12px; background: rgba(255,255,255,0.6); border-radius: 8px; }
.otc-quiz-question .q { font-weight: 600; margin-bottom: 8px; color: #1e293b; }
.otc-quiz-options { display: grid; gap: 6px; }
.otc-quiz-options label { display: flex; align-items: center; gap: 8px; padding: 8px 10px; background: white; border: 1px solid #e5e7eb; border-radius: 6px; cursor: pointer; transition: all 0.12s; font-size: 14px; }
.otc-quiz-options label:hover { border-color: #7c3aed; background: #faf5ff; }
.otc-quiz-options input[type=radio] { margin: 0; }
.otc-quiz-options input[type=radio]:checked + span { font-weight: 600; }
.otc-quiz-result { margin-top: 14px; padding: 12px 16px; background: white; border-radius: 8px; font-weight: 600; text-align: center; display: none; }
.otc-quiz-result.show { display: block; }
.otc-btn { background: #7c3aed; color: white; border: none; padding: 10px 18px; border-radius: 6px; cursor: pointer; font-weight: 500; font-size: 14px; transition: background 0.15s; }
.otc-btn:hover { background: #6d28d9; }
.otc-widget-calculator .otc-btn { background: #b45309; }
.otc-widget-calculator .otc-btn:hover { background: #92400e; }
.otc-widget-comparator .otc-btn { background: #2563eb; }
.otc-widget-comparator .otc-btn:hover { background: #1d4ed8; }
.otc-widget-poll .otc-btn { background: #db2777; }
.otc-widget-poll .otc-btn:hover { background: #be185d; }
.otc-calc-row { display: flex; gap: 10px; align-items: center; margin-bottom: 10px; flex-wrap: wrap; }
.otc-calc-row label { font-weight: 500; min-width: 130px; font-size: 14px; }
.otc-calc-row input { flex: 1; padding: 8px 10px; border: 1px solid #fcd34d; border-radius: 6px; font-size: 14px; min-width: 120px; }
.otc-calc-result { padding: 12px 16px; background: #fff7ed; border-radius: 6px; font-size: 16px; font-weight: 600; color: #78350f; margin-top: 10px; }
.otc-poll-options { display: grid; gap: 8px; }
.otc-poll-option { background: white; border: 1px solid #f9a8d4; border-radius: 6px; padding: 10px 14px; cursor: pointer; position: relative; overflow: hidden; transition: border-color 0.12s; }
.otc-poll-option:hover { border-color: #ec4899; }
.otc-poll-option .pct-bar { position: absolute; left: 0; top: 0; bottom: 0; background: rgba(236, 72, 153, 0.15); transition: width 0.5s; z-index: 0; width: 0; }
.otc-poll-option .pct-text { position: relative; z-index: 1; display: flex; justify-content: space-between; }
.otc-poll-voted .otc-poll-option { cursor: default; }
.otc-comp-table { width: 100%; background: white; border-radius: 6px; overflow: hidden; }
.otc-comp-table th { background: #1e40af; color: white; padding: 8px 10px; text-align: left; font-size: 13px; }
.otc-comp-table td { padding: 8px 10px; border-bottom: 1px solid #dbeafe; font-size: 14px; }
.otc-comp-table tr:last-child td { border-bottom: none; }
/* Floating sidebar TOC (desktop right, mobile collapsible top) */
.otc-floating-toc {
background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px;
padding: 12px 16px; margin: 0 0 24px;
font-size: 13px;
}
.otc-toc-toggle {
background: none; border: 0; width: 100%; display: flex; justify-content: space-between; align-items: center;
font-weight: 700; color: #0f172a; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em;
cursor: pointer; padding: 0;
}
.otc-toc-chevron { transition: transform 0.2s; font-size: 14px; }
.otc-floating-toc[data-collapsed=true] .otc-toc-chevron { transform: rotate(-90deg); }
.otc-floating-toc[data-collapsed=true] .otc-toc-list { display: none; }
.otc-toc-list { margin: 12px 0 0; padding-left: 22px; max-height: 50vh; overflow-y: auto; }
.otc-toc-list li { margin-bottom: 5px; line-height: 1.4; }
.otc-toc-list a { color: #475569; text-decoration: none; transition: color 0.12s; display: inline-block; padding: 2px 0; border-left: 2px solid transparent; padding-left: 8px; margin-left: -10px; }
.otc-toc-list a:hover { color: #2563eb; }
.otc-toc-list a.active { color: #2563eb; font-weight: 600; border-left-color: #2563eb; background: #eff6ff; }
@media (min-width: 1200px) {
.otc-floating-toc {
position: fixed;
right: max(20px, calc((100vw – 1100px) / 2));
top: 100px;
width: 240px;
max-height: calc(100vh – 140px);
overflow-y: auto;
z-index: 50;
box-shadow: 0 4px 12px rgba(0,0,0,0.05);
margin: 0;
}
.otc-floating-toc[data-collapsed=true] { width: auto; }
}
@media (min-width: 1500px) {
.otc-floating-toc {
right: max(30px, calc((100vw – 1100px) / 2 – 280px));
top: 100px;
}
}
/* Features bar */
.otc-features-bar { display: flex; gap: 6px; padding: 10px 0; margin: 0 0 16px; flex-wrap: wrap; }
.otc-feat-btn {
background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 6px;
padding: 6px 12px; cursor: pointer; font-size: 13px; color: #475569;
display: inline-flex; align-items: center; gap: 4px; transition: all 0.12s;
}
.otc-feat-btn:hover { background: #eff6ff; border-color: #93c5fd; color: #1e40af; }
.otc-feat-btn.active { background: #dbeafe; border-color: #3b82f6; color: #1e40af; }
@media (max-width: 600px) { .otc-feat-btn span { display: none; } }
/* Pull quotes / Click-to-tweet */
.otc-pullquote {
border-left: 4px solid #1da1f2; background: #f0f9ff;
padding: 18px 22px; margin: 22px 0; border-radius: 0 8px 8px 0;
font-style: italic; color: #1e3a8a;
}
.otc-pullquote-text { font-size: 17px; line-height: 1.6; margin-bottom: 10px; }
.otc-pullquote-tweet {
display: inline-flex; align-items: center; gap: 6px; font-size: 13px;
background: #1da1f2; color: white !important; padding: 6px 14px; border-radius: 18px;
text-decoration: none !important; font-style: normal;
}
.otc-pullquote-tweet:hover { background: #0d8bd9; }
/* Reading mode */
body.otc-reading-mode { background: #faf8f3 !important; }
body.otc-reading-mode .otc-article { max-width: 720px; font-size: 18px; line-height: 1.85; }
body.otc-reading-mode .otc-article h2 { font-size: 28px; }
body.otc-reading-mode header,
body.otc-reading-mode footer,
body.otc-reading-mode aside:not(.otc-tldr-card):not(.otc-author):not(.otc-faq):not(.otc-newsletter):not(.otc-helpful):not(.otc-related):not(.otc-pullquote):not(.otc-stat-card):not(.otc-widget):not(.otc-floating-toc),
body.otc-reading-mode .sidebar,
body.otc-reading-mode .navigation,
body.otc-reading-mode #wpadminbar { display: none !important; }
/* Print */
@media print {
.otc-floating-toc, .otc-features-bar, .otc-share, .otc-newsletter, .otc-helpful, .otc-widget, .otc-progress, .otc-yt-embed, .otc-pullquote-tweet { display: none !important; }
.otc-article { font-size: 11pt; max-width: none; }
.otc-article h2, .otc-article h3 { page-break-after: avoid; }
.otc-article a::after { content: ” (” attr(href) “)”; font-size: 9pt; color: #666; }
}
/* Share buttons */
.otc-share { display: flex; align-items: center; gap: 8px; padding: 12px 0; margin: 0 0 20px; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; flex-wrap: wrap; }
.otc-share-label { font-size: 13px; color: #64748b; font-weight: 500; }
.otc-share-btn { width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; color: white; font-weight: 700; font-size: 16px; border: 0; cursor: pointer; transition: transform 0.12s; }
.otc-share-btn:hover { transform: scale(1.1); }
.otc-share-x { background: #000; }
.otc-share-fb { background: #1877f2; }
.otc-share-ln { background: #0a66c2; }
.otc-share-wa { background: #25d366; }
.otc-share-copy { background: #64748b; }
/* Newsletter CTA */
.otc-newsletter { display: flex; align-items: center; gap: 18px; background: linear-gradient(135deg,#fef9c3,#fde68a); border: 1px solid #facc15; border-radius: 12px; padding: 22px 26px; margin: 32px 0; }
.otc-newsletter-icon { font-size: 42px; flex-shrink: 0; }
.otc-newsletter-body { flex: 1; }
.otc-newsletter h3 { margin: 0 0 6px; font-size: 18px; color: #78350f; }
.otc-newsletter p { margin: 0 0 12px; color: #78350f; font-size: 14px; }
.otc-newsletter-form { display: flex; gap: 8px; flex-wrap: wrap; }
.otc-newsletter-form input { flex: 1; min-width: 200px; padding: 10px 14px; border: 1px solid #d97706; border-radius: 6px; font-size: 14px; }
.otc-newsletter-form .otc-btn { background: #d97706; }
.otc-newsletter-form .otc-btn:hover { background: #b45309; }
.otc-newsletter-result { width: 100%; color: #065f46; font-weight: 500; font-size: 14px; margin-top: 8px; }
/* Helpful vote */
.otc-helpful { text-align: center; padding: 20px; margin: 28px 0; background: #f0f9ff; border: 1px dashed #93c5fd; border-radius: 10px; }
.otc-helpful h3 { margin: 0 0 12px; color: #1e40af; font-size: 16px; }
.otc-helpful-buttons { display: flex; gap: 12px; justify-content: center; }
.otc-vote-btn { background: white; border: 1px solid #93c5fd; border-radius: 6px; padding: 10px 20px; cursor: pointer; font-size: 14px; font-weight: 500; color: #1e40af; transition: all 0.12s; }
.otc-vote-btn:hover { background: #2563eb; color: white; }
.otc-vote-thanks { color: #1e40af; font-weight: 500; padding: 8px; }
.otc-vote-thanks a { color: #2563eb; }
/* Related articles */
.otc-related { margin: 36px 0 0; padding-top: 24px; border-top: 1px solid #e5e7eb; }
.otc-related h2 { margin-bottom: 16px; }
.otc-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.otc-related-card { display: block; background: white; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px 16px; text-decoration: none; transition: border-color 0.12s, transform 0.12s; }
.otc-related-card:hover { border-color: #3b82f6; transform: translateY(-2px); }
.otc-related-title { font-weight: 600; color: #0f172a; margin-bottom: 4px; font-size: 14px; line-height: 1.4; }
.otc-related-meta { font-size: 12px; color: #64748b; }
@media (max-width: 600px) { .otc-article h2 { font-size: 22px; } .otc-stats-row { grid-template-columns: 1fr; } .otc-newsletter { flex-direction: column; text-align: center; } }
Les frais de ménage Airbnb sont un élément clé pour garantir un logement propre et accueillant à chaque voyageur. Mais comment fixer le bon tarif sans perdre en rentabilité ? Les fourchettes varient de 20€ pour un studio à 300€ pour une villa, selon la taille du logement, votre localisation et le prestataire choisi. Ce guide vous aide à déterminer le coût réel du nettoyage et à adapter vos tarifs pour rester compétitif tout en couvrant vos dépenses.
Frais de ménage Airbnb : sont-ils obligatoires ?
Contrairement aux idées reçues, les frais de ménage ne sont pas obligatoires sur Airbnb. Vous, en tant que propriétaire, décidez librement du montant à facturer. Airbnb propose cependant une structure avec des frais standards pour les séjours longs et des frais réduits pour les nuits courtes (1-2 nuits).
Le rôle de ces frais est simple : couvrir le coût réel du nettoyage en profondeur entre deux réservations. Cette séparation du prix de la nuitée et du ménage a un impact psychologique sur les voyageurs, mais elle reflète une réalité économique : le nettoyage à 60°C des draps, le désinfectant, l’usure du matériel, coûtent de l’argent.

Tarifs ménage Airbnb par type de logement
Voici les fourchettes observées sur le marché français en 2024-2025 :
Une estimation souvent citée par les professionnels est d’environ 1,50€ par m² pour un nettoyage final complet. Source: PriceLabs
Cette base vous permet d’estimer rapidement : un T3 de 80 m² = 120€ de nettoyage théorique. Mais plusieurs facteurs modifient ce calcul.
Comment calculer le coût réel du ménage
Fixer un tarif revient à comprendre vos coûts directs et indirects.
Coûts directs
- Nettoyage par prestataire : 40-120€/passage selon que vous employez un indépendant, une agence ou une plateforme
- Produits d’entretien : 5-15€ par passage (savon, désinfectant, désodorisant)
- Linge : 8-20€ par passage si lavage à 60°C à domicile ou en blanchisserie professionnelle
- Consommables : sacs poubelle, gants, chiffons, éponges (2-5€/passage)
Coûts indirects
- Surcoût turnover rapide : si un voyageur part à midi et le suivant arrive à 16h, surcoût de 30-50€ pour accélération du ménage
- Assurance responsabilité : si vous employez une personne, assurance décennale et responsabilité civile (environ 100-200€/an à répartir)
- Absentéisme : un prestataire absent = urgence d’embauche le jour même (prime d’urgence +20-30%)
- Déperdition qualité : mauvais ménage = mauvais avis = baisse du taux d’occupation (impact direct sur revenu)
Exemple concret : un T2 à Paris avec ménage agence à 75€ + produits 10€ + linge 15€ = 100€ minimum par passage. Si vous le facturez 60€, vous perdez 40€. Si vous le facturez 90€, vous alignez sur la concurrence locale.

Tarifs par région et contexte géographique
La localisation impacte fortement vos tarifs. Paris et la Côte d’Azur supportent des frais 30-40% plus élevés que la province.
Paris intra-muros : 70-120€ pour un T2, prestataires chers, demande forte, vous pouvez imposer des tarifs élevés.
Province (Bordeaux, Lyon, Toulouse) : 40-70€ pour un T2, moins de prestataires spécialisés Airbnb, plus de DIY hôtes.
Zones touristiques côtières : 60-150€ selon la saison, pics d’été justifient tarifs hauts.
Zones rurales : 25-50€, offre de ménage très réduite, clients plus tolérants.
Conseil : inspectez les annonces Airbnb de votre quartier. Si 80% affichent 65€ de ménage pour un T2, vous être à 55€ ou 85€ crée un signal pricing anormal (trop bas = qualité douteuse, trop haut = uncompetitive).
Trois modèles : DIY, auto-entrepreneur, agence
1. Ménage DIY (vous-même ou aide partielle)
Coût réel : votre temps valorisé + consommables (10-15€/passage)
Avantages : maîtrise totale, zéro frais ménage affichés, relation directe avec voyageurs
Inconvénients : burnout garanti après 3-4 annonces, impossible de scaler, vacances = pas de ménage
Quand l’utiliser : 1 logement max, 2-3 réservations/mois, vous tolérez la charge physique
2. Auto-entrepreneur spécialisé Airbnb
Coût réel : 40-75€/passage (déclaré) + risque juridique
Avantages : moins cher qu’agence, relation stable, flexible
Inconvénients : no-show sans garantie de remplacement, cotisations impayées = responsabilité légale (travail au noir), turnover fréquent, pas de backup
Quand l’utiliser : 2-3 annonces, vous avez trouvé 1-2 perles fiables après tests, vous tolérez le risque
3. Agence ou plateforme spécialisée
Coût réel : 60-120€/passage (+ commission 20-30% pour plateforme Helpling/Bénéfix)
Avantages : garantie de service, backup immédiat, responsabilité assurée, standardisé
Inconvénients : plus cher, moins de relation personnelle, équipes variables
Quand l’utiliser : 3+ annonces, vous cherchez scalabilité, stabilité, zéro prise de tête légale

Adapter vos tarifs selon la saisonnalité
Les frais de ménage doivent aussi suivre les cycles de réservation.
Haute saison (juin-septembre) : tournover rapide, demande élevée, ménages urgents. Augmentez de 10-20%. Un T2 normalement à 65€ peut passer à 75-80€.
Saison intermédiaire (avril-mai, septembre-octobre) : tarif standard, c’est votre référence.
Basse saison (novembre-mars) : occupancy basse, vous pouvez réduire les frais de 5-10% pour attirer des réservations et compenser la baisse de nuitées.
Séjours longs (7+ nuits) : Airbnb recommande de réduire les frais (vous les incluez mieux dans la nuitée). Réduisez de 20-30%.
Nuits courtes (1-2 nuits) : coût ménage relatif très élevé. Augmentez de 15-25% pour compenser la fréquence.
Exemple : T2 Paris normalement 80€
- 1 nuit : 95€ (surcoût turnover)
- 3-6 nuits : 75€ (standard)
- 7+ nuits : 60€ ou intégré au prix
- Juillet : 90€ (haute saison)
Qui paie réellement les frais de ménage ?
Airbnb affiche clairement à la réservation : “Frais de ménage : X€”. Le voyageur paie, c’est sa responsabilité. Mais c’est le propriétaire (vous) qui doit les reverser au prestataire.
Flux financier :
1. Voyageur paie 50€ de ménage à Airbnb
2. Airbnb vous crédite ces 50€ (moins commission Airbnb sur ces frais)
3. Vous versez 50€ (ou moins) à votre prestataire
4. La différence couvre votre marge et votre gestion administrative
Attention : Airbnb prélève une commission aussi sur les frais de ménage (selon votre contrat, 14-16%). Donc si vous affichez 75€, vous en recevez ~63-64€.
Frais annexes à ne pas oublier
Linge de lit et linge de bain : lavage à 60°C (normes hygiène Airbnb obligatoire). Coût : 8-20€/passage en blanchisserie professionnelle. Certains hôtes l’incluent dans les frais de ménage, d’autres le facturent à part.
Produits d’accueil : café, savon, shampooing. Certains hôtes le budget séparément (5-10€), d’autres l’incluent.
Remplacement mobilier/casse : usure normale des meubles, remplacement torchons/éponges. Budget 1-2% du revenu annuel.
Assurance et responsabilité civile : si vous employez quelqu’un, obligation légale. Environ 150-250€/an selon votre région et couverture.
Outils et équipement : aspirateur, nettoyeur vapeur, etc. Amortissez sur 3-5 ans.

Conseil actionnable : benchmark sur 12 passages
Avant de fixer vos tarifs définitivement, faites un test :
1. Appelez 1 agence locale + 2 indépendants + testez 1 plateforme (Helpling, Bénéfix). Demandez devis pour 12 passages sur 3 mois, logement identique.
2. Notez le tarif net + présence (0 no-show ?) + qualité (note client post-ménage).
3. Calculez le vrai ratio : coût/passage + risque d’absentéisme = coût réel pour vous.
4. Comparez aux tarifs affichés localement dans votre quartier sur Airbnb.
5. Fixez votre tarif : si benchmark dit “T2 70€ en moyenne”, alignez-vous à 65-75€ selon votre qualité.
Le “moins cher” qui te coûte une plainte client = 150-300€ de revenu perdu. La vraie question n’est pas “combien” mais “quel coût en cas de ratage ?”
Questions fréquentes
Qui fait le ménage dans un Airbnb ?
Trois options : vous-même (DIY), un auto-entrepreneur indépendant, ou une agence/plateforme spécialisée. Chaque modèle a ses coûts et risques. Les agences coûtent plus cher mais offrent garantie de service et couverture légale. Les indépendants sont moins chers mais exposent au risque de no-show ou travail au noir.
Quel est le tarif d’une femme de ménage auto-entrepreneur Airbnb ?
Entre 40 et 75€ par passage selon la région et la taille du logement. Paris : 60-75€ pour un T2. Province : 40-60€. Ces tarifs ne couvrent que le nettoyage. Ajoutez produits (5-10€), linge (10-15€) pour le coût total réel. Assurez-vous que déclaration et cotisations sont à jour (risque légal sinon).
Quels sont les frais de service Airbnb sur le ménage ?
Airbnb prélève une commission (environ 14-16%) sur les frais de ménage que vous facturez. Exemple : vous affichez 75€, vous recevez ~63-64€. Cette commission rémunère la plateforme pour l’affichage et la gestion de la réservation.
Airbnb imposable à partir de combien ?
Les revenus Airbnb sont imposables dès le premier euro. Seuil d’imposition dépend de votre situation personnelle (revenus autres, taux marginal). Pour 2025, un revenu Airbnb brut de 10 000€ avec 2 500€ de ménage déductible = 7 500€ imposables. Consultez un expert-comptable pour votre situation précise.
Comment adapter les tarifs de ménage en fonction de la saison ?
Haute saison (juin-septembre) : augmentez de 10-20%. Basse saison (novembre-mars) : réduisez de 5-10%. Séjours longs (7+ nuits) : baissez de 20-30%. Nuits courtes (1-2 nuits) : augmentez de 15-25% pour compenser la fréquence. Alignez aussi sur vos coûts réels : un ménage en urgence à 23h coûte plus cher qu’en journée.
Quels sont les coûts directs à inclure dans le tarif de ménage ?
Nettoyage prestataire (40-120€), produits d’entretien (5-15€), linge lavé à 60°C (8-20€), consommables (sacs, gants, chiffons : 2-5€). Total minimum par passage : ~60-75€ pour un T2. Les coûts indirects (assurance, absentéisme, urgences) s’ajoutent et justifient une marge commerciale de 10-20%.
Quelle est la durée moyenne d’un ménage pour un appartement T2 ?
2 à 3 heures en conditions normales pour un T2 de 50-65 m². Studio : 1-1.5h. Maison 150 m² : 4-5h. Cette durée varie selon état du logement, nombre de lits, densité mobilier. Un ménage expédié en 1h = qualité compromise = risque avis négatif.
Quels sont les frais annexes à considérer pour un ménage Airbnb ?
Linge spécialisé (lavage 60°C obligatoire), produits d’accueil (café, savon), remplacement mobilier/casse (usure normale), assurance responsabilité civile (150-250€/an si salarié), outils et équipement (aspirateur, nettoyeur vapeur). Budgétez 10-15% de marge pour couvrir ces dépenses.
📚 Sources & références
- Tarifs des frais de ménage Airbnb : tout ce qu’il faut savoir — Liwango
- Comment fixer ses tarifs de ménage en conciergerie Airbnb — Jana Concierge
- Frais de ménage Airbnb : Tout savoir sur les frais — PriceLabs
- Frais de ménage Airbnb : quelle politique adopter — Minut
- Forfait Ménage pour Location Airbnb — Un temps pour vous
/* Otomatic Widgets — vanilla JS, externe pour passer les filtres WP/CMS */
(function () {
‘use strict’;
function init() {
// Reading progress
var p = document.getElementById(‘otc-progress’);
if (p) {
function upd() {
var s = window.scrollY,
h = document.documentElement.scrollHeight – window.innerHeight;
p.style.width = (h ? (s / h) * 100 : 0) + ‘%’;
}
document.addEventListener(‘scroll’, upd, { passive: true });
upd();
}
// Quiz interactif
document.querySelectorAll(‘.otc-widget-quiz’).forEach(function (quiz) {
var qs = quiz.querySelectorAll(‘.otc-quiz-question’);
if (!qs.length) return;
var btn = quiz.querySelector(‘.otc-quiz-submit’);
var res = quiz.querySelector(‘.otc-quiz-result’);
if (btn && !btn.dataset.bound) {
btn.dataset.bound = ‘1’;
btn.addEventListener(‘click’, function () {
var score = 0,
total = qs.length;
qs.forEach(function (q) {
var sel = q.querySelector(‘input[type=radio]:checked’);
if (sel && sel.dataset.correct === ‘1’) score++;
});
var pct = Math.round((score / total) * 100);
var msg =
pct >= 80 ? ‘🏆 Excellent ! ‘ : pct >= 50 ? ‘👍 Pas mal ! ‘ : ‘📚 Continuez à apprendre ! ‘;
res.textContent = msg + ‘Score : ‘ + score + ‘/’ + total + ‘ (‘ + pct + ‘%)’;
res.classList.add(‘show’);
});
}
});
// Calculateur live
document.querySelectorAll(‘.otc-widget-calculator-inner’).forEach(function (calc) {
var inputs = calc.querySelectorAll(‘input[type=number]’);
var resEl = calc.querySelector(‘.otc-calc-result’);
var formula = calc.dataset.formula || ‘v.a + v.b’;
var unit = calc.dataset.unit || ”;
var label = calc.dataset.resultLabel || ‘Total : ‘;
if (!inputs.length || !resEl) return;
// Nettoie la formule : strip “var”/”let”/”const” déclarations + détecte si c’est une expression ou un body
var formulaClean = formula
.replace(/b(var|let|const)s+/g, ”) // strip déclarations
.replace(/bv.s*varb/g, ‘v.v’) // au cas où Claude écrit v.var
.trim();
var isBody = /[;]s*S/.test(formulaClean) || /breturnb/.test(formulaClean);
function compute() {
var values = {};
inputs.forEach(function (i) {
values[i.name] = parseFloat(i.value) || 0;
});
try {
var fn;
if (isBody) {
// Body : ajoute return si absent
var body = /breturnb/.test(formulaClean) ? formulaClean : (formulaClean + ‘; return v.result || 0;’);
fn = new Function(‘v’, body);
} else {
fn = new Function(‘v’, ‘return (‘ + formulaClean + ‘)’);
}
var r = fn(values);
var out =
typeof r === ‘number’
? Math.round(r * 100) / 100
: r;
resEl.textContent = label + out + unit;
} catch (e) {
resEl.textContent = ‘Erreur de calcul : ‘ + e.message;
}
}
inputs.forEach(function (i) {
if (!i.dataset.bound) {
i.dataset.bound = ‘1’;
i.addEventListener(‘input’, compute);
}
});
compute();
});
// Sondage avec localStorage
document.querySelectorAll(‘.otc-widget-poll [data-poll-id]’).forEach(function (poll) {
var pollId = poll.dataset.pollId;
var key = ‘otc_poll_’ + pollId;
var stored = JSON.parse(localStorage.getItem(key) || ‘{“votes”:{},”voted”:false}’);
var options = poll.querySelectorAll(‘.otc-poll-option’);
function render() {
var totalVotes = Object.values(stored.votes).reduce(function (a, b) {
return a + b;
}, 0);
if (totalVotes === 0) totalVotes = 1;
options.forEach(function (o) {
var k = o.dataset.optionKey;
var v = stored.votes[k] || 0;
var pct = Math.round((v / totalVotes) * 100);
var bar = o.querySelector(‘.pct-bar’);
var pctEl = o.querySelector(‘.pct’);
if (bar) bar.style.width = pct + ‘%’;
if (pctEl && stored.voted) pctEl.textContent = pct + ‘%’;
});
if (stored.voted) poll.classList.add(‘otc-poll-voted’);
}
options.forEach(function (o) {
if (o.dataset.bound) return;
o.dataset.bound = ‘1’;
o.addEventListener(‘click’, function () {
if (stored.voted) return;
var k = o.dataset.optionKey;
stored.votes[k] = (stored.votes[k] || 0) + 1;
stored.voted = true;
localStorage.setItem(key, JSON.stringify(stored));
render();
});
});
render();
});
// Floating TOC scroll spy + collapse toggle
var toc = document.querySelector(‘.otc-floating-toc’);
if (toc) {
var toggle = toc.querySelector(‘.otc-toc-toggle’);
var headings = document.querySelectorAll(‘.otc-article h2[id]’);
var links = toc.querySelectorAll(‘a[href^=”#”]’);
// Collapse au clic
if (toggle && !toggle.dataset.bound) {
toggle.dataset.bound = ‘1’;
toggle.addEventListener(‘click’, function () {
var collapsed = toc.dataset.collapsed === ‘true’;
toc.dataset.collapsed = collapsed ? ‘false’ : ‘true’;
toggle.setAttribute(‘aria-expanded’, collapsed ? ‘true’ : ‘false’);
});
}
// Auto-collapse au scroll vers le bas (mobile)
function spy() {
var sy = window.scrollY + 120;
var current = null;
headings.forEach(function (h) {
if (h.offsetTop = 13 && savedFs <= 22) {
var body = document.querySelector('.otc-article');
if (body) body.style.fontSize = savedFs + 'px';
}
} catch (e) {}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
// Re-init si contenu ajouté dynamiquement (idempotent grâce aux dataset.bound)
setTimeout(init, 1500);
})();
