Aller au contenu principal
Nouveautés

Changelog

Toutes les mises à jour de l'API Scell.io

  1. Fonctionnalité
    v2.25.0

    Conformité Factur-X BT-81 : mode d'encaissement normé sur mark-paid

    • Backend — Nouvel enum `PaymentMeansCode` (11 codes UN/ECE 4461 : 1, 10 espèces, 20 chèque, 30 virement, 42 versement bancaire, 48 CB, 49 prélèvement, 57 permanent, 58 virement SEPA, 59 prélèvement SEPA, 97 compensation) avec labels FR/EN
    • Backend — Endpoint POST /v1/invoices/{id}/mark-paid exige désormais `payment_means_code` (avec `payment_means_text` optionnel pour libellé bancaire libre). 3 controllers couverts : factures sortantes, factures entrantes, tenant incoming
    • Backend — XML CII Factur-X inclut maintenant `<ram:SpecifiedTradeSettlementPaymentMeans><ram:TypeCode>X</ram:TypeCode>` (était hardcodé à 42 — non-conforme dès qu'une facture était payée autrement)
    • Backend — Migration colonnes `payment_means_code` (varchar 2) + `payment_means_text` (varchar 100) sur invoices + credit_notes (nullable, backward compat sur factures historiques)
    • Dashboard — Modal "Marquer payée" Antd avec Select des modes de paiement (codes courants B2B France priorité affichage : virement SEPA, virement classique, chèque, CB, prélèvement, espèces), champ libellé bancaire optionnel, default = 58 (virement SEPA)
    • SDK PHP scell/sdk v2.25.0 — Enum `Scell\Sdk\Enums\PaymentMeansCode` + `InvoicesResource::markPaid()` avec param obligatoire
    • SDK TypeScript @scell/sdk v2.25.0 — Type `PaymentMeansCode` union literal + `markPaid()` typed
    • Agent MCP @scell/mcp-client v2.25.0 — Nouveaux tools `scell_mark_invoice_paid` + `scell_mark_incoming_invoice_paid` (catalogue 96 → 98)
    • OpenAPI publique sync : schema `PaymentMeansCode` exposé + MarkPaidRequest enrichi avec exemples
    • Tests — 9 tests MarkPaidWithMeansCodeTest (22 assertions) : cast enum, persistence, validation strict, génération XML BT-81, backward compat
  2. Plateforme
    v2.24.0

    SDKs alignés sur v2.24 : CreditPacks, FEC all, InvoiceTemplates wired, BalanceResource deprecated

    • Backend — OpenAPI publique sync drift 15→0 (4 endpoints + 8 schemas ajoutés : VAT context, FEC all, archive-health, API key rotate). 180 paths + 40 schemas documentés.
    • Backend — `ApiDocumentation` mention SDK officielles bumpées vers v2.24.0+
    • SDK PHP `scell/sdk` v2.24.0 — `CreditPacksResource` publique, `BillingResource::listPacks()` + `checkoutPack()`, `FiscalResource::exportFecAll()` cross sub-tenant, `TenantIncomingInvoiceResource::dispute()`, DTO `PaymentSchedulePreset` typed. `BalanceResource` marqué `@deprecated` (endpoints supprimés backend 2026-05-10). Tests 156→191 (920 assertions). PHPStan clean.
    • SDK TypeScript `@scell/sdk` v2.24.0 — `client.invoiceTemplates` désormais wired (était orphan), `client.version()` helper pour drift detection, `client.creditPacks` publique, suppression 3 méthodes Fiscal doublons cassées. `BalanceResource` marqué `@deprecated`. Tests 118→133 (15 nouveaux). Zero runtime dependencies préservé.
    • Agent MCP `@scell/mcp-client` v2.24.0 — **24 nouveaux tools** (catalogue 72→96) : Buyers (5), Invoice Templates (6), Branding (3), Billing (4), Credit Packs (2), Sub-Tenant CRUD (4). Fix `VERSION` CLI const (figé depuis v2.15 à 2.14.0), fix header tools count, fix description `scell_tenant_list_signatures` (retire ref obsolète `403 COMPANY_REQUIRED`). 190/190 tests verts.
    • Site — Page `/sdk` mise à jour avec les 3 versions v2.24.0 + mention "96 outils" sur la card MCP. Page `/api-docs` (Swagger UI) sert l'OpenAPI sync. Pages publiques (about, contact, dpa, trust, blog) inchangées.
    • PostHog EU project 188671 activé sur les 3 sites (website Next.js + dashboard Vite + ...) — analytics produit privacy-first, consent-aware via store P2.21, PII blocklist active, host `eu.i.posthog.com` (RGPD).
    • Documentation llms.txt (PHP, TS, MCP) — sections v2.24.0 ajoutées avec features et notes (Refund non applicable côté SDK : passe par CreditNote ou Stripe webhook).
  3. Fonctionnalité
    v2.23.0

    Couverture exhaustive des énumérations dans les SDK + doc

    • SDK PHP scell/sdk v2.21.0 — 19 énumérations exposées dans `Scell\Sdk\Enums\*` (8 BackedEnum PHP synchronisées via codegen back→front + 11 string enums adossés aux contraintes CHECK PostgreSQL)
    • SDK TypeScript @scell/sdk v2.23.0 — mêmes 19 énumérations exposées en union types stricts (`InvoiceType`, `QuoteStatus`, `VatCategory`, `SignatureStatus`, etc.)
    • Agent MCP @scell/mcp-client v2.22.0 — descriptions d'outils enrichies avec les valeurs autorisées des 19 énumérations (le LLM voit désormais le vocabulaire complet de l'API)
    • Énumérations exposées : `InvoiceTemplateKind`, `InvoiceType`, `PaymentScheduleLineAmountType`, `PaymentScheduleLineStatus`, `QuoteStatus`, `QuoteAuditAction` (21 valeurs), `SubTenantOnboardingStatus`, `VatCategory` (8 catégories EN16931)
    • Énumérations DB : `CreditNoteStatus`, `CreditNoteType`, `SignatureStatus`, `SignatureArchiveStatus`, `InvoiceArchiveStatus`, `TenantKybStatus`, `CompanyStatus`, `ApiKeyStatus`, `TenantInvoiceStatus`, `TenantTransactionType`, `OnboardingSessionStatus`
    • Site — nouvelle section « Énumérations & statuts » sur la page /sdk listant les 19 énumérations avec valeurs et description (fin de la confusion sur les statuts de devis, signatures, sub-tenants…)
    • Documentation llms.txt (PHP, TS, MCP) — section « Enums & statuts » alignée 1:1 avec le code des SDK
  4. Fonctionnalité
    v2.22.0

    Statut refunded automatique sur factures avec avoir

    • Backend — nouveaux statuts `refunded` et `partially_refunded` ajoutés à la check constraint des factures (16 statuts au total)
    • Backend — observer `CreditNoteObserver` qui pose automatiquement le statut au validate d'un avoir : `refunded` si la somme des avoirs ≥ total TTC, sinon `partially_refunded`
    • Backend — nouveaux champs `refund_status` (none|partial|full) et `total_refunded` (float) exposés sur tout payload Invoice (GET /invoices, GET /invoices/{id})
    • Backend — backfill rétroactif appliqué en prod : 1 facture impactée (QRCOM-202605-00001) repassée en `partially_refunded` cohérent
    • SDK PHP scell/sdk v2.20.0 — enum `InvoiceStatus` complet (16 valeurs) + champs `refund_status` et `total_refunded` sur le DTO Invoice
    • SDK TypeScript @scell/sdk v2.22.0 — type union `InvoiceStatus` exhaustif + `refund_status` et `total_refunded` sur l'interface Invoice
    • Agent MCP @scell/mcp-client v2.21.0 — descriptions enrichies pour les outils invoices avec les nouveaux statuts et champs refund_*
    • Dashboard — masquage du bouton « Marquer payée » dès qu'un avoir validé existe sur la facture (incohérence métier prévenue côté UI)
    • Fix bonus — signature PDF des devis acceptés : tampon image rendu propre (au lieu de texte brut) + horodatage à la seconde
    • Fix bonus — endpoint mark-paid : statut cible corrigé en `completed` (et non `paid`) pour matcher le workflow ISCA, fix du 500 historique
    • Fix bonus — wizard facture acompte/solde : l'acheteur est désormais pré-rempli depuis le devis source (parité avec le mode standard)
  5. Fonctionnalité
    v2.21.0

    Facture standard depuis un devis + fixes critiques signature & UX devis

    • Nouveau : POST /api/v1/invoices accepte parent_quote_id pour les factures standard — lien facture↔devis préservé (anti-IDOR tenant scope)
    • Dashboard — bouton « Créer une facture » sur le drawer de devis : redirige vers le wizard pré-rempli (lignes + acheteur copiés depuis le devis)
    • Dashboard — sélecteur « Pré-remplir depuis un devis » directement dans le wizard create invoice (mode standard)
    • Dashboard — total « À facturer » réactif au keystroke dans la modal d'acompte ET dans le wizard facture (fix bug : la valeur ne se mettait pas à jour au switch %/€ et au scroll)
    • SDK PHP scell/sdk v2.19.0 — méthode fluent $builder->parentQuoteId() + fix payload (le champ était silencieusement droppé depuis v2.15.0)
    • SDK TypeScript @scell/sdk v2.21.0 — champ parent_quote_id sur CreateInvoiceInput
    • Agent MCP @scell/mcp-client v2.20.0 — champ parentQuoteId sur l'outil scell_create_invoice
    • Fix critique — canvas de signature manuscrite sur les devis publics (import statique de signature_pad, corrige le bundle vide en production)
    • Fix critique — CSRF 419 sur l'acceptation/refus d'un devis public (routes api/v1/public/quotes/* exclues du middleware stateful Sanctum)
    • Page publique de confirmation de devis — bouton « Fermer la fenêtre » (window.close + hint fallback) à la place du retour à l'accueil
  6. Fonctionnalité
    v2.16.0

    SDKs — CRUD complet factures & avoirs + mark-paid

    • SDK TypeScript @scell/sdk v2.16.0 — invoices.update(), invoices.delete(), creditNotes.update(), creditNotes.delete() (brouillons uniquement, conformité ISCA)
    • SDK PHP scell/sdk v2.14.0 — mêmes méthodes update/delete ajoutées côté PHP
    • Agent MCP @scell/mcp-client v2.15.0 — nouvel outil scell_mark_invoice_paid (marquer une facture sortante comme payée)
    • API Backend — POST /invoices/{id}/mark-paid pour les factures sortantes (statuts validated/transmitted/sent/accepted)
    • Page /sdk refondue — exemples avec payloads complets vérifiés vs backend, sections Devis et Échéancier ajoutées, menu réorganisé
    • Documentation llms.txt mise à jour (API + MCP)
  7. Fonctionnalité
    v1.9.0

    Agent MCP + SDKs officiels

    • SDK TypeScript @scell/sdk v1.10.0 — 16 resources, typage complet
    • SDK PHP scell/sdk — intégration Laravel native, 16 resources
    • Agent MCP @scell/mcp-client v1.5.0 — 33 outils pour Claude, Cursor, VS Code
    • Fichiers llms.txt et openapi.json publics pour les IA
  8. Plateforme
    v1.5.0

    Multi-tenant B2B + Conformité ISCA

    • API Tenant complète : sub-tenants, facturation déléguée, billing consolidé
    • Auto-certification ISCA : attestation, dossier technique, registre des mesures
    • Grand livre fiscal immutable avec chaîne de hachage SHA-256
    • Export FEC (Fichier des Écritures Comptables) pour l'administration fiscale
    • Kill-switch fiscal d'urgence
  9. Fonctionnalité
    v1.2.0

    Support complet Factur-X

    • Génération automatique des PDF/A-3 conformes
    • Validation des profils BASIC, EN 16931 et EXTENDED
    • Conversion entre formats (Factur-X, UBL 2.1, CII D16B)
    • Piste d'Audit Fiable (PAF) native
  10. Plateforme
    v1.1.0

    Refonte Signatures eIDAS

    • Support multi-signataires (séquentiel et parallèle)
    • OTP SMS via notre partenaire de signature certifié — inclus dans le prix par signataire
    • Personnalisation des emails d'invitation
    • Webhooks signature.signed, signature.completed, signature.expired
    • Fichier de preuve horodaté et archivage 10 ans
  11. Lancement
    v1.0.0

    Lancement Public

    • API REST ouverte en beta publique
    • Modules Facturation électronique et Signature eIDAS EU-SES
    • Sandbox gratuit avec clés sk_test_
    • Dashboard web pour la gestion des factures et signatures
    • Webhooks HMAC-SHA256 avec retry automatique

Vos préférences cookies

Nous utilisons des cookies pour améliorer votre expérience. Les cookies essentiels sont toujours actifs. Politique cookies.