Dolibarr / dolibarr

Dolibarr ERP CRM is a modern software package to manage your company or foundation's activity (contacts, suppliers, invoices, orders, stocks, agenda, accounting, ...). it's an open source Web application (written in PHP) designed for businesses of any sizes, foundations and freelancers.
https://www.dolibarr.org
GNU General Public License v3.0
5.47k stars 2.8k forks source link

Title and Subtotal (In Dolibarr Core) - Specification #30742

Open FHenry opened 2 months ago

FHenry commented 2 months ago

English

1 - Objectives The goal of this feature is to integrate functionalities into the Dolibarr Core for certain documents that manage lines with the following concepts:

Title
Subtotal
Comment

Initial scope:

Commercial Proposal
Customer Order
Customer Invoice
Supplier Commercial Proposal
Supplier Order
Shipment
Supplier Reception

Secondary scope:

Refactoring and standardization of Dolibarr's code across all Core objects that manage lines, including:
    Intervention
    Expense Report
    BOM (Bill of Materials)
    Work Order (WO)
Default integration in the "boilerplate" offered by the Module Builder.

2 - Technical and Functional Specification

2.1 Module Configuration

The "Detailed Presentation" module has a configuration page. On this page, it is possible to activate the functionality for:

Commercial Proposal
Customer Order
Customer Invoice
Supplier Commercial Proposal
Supplier Order
Shipment
Supplier Reception

For each document type:

Title
Subtotal
Comment

Presentation Suggestion

image

The list of supported documents can be extended via a hook. The "Number of Levels" column:

Defaults to 2
Is empty and non-editable if Title = No and Subtotal = No

PDF Rendering Details

image

2.2 UI/UX

Based on the technical and functional specifications:

Commercial Proposal
Customer Order
Customer Invoice
Supplier Commercial Proposal
Supplier Order

The line entry allows the user to choose the type or nature of the line.

image

The "Subtotal" option only appears if a "Title" exists.

Title, Subtotal, and Comment lines are never transmitted in advanced accounting operations (linking), nor accounted for in reports based on Documents, nor accounted for in Referencing Objects (product/service/third parties).

2.2.1 Title

For a line of type "Title":

2.2.1.1 Creation and Modification

Presentation Suggestion in Creation and Modification Mode

image

Fields:

Title: Text
Show on PDF the Unit Price (UP): Checkbox
Show on PDF the Total Excl. VAT of the Line: Checkbox
Force page break before title: Checkbox
Level: Dropdown list based on technical and functional specifications, and if a higher level already exists
VAT: If entered, it will be applied to all lines below the title (up to the subtotal, if one exists and refers to it)
Discount: If entered, it will be applied to all lines below the title (up to the subtotal, if one exists and refers to it)

Title lines are identified in the line object using the "product_type" information with the value 9XXX.

2.2.1.2 Visualization

Visual indicators (icons) show the options "Show on PDF the Unit Price (UP)", "Show on PDF the Total Excl. VAT of the Line", and "Force page break before title". The title line has a background color of the "Background color for odd table rows" (Dolibarr parameter Display -> Colors and Theme) depending on the level (adding gray to this color in increments of 10%). It is possible to move a title and its subordinate elements as a block anywhere in the document (except if placed under another title and the maximum level count does not permit it, in which case the UI/UX prevents it). During this move, visually the entire block is "compressed" into one line.

2.2.1.3 Behavior on the PDF

Depending on the "Show on PDF the Unit Price (UP)" and "Show on PDF the Total Excl. VAT of the Line" settings, the amount is displayed on the line. If a title has the "Force page break before title" option selected, a new page is created before rendering the following content.

Depending on the technical and functional specifications, the background color of titles and subtotals is used depending on the level (adding gray to this color in increments of 10%).

2.2.2 Subtotal

For a line of type "Subtotal":

2.2.2.1 Creation and Modification

Presentation Suggestion in Creation and Modification Mode

image

Fields:

For the title: Dropdown list of existing titles in the document
Show on PDF the Subtotal Excl. VAT: Checkbox

