A Quote (Devis) represents a customer quotation in the system. It contains pricing information, validation state, and relationships to projects, companies, and quote items. Quotes can contain both configured products (from Briefs) and predefined articles.
Generate customer quotations with comprehensive pricing
Group multiple products (Quote Items) into a single quotation
Track validation states (draft, published, signed, rejected, expired)
Generate multi-language PDF documents
Manage quote validity periods and client acceptance
Support guest access via temporary links
Property Type Description idUUID Unique identifier codenumber Sequential quote identifier (generated on validation) namestring Quote name totalPricenumber Total price of the quote (min: 0, default: 0) toolingCostnumber Cost of tooling (default: 0) deliveryCostnumber Cost of delivery (default: 0) stateQuoteValidationState Current validation state (default: “draft”) acceptTermsboolean Terms acceptance flag (default: false) validatedAtDate Validation timestamp validUntilDate Expiration date for quote phoneNumberstring Contact phone number receiverNamestring Name of the recipient emailstring Contact email address (required, must be valid) uploadStatusTemporalStatus PDF generation upload status (default: “undefined”) temporaryAccessLinkstring Temporary access link for guest users externalIdstring External ID for ERP synchronization createdAtDate Creation timestamp updatedAtDate Last update timestamp deletedAtDate Soft delete timestamp
enum QuoteValidationState {
Draft = " draft " , // En brouillon - Quote is being edited
Published = " published " , // Nouveau (publié) - Quote sent to client
Signed = " signed " , // Signé - Client has accepted
Rejected = " rejected " , // Rejeté - Client has declined
Expired = " expired " // Expiré - Quote validity period has passed
Relationship Entity Type Description itemsQuoteItem One-to-Many Quote line items (required, min: 1) projectProject Many-to-One Associated project companyCompany Many-to-One Client company statusStatus Many-to-One Current workflow status pdfsFile One-to-Many Generated quote PDFs (multi-language support) contactUser Many-to-One Contact person addressAddress Many-to-One Delivery address userUser Many-to-One Quote creator validatedByUser Many-to-One User who validated the quote quoteSettingsQuoteSetting Many-to-One Quote settings configuration termAndConditionFile Many-to-One Terms and conditions file commentComment Many-to-One Associated comment
flowchart LR
Draft --> Published --> Signed
Draft --> Deleted
Published --> Rejected
Published --> Expired
Draft : Quote is being edited (no code assigned)
Published : Quote sent to client (unique code assigned)
Signed : Client has accepted the quote
Rejected : Client has declined the quote
Expired : Quote validity period has passed
Multi-language PDF : Quotes can be generated in multiple languages
Guest Access : Share quotes via temporary access links without login
Draft System : Auto-save quotes as drafts before publishing
ERP Integration : External ID field for synchronization with ERP systems
Mixed Content : Support for both configured products (Briefs) and predefined articles
Expiration Management : Automatic expiration based on validity period
Pricing Components : Separate tracking of base price, tooling, and delivery costs
QuoteItem - Line items within a quote
Article - Predefined products that can be quoted
Brief - Configuration requests that can be converted to quotes
Project - Projects that group quotes
Company - Companies receiving quotes