Comptabilite (Super Admin) : - ComptabiliteController avec 7 exports CSV/JSON compatibles SAGE (journal ventes, grand livre, FEC, balance agee, reglements, commissions Stripe 1.5%+0.25E, couts services) - Export PDF via ComptaPdf (FPDF) avec bloc legal pre-rempli, tableau pagine, champ signature DocuSeal - Signature electronique DocuSeal + callback + envoi email signe avec template dedie (compta_export_signed.html.twig) - Rapport financier public (RapportFinancierPdf) : recettes par service, depenses (Stripe, infra, prestataires), bilan excedent/deficit - Codes comptables clients EC-XXXX (plus de 411xxx) Prestataires (Super Admin) : - Entite Prestataire (raisonSociale, siret, email, phone, adresse) - Entite FacturePrestataire (numFacture, montantHt, montantTtc, year, month, isPaid, PDF via Vich) - CRUD complet avec recherche SIRET via proxy API data.gouv.fr - Commande cron app:reminder:factures-prestataire (5 du mois) - Factures prestataires integrees dans export couts services - Sidebar Super Admin : entree Prestataires + Comptabilite Stats (/admin/stats) : - Cout prestataire dynamique depuis FacturePrestataire - Fusion Infra + Prestataire en "Cout de fonctionnement" - Commission Stripe corrigee (1.5% + 0.25E par transaction) Divers : - DocuSealService::sendComptaForSignature() + getApi() - Customer::generateCodeComptable() format EC-XXXX-XXXXX - Protection double prefixe EC- a la creation client - Bouton regenerer PDF cache quand advert state=accepted - Modals sans script inline (data-modal-open/close dans app.js) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
43 lines
1.7 KiB
Django/Jinja
43 lines
1.7 KiB
Django/Jinja
APP_ENV=prod
|
|
APP_SECRET={{ app_secret }}
|
|
DATABASE_URL="postgresql://crm-siteconseil:{{ db_password }}@pgbouncer:6432/crm-siteconseil?serverVersion=16&charset=utf8"
|
|
MESSENGER_TRANSPORT_DSN=redis://:{{ redis_password }}@redis:6379/messages
|
|
SESSION_HANDLER_DSN=redis://:{{ redis_password }}@redis:6379/1
|
|
REDIS_CACHE_DSN=redis://:{{ redis_password }}@redis:6379/2
|
|
MAILER_DSN={{ mailer_dsn }}
|
|
DEFAULT_URI=https://ticket.e-cosplay.fr
|
|
VITE_LOAD=1
|
|
REAL_MAIL=1
|
|
OUTSIDE_URL=https://ticket.e-cosplay.fr
|
|
STRIPE_PK={{ stripe_pk }}
|
|
STRIPE_SK={{ stripe_sk }}
|
|
STRIPE_WEBHOOK_SECRET={{ stripe_webhook_secret }}
|
|
STRIPE_WEBHOOK_SECRET_CONNECT={{ stripe_webhook_secret_connect }}
|
|
STRIPE_MODE=live
|
|
SMIME_PASSPHRASE='{{ smime_passphrase }}'
|
|
MEILISEARCH_URL=http://meilisearch:7700
|
|
MEILISEARCH_API_KEY={{ meilisearch_api_key }}
|
|
SONARQUBE_URL=https://sn.esy-web.dev
|
|
SONARQUBE_BADGE_TOKEN={{ sonarqube_badge_token }}
|
|
SONARQUBE_PROJECT_KEY=crm_siteconseil
|
|
OAUTH_KEYCLOAK_CLIENT_ID=crm_ecosplay
|
|
OAUTH_KEYCLOAK_CLIENT_SECRET=QiksEpHqDCHFPMM9CWb3RHfag31VJfIV
|
|
OAUTH_KEYCLOAK_URL=https://auth.esy-web.dev
|
|
OAUTH_KEYCLOAK_REALM=e-cosplay
|
|
SECRET_ANALYTICS={{ analytics_secret }}
|
|
KEYCLOAK_ADMIN_CLIENT_ID=crm-ecosplay-admin
|
|
KEYCLOAK_ADMIN_CLIENT_SECRET={{ keycloak_admin_client_secret }}
|
|
AWS_PK={{ aws_pk }}
|
|
AWS_SECRET={{ aws_secret }}
|
|
AWS_REGION=eu-west-3
|
|
CLOUDFLARE_KEY={{ cloudflare_key }}
|
|
MAILCOW_URL=https://mail.esy-web.dev
|
|
MAILCOW_API_KEY={{ mailcow_api_key }}
|
|
WEBHOOK_BASE_URL=https://stripe.e-cosplay.fr
|
|
DOCUSEAL_URL=https://signature.esy-web.dev
|
|
DOCUSEAL_API={{ docuseal_api }}
|
|
DOCUSEAL_WEBHOOKS_SECRET_HEADER=X-Sign
|
|
DOCUSEAL_WEBHOOKS_SECRET={{ docuseal_webhooks_secret }}
|
|
TVA_ENABLED={{ tva_enabled }}
|
|
TVA_RATE={{ tva_rate }}
|