Subtotal lines are identified in the line object using the "product_type" information with the value 9XXX.

The amounts of a subtotal line are excluded from the calculations of Total Excl. VAT, Total Incl. VAT, Margins, and VAT.

2.2.2.2 Visualization

The subtotal line has a background color of "Background color for even table rows" (Dolibarr parameter Display -> Colors and Theme) depending on the level (adding gray to this color in increments of 10%).

2.2.2.3 Behavior on the PDF

Depending on the "Show on PDF the Total Excl. VAT of the Line" setting, the amount is displayed on the subtotal line. The description of the line is "Subtotal of" + title.

Depending on the technical and functional specifications, the background color of titles and subtotals is used depending on the level (adding gray to this color in increments of 10%).

2.2.3 Comment

For a line of type "Comment":

2.2.3.1 Creation and Modification

Presentation Suggestion in Creation and Modification Mode

image

Fields:

Text Area: WYSIWYG text (depending on the module configuration WYSIWYG on document lines)
Force page break before comment: Checkbox

Comment lines are identified in the line object using the "product_type" information with the value 9XXX.

2.2.3.2 Behavior on the PDF

If the comment has "Force page break before comment" selected, a new page is created before rendering the following content. If the comment does not fit on the page, it continues with a break at the line return on the next page. The break at the line return is calculated to fit as much text as possible on the current page.

French

1 - Objectifs L'objectif de cette fonctionnalité est d'intégrer dans le Core de Dolibarr des fonctionnalités pour certain document gérant les lignes les concepts de

• Titre
• Sous total
• Commentaire

Le périmètre initiale :

• Proposition commerciale
• Commande client
• Facture client
• Proposition commerciale fournisseur
• Commande fournisseur
• Expédition
• Réception fournisseur

Périmètre secondaire :

• Re factorisation et uniformisation du code de Dolibarr sur tous les objets Core qui gèrent des lignes
    ◦ Intervention
    ◦ Note de frais
    ◦ Nomenclature
    ◦ OF
• Intégration par défaut dans le « boiler plate » proposé par le Module Builder

2 Spécification technique et fonctionnelle

2.1 Configuration du module

Le module Présentation Détaillé à une page de configuration Dans cette page il est possible d’activé la fonctionnalité pour • Proposition commerciale • Commande client • Facture client • Proposition commerciale fournisseur • Commande fournisseur • Expédition • Réception fournisseur

Pour chaque type de document • Titre • Sous total • Commentaire

Suggestion de présentation

image

La liste des documents pris en charge est augmentable par un hook La colonne Nombre de niveau : • par défaut est 2 • vide et non modifiable si Titre=Non et Sous total=Non

Précision du rendu PDF

image

2.2 UI/UX

En fonction de Spécification technique et fonctionnelle • Proposition commerciale • Commande client • Facture client • Proposition commerciale fournisseur • Commande fournisseur

Le saisie de ligne permet de choisir le type la nature de la ligne

image

Le choix de sous total n’existe que si un Titre existe

Les lignes de Titre, Sous totaux, commentaire ne sont jamais transmissent dans les opérations de comptabilité avancé (liaison), ni comptabilisé dans les rapports se basant sur les Documents, ni comptabilisé dans les Objets Référents (produit/service/tiers)

2.2.1 Titre

Sur une ligne de type Titre

2.2.1.1 Création et modification

Suggestion de présentation en mode création et modification

image

Champ Titre : Texte Champ Afficher sur le PDF les PU: case à cocher Champ Afficher sur le PDF la Total HT de la ligne: case à cocher Champ Forcer le saut de page avant le titre : Case à cocher Niveau : liste déroulante en fonction Spécification technique et fonctionnelle et si il existe déjà un niveau au dessus Champ TVA : Si est saisie elle sera appliqué a toutes les lignes en dessous du titre (jusqu’au sous total si il existe qui s’y réfère) Champ Remise: Si est saisie elle sera appliqué a toute les lignes en dessous du titre (jusqu’au sous total si il existe qui s’y réfère)

Les lignes de type Titre sont identifiées dans l’objet ligne grâce à l’information « product_type » de avec pour valeur 9XXX

