Files
3d-pricing/templates/settings.html
T

167 lines
7.2 KiB
HTML

{% extends 'base.html' %}
{% block title %}Parametres{% endblock %}
{% block content %}
<div class="page-header">
<h1><i class="bi bi-sliders me-2 text-secondary"></i>Parametres globaux</h1>
<p class="text-muted small mt-1">Valeurs par defaut — remplacees si un profil est selectionne lors du calcul.</p>
</div>
<form method="POST">
<div class="row g-4">
<div class="col-md-6">
<div class="card">
<div class="card-header py-3"><i class="bi bi-boxes me-2"></i>Filament</div>
<div class="card-body">
<div class="mb-3">
<label class="form-label">Prix du filament (€/kg)</label>
<input type="number" name="filament_price_per_kg" class="form-control"
step="0.01" value="{{ settings.filament_price_per_kg }}">
</div>
<div class="mb-3">
<label class="form-label">Marge matiere (%)</label>
<input type="number" name="material_margin_pct" class="form-control"
step="0.5" value="{{ settings.material_margin_pct }}">
<div class="form-text">Appliquee sur le cout matiere brut.</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header py-3"><i class="bi bi-lightning-charge me-2"></i>Electricite</div>
<div class="card-body">
<div class="mb-3">
<label class="form-label">Prix kWh (€)</label>
<input type="number" name="electricity_price_kwh" class="form-control"
step="0.001" value="{{ settings.electricity_price_kwh }}">
</div>
<div class="mb-3">
<label class="form-label">Puissance imprimante (kW)</label>
<input type="number" name="printer_power_kw" class="form-control"
step="0.01" value="{{ settings.printer_power_kw }}">
<div class="form-text">Bambu X1C ≈ 0.35 kW en moyenne.</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header py-3"><i class="bi bi-gear me-2"></i>Usure machine</div>
<div class="card-body">
<div class="row g-2 mb-2">
<div class="col-6">
<label class="form-label">Prix imprimante (€)</label>
<input type="number" name="printer_price" class="form-control"
step="1" value="{{ settings.printer_price }}">
</div>
<div class="col-6">
<label class="form-label">Duree de vie (h)</label>
<input type="number" name="printer_lifespan_hours" class="form-control"
step="100" value="{{ settings.printer_lifespan_hours }}">
</div>
</div>
<div class="row g-2 mb-2">
<div class="col-6">
<label class="form-label">Prix buse (€)</label>
<input type="number" name="nozzle_price" class="form-control"
step="0.5" value="{{ settings.nozzle_price }}">
</div>
<div class="col-6">
<label class="form-label">Duree de vie buse (h)</label>
<input type="number" name="nozzle_lifespan_hours" class="form-control"
step="10" value="{{ settings.nozzle_lifespan_hours }}">
</div>
</div>
<div class="row g-2">
<div class="col-6">
<label class="form-label">Prix plateau (€)</label>
<input type="number" name="plate_price" class="form-control"
step="0.5" value="{{ settings.plate_price }}">
</div>
<div class="col-6">
<label class="form-label">Duree de vie plateau (h)</label>
<input type="number" name="plate_lifespan_hours" class="form-control"
step="50" value="{{ settings.plate_lifespan_hours }}">
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card mb-4">
<div class="card-header py-3"><i class="bi bi-hand-index me-2"></i>Manutention</div>
<div class="card-body">
<div class="mb-3">
<label class="form-label">Taux horaire manutention (€/h)</label>
<input type="number" name="handling_rate_per_hour" class="form-control"
step="1" value="{{ settings.handling_rate_per_hour }}">
</div>
<div class="mb-3">
<label class="form-label">Temps par plateau (minutes)</label>
<input type="number" name="handling_minutes_per_plate" class="form-control"
step="1" value="{{ settings.handling_minutes_per_plate }}">
</div>
</div>
</div>
<div class="card">
<div class="card-header py-3"><i class="bi bi-percent me-2"></i>Fiscal</div>
<div class="card-body">
<div class="mb-3">
<label class="form-label fw-semibold">Cotisations sociales (%)</label>
<input type="number" name="cotisations_rate_pct" class="form-control"
step="0.1" value="{{ settings.cotisations_rate_pct }}">
<div class="form-text">
<strong>12.3%</strong> — micro-entrepreneur BIC vente (fabrication/vente de marchandises, 2024).
Calculees sur le CA HT.
</div>
</div>
<div class="mb-3">
<label class="form-label fw-semibold">Versement Forfaitaire Liberatoire — impot (%)</label>
<input type="number" name="vfl_rate_pct" class="form-control"
step="0.1" value="{{ settings.vfl_rate_pct }}">
<div class="form-text">
<strong>1%</strong> — BIC vente (si option VFL activee).
Mettre <strong>0</strong> si vous n'avez pas opte pour le VFL (impot sur declaration classique).
</div>
</div>
<hr>
<div class="mb-2">
<label class="form-label fw-semibold">TVA (%)</label>
<input type="number" name="tva_rate_pct" class="form-control"
step="0.1" value="{{ settings.tva_rate_pct }}">
<div class="form-text">
<strong>20%</strong> — taux normal applicable a la vente de biens imprimes 3D.
La TVA s'ajoute au prix HT et est collectee pour l'Etat (non conservee).
</div>
</div>
{% set total_charges = settings.cotisations_rate_pct + settings.vfl_rate_pct %}
<div class="alert alert-info py-2 mt-3 mb-0 small">
<i class="bi bi-info-circle me-1"></i>
Charges sur CA HT : <strong>{{ total_charges }} %</strong>
(cotisations {{ settings.cotisations_rate_pct }}% + VFL {{ settings.vfl_rate_pct }}%)
{% if settings.tva_rate_pct > 0 %}
— TVA {{ settings.tva_rate_pct }}% collectee et reversee a l'Etat
{% else %}
— franchise TVA active
{% endif %}
</div>
</div>
</div>
</div>
</div>
<div class="mt-4">
<button type="submit" class="btn px-4 py-2 fw-bold" style="background:#ff6b35;color:#fff">
<i class="bi bi-save me-2"></i>Enregistrer les parametres
</button>
</div>
</form>
{% endblock %}