2.2.1.2 Visualisation

Des indicateurs visuels (picto) affiche les option Afficher sur le PDF les PU, Afficher sur le PDF la Total HT de la ligne et Forcer le saut de page avant le titre La ligne de titre à un fond de nuance de de couleur « Couleur de fond pour les lignes impaires des tables » (paramètre Dolibarr Affichage->Couleur et thème) en fonction du niveau (ajout de gris à cette couleur par tranche de 10%) Il est possible de déplacer avec la poignée un titre et ces sous éléments en bloque n’importe où dans le document (sauf si il est déposé dans un autre titre et que le nombre de niveaux maximum ne le permet pas, auquel cas, l’UI/UX ne le permet pas). Lors de se déplacement visuellement c’est l’ensemble du bloque qui est déplacé « compressé » en une ligne

2.2.1.3 Comportement sur le PDF

En fonction de Afficher sur le PDF les PU et Afficher sur le PDF la Total HT de la ligne le montant est affiché sur la ligne Si un Titre a Forcer le saut de page avant le titre alors on créer une nouvelle page avant rendre ce qui suit

En fonction de Spécification technique et fonctionnelle la couleur de fond des titre et sous totaux est utilisées en fonction du niveau (ajout de gris à cette couleur par tranche de 10%)

2.2.2 Sous total

Sur une ligne de type Sous Total

2.2.2.1 Création et modification

Suggestion de présentation en mode création et modification

image

Champ Pour le titre : Liste déroulante des titre existant dans le documents Champ Affiché sur le PDF le sous total HT : Case à cocher

Les lignes de type Titre sont identifiées dans l’objet ligne grâce à l’information « product_type » de avec pour valeur 9XXX

Les montant d’une ligne Sous total sont exclus du calcul des Total HT, TTC, marges , TVA

2.2.2.2 Visualisation

La ligne de titre à un fond de nuance de de couleur « Couleur de fond pour les lignes paires des tables » (paramètre Dolibarr Affichage->Couleur et thème) en fonction du niveau (ajout de gris à cette couleur par tranche de 10%)

2.2.2.3 Comportement sur le PDF

En fonction de Afficher sur le PDF la Total HT de la ligne le montant est affiché sur la ligne du sous total La description de la ligne est « Sous total de » + titre

En fonction de Spécification technique et fonctionnelle la couleur de fond des titre et sous totaux est utilisées en fonction du niveau (ajout de gris à cette couleur par tranche de 10%)

2.2.3 Commentaire

Sur une ligne de type Commentaire

2.2.3.1 Création et modification

Suggestion de présentation en mode création et modification

image

Champ Zone de Texte : Texte WYSIWYG (En fonction de la la configuration du module YYSIWYG sur les lignes de documents) Champ Forcer le saut de page avant le commentaire : Case à coché

Les lignes de type Titre sont identifiées dans l’objet ligne grâce à l’information « product_type » de avec pour valeur 9XXX

2.2.3.2 Comportement sur le PDF

Si le commentaire a Forcer le saut de page avant le commentaire alors on créer une nouvelle page avant rendre ce qui suit. Si le commentaire ne tiens pas sur page, il continue avec une césure sur retour à la ligne sur la nouvelle page d’après. La césure sur retour à la ligne est calculé à mettre le maximum de texte sur la page courante

FHenry commented 2 months ago

@eldy If you can read this and tell me if you'r OK with this specification

aspangaro commented 2 months ago

English

Great idea, I can participate if I need help.

Just remember that if free lines are deactivated by a constant, simply hide “product and service” in the list for adding lines.

French

Super idée, je peux participer si besoin d'aide.

Juste prévoir que si les lignes libres sont désactivées via une constante, tout simplement cacher "produit et service" dans la liste d'ajout des lignes

W1W1-M commented 2 months ago

This would be a nice addition to Core. Could contracts also be included in scope ?

Export functionality could also be improved to let users decide if they want these "special" lines to show in export files(CSV, Excel, etc.).

lmag commented 2 months ago

We need-it for : https://github.com/evarisk/digiquali