Odoo

De Admin -- TALEVAS.
(Différences entre les versions)
(export vers CCR)
(Mise en page de la facture :)
 
(45 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
 +
= Ajouter un module =
 +
 +
- Télécharger le zip, unzip dans le dossier extra-addons (/mnt/..)
 +
- en mode développeur
 +
- rafraîchir la liste des applications
 +
- installer.
 +
 +
== Responsive design ==
 +
https://odoo-community.org/shop/product/web-responsive-2681?search=responsive
 +
 +
== Attachments List and Document Indexation ==
 +
- Permet d'avoir un menu en haut de l'objet avec les pièces jointes.
 +
 +
== Description dans les livraisons ==
 +
J'ai acheté desc_on_picking c'est dans GIT !!
 +
 +
Il y a un problème à l'installation avec les modifications effectuées dans le document "report_delivery_document"
 +
- ligne 45 : <pre><table class="table table-condensed mt48"></pre>
 +
Il faut laisser (remettre) la fin de la ligne tel que
 +
<pre><table class="table table-condensed mt48" t-if="not o.pack_operation_ids"></pre>
 +
On pourra aller faire la modification dans le fichier qui modifie cad "inherit_picking_delivery_slip_report"
 +
<pre><table class="table table-condensed mt48"></pre>
 +
Ainsi les lignes sont à la fois regroupées et aussi avec le détail dans le bon de livraison.
 +
 +
= Bon de livraison =
 +
== éditer un bon de livraison manquant==
 +
Le cas se pose lorsqu'une facture est payés et que celle-ci n'a pas eu de bon de livraison attaché. Le facture reste ou redevient en statut à facturer alors qu'elle est entièrement payés.
 +
- éditer le bon de commande.
 +
- mettre les quantités demandées à 0
 +
- valider.
 +
- modifier de nouveau et remettre les quantités à la valeur initiale (égale à ce qui a été facturé)
 +
- valider la modification
 +
- valider la préparation et la livraison.
 +
 +
== erreur de traduction ==
 +
Dans le module "inventaire" il y a 2 fois bon de préparation, l'un des 2 est en fait un bon de livraison
 +
- configuration => mode développeur
 +
- traductions => termes de l'application => termes traduits
 +
- rechercher "préparation" dans les termes traduits
 +
- "Delivery Slip" devient "bon de livraison"
 +
- sauvegarder
 +
- traductions => termes de l'application => Synchroniser les traductions
 +
 +
== Modification du bon de livraison ==
 +
Par défaut il y a un regroupement des lignes de produits ayant le même libélé.
 +
- Configuration => Technique => Interface Utilisateur => Vues => "report_delivery_document"
 +
 +
- ajouter le numéro de tel mobile dans les entêtes. Ajouter mobile à la ligne tel que :
 +
<pre><div t-field="o.partner_id" t-options="{&quot;widget&quot;: &quot;contact&quot;, &quot;fields&quot;: [&quot;address&quot;, &quot;name&quot;, &quot;mobile&quot;, &quot;phone&quot;, &quot;fax&quot;], &quot;no_marker&quot;: True}"/></pre>
 +
 +
 +
- Ligne 45 mettre en commentaire : t-if="not o.pack_operation_ids">
 +
- ajouter le descriptif :
 +
<pre>
 +
                    <table class="table table-condensed mt48">
 +
                        <thead>
 +
                            <tr>
 +
                                <th><strong>Product</strong></th>
 +
                                <th><strong>Description:</strong></th>
 +
                                <th><strong>Ordered Quantity</strong></th>
 +
                            </tr>
 +
                        </thead>
 +
                        <tbody>
 +
                            <tr t-foreach="o.move_lines" t-as="move">
 +
                                <td><span t-field="move.product_id"/></td>
 +
                                <td><span t-field="move.name"/></td>
 +
                                <td>
 +
                                    <span t-field="move.ordered_qty"/>
 +
                                    <span t-field="move.product_uom"/>
 +
                                </td>
 +
                            </tr>
 +
                        </tbody>
 +
                    </table>
 +
 +
</pre>
 +
<nowiki>
 +
                    <table class="table table-condensed mt48">
 +
                        <thead>
 +
                            <tr>
 +
                                <th><strong>Product</strong></th>
 +
                                <th><strong>Description:</strong></th>
 +
                                <th><strong>Ordered Quantity</strong></th>
 +
                            </tr>
 +
                        </thead>
 +
                        <tbody>
 +
                            <tr t-foreach="o.move_lines" t-as="move">
 +
                                <td><span t-field="move.product_id"/></td>
 +
                                <td><span t-field="move.name"/></td>
 +
                                <td>
 +
                                    <span t-field="move.ordered_qty"/>
 +
                                    <span t-field="move.product_uom"/>
 +
                                </td>
 +
                            </tr>
 +
                        </tbody>
 +
                    </table>
 +
</nowiki>
 +
 +
= Modification de liste des devis =
 +
== ajout de la référence client ==
 +
mode développeur => configuration => vues => "sale.order.tree" (arborescence) - id externe : sale.view_order_tree et sale.view_quotation_tree (une vue devis et une vue bons de commande)
 +
 +
En mode développeur directement depuis la page, "modifier TreeVue" et ajouter :
 +
 +
Modification pour y ajouter :
 +
<field name="client_order_ref"/>
 +
 +
== Ajout de la date de commande en plus de la date création ==
 +
En mode développeur directement depuis la page, "modifier TreeVue" et ajouter :
 +
                    <field name="confirmation_date"/>
 +
= Suppression du bouton "bloqué" sur les devis =
 +
Modifier "sale.order.form" et mettre en commentaire la ligne :
 +
  <nowiki><!-- <button name="action_done" type="object" string="Lock" states="sale" help="If the sale is locked, you can not modify it anymore. However, you will still be able to invoice or deliver."/> --> </nowiki>
 +
 
= Processus de vente =
 
= Processus de vente =
 
[[odoo-processus-vente]]
 
[[odoo-processus-vente]]
  
== modification de la fiche client pour y indiquer le montant du plutôt que le montant total facturé ==
+
== modification de la fiche client pour y indiquer le montant plutôt que le montant total facturé ==
 
[[total-du-client]]
 
[[total-du-client]]
  
Ligne 11 : Ligne 124 :
 
= Fabrication =
 
= Fabrication =
 
[[Odoo-fab]]
 
[[Odoo-fab]]
 +
 +
= code bar / barcode =
 +
[[odoo-bacode]]
  
 
= gestion des alertes =
 
= gestion des alertes =
Ligne 30 : Ligne 146 :
 
  - ajouter RCS dans la pied de page !
 
  - ajouter RCS dans la pied de page !
  
Mise en page de la facture :
+
== Mise en page de la facture : ==
- modification de => Rapports Factures Vues report_invoice_document
+
Ajout du nom des produits dans les PDF
- les modifications :
+
  - ajout des descriptifs de devis :
+
            <nowiki><div class="invoice_tbody"></nowiki>
+
                <nowiki><span  t-if="o.name"></nowiki>
+
                    <nowiki><strong>Description:</strong></nowiki>
+
                    <nowiki><p t-field="o.name"/></nowiki>
+
                <nowiki></span></nowiki>
+
            <nowiki></div></nowiki>
+
  - supression des "numeros de clients" (compta) :
+
                <nowiki><!--<div class="col-xs-2" t-if="o.partner_id.ref"></nowiki>
+
                    <nowiki><strong>Customer Code:</strong></nowiki>
+
                    <nowiki><p t-field="o.partner_id.ref"/></nowiki>
+
                <nowiki></div>--></nowiki>
+
- pied de page  =>  Paramètres Généraux / external_layout_footer
+
                <nowiki> <li t-if="company.ape">&amp;bull;</li>
+
                <li t-if="company.ape">Ape: <span t-field="company.ape"/></li>
+
               
+
                <li t-if="company.siret">&amp;bull;</li>
+
                <li t-if="company.siret">Siret: <span t-field="company.siret"/></li></nowiki>
+
  
mettre la TVA sur les accounts / situation de facture => modifier l'article qui correspond "Down payment" et lui ajouter de la TVA  la vente.
+
report_saleorder_document
 +
<pre>
 +
            <div class="oe_structure"/>
 +
            <table class="o_has_total_table table o_main_table table-borderless">
 +
                <!-- In case we want to repeat the header, remove "display: table-row-group" -->
 +
                <thead style="display: table-row-group">
 +
                    <tr>
 +
                        <th name="th_name" class="text-start">Produit</th>
 +
                        <th name="th_description" class="text-start">Description</th>
 +
                        <th name="th_quantity" class="text-end text-nowrap">Quantity</th>
 +
                        <th name="th_priceunit" class="text-end text-nowrap">Unit Price</th>
 +
                        <th name="th_discount" t-if="display_discount" class="text-end">
 +
                            <span>Disc.%</span>
 +
                        </th>
 +
                        <th name="th_taxes" class="text-end">Taxes</th>
 +
                        <th name="th_subtotal" class="text-end">
 +
                            <span>Amount</span>
 +
                        </th>
 +
                    </tr>
 +
                </thead>
 +
                <tbody class="sale_tbody">
 +
 
 +
                    <t t-set="current_subtotal" t-value="0"/>
 +
 
 +
                    <t t-foreach="lines_to_report" t-as="line">
 +
 
 +
                        <t t-set="current_subtotal" t-value="current_subtotal + line.price_subtotal"/>
 +
 
 +
                        <tr t-att-class="'fw-bold o_line_section' if (                                line.display_type == 'line_section'                                or line.product_type == 'combo'                            )                            else 'fst-italic o_line_note' if line.display_type == 'line_note'                            else ''">
 +
                            <t t-if="not line.display_type and line.product_type != 'combo'">
 +
                                <td name="td_name"><span t-field="line.product_id.name">Bacon Burger</span></td>
 +
</pre>
  
 
= Comptabilité =
 
= Comptabilité =
[[odoo-compta]]
+
 
 +
== [[odoo-compta#Régulariser les comptes client|Régulariser les comptes client]] ==
 +
== [[odoo-compta#Factures fournisseurs|Factures fournisseurs]] ==
 +
== [[odoo-compta#Ajouter un fournisseur|Ajouter un fournisseur]] ==
 +
 
 
= export vers CCR =
 
= export vers CCR =
 
== Liste des champs identifiés.==
 
== Liste des champs identifiés.==
Ligne 72 : Ligne 204 :
 
modification d'un article :
 
modification d'un article :
 
  "facturation" : "Compte de revenus" : "701..."
 
  "facturation" : "Compte de revenus" : "701..."
 +
 +
== processus ==
 +
1. login
 +
2. aller l'onglet "configuration" en bas à droite de la 4eme colonne (share and love) cliquer sur "Activer le mode développeur"
 +
3. aller dans l'onglet "comptabilité"
 +
4. dans le menu de gauche cliquer sur "écritures comptables" (sous "conseiller")
 +
5. si les boutons filtres / grouper par / favori ne sont pas visibles en haut alors il faut cliquer sur le (+) au bout de la ligne de recherche.
 +
6. le trie => filtres :
 +
  - ajouter un filtre personnalisé : journal : contient : Factures Clients
 +
  - ajouter un filtre personnalisé : date : est entre : borner avec les dates voulues dans les 2 cases suivantes.
 +
 +
Normalement maintenant à l'écran il n'y a que les lignes comptable des factures à transférer à CCR. Sans doute sur plusieurs pages, cliquer sur le carré en haut de la première pas sélectionne l'ensemble des lignes sur toutes les pages.
 +
 +
Pour exporter :
 +
1. sélection des lignes
 +
2. cliquer sur "action" : "exporter"
 +
3. "export enregistrés" : "CCR"
 +
4. format d'export : "excel"
 +
5. exporter vers le fichier.
  
 
= modification MDP direct en base =  
 
= modification MDP direct en base =  
 
  odoo@odoo-10:/$ psql -h db-odoo-10.0 -d FAC-prod
 
  odoo@odoo-10:/$ psql -h db-odoo-10.0 -d FAC-prod
 
  UPDATE res_users SET password='PASSWORD' WHERE login = 'LOGIN';
 
  UPDATE res_users SET password='PASSWORD' WHERE login = 'LOGIN';
 +
 +
= modifier le modèle de mail par defaut =
 +
 +
https://www.odoo.com/fr_FR/forum/aide-1/how-to-change-the-default-email-template-when-sending-by-email-a-quotation-sales-order-invoice-186464
 +
 +
En mode développeur => Technique / Séquence et identifiants / identifiants externe
 +
 +
Modifier l'identifiant externe dans le champ =>
 +
 +
sale.email_template_edi_sale
 +
 +
et mettre le ID du modèle voulu

Version actuelle en date du 9 juillet 2025 à 09:38

Sommaire

Ajouter un module

- Télécharger le zip, unzip dans le dossier extra-addons (/mnt/..)
- en mode développeur
- rafraîchir la liste des applications
- installer.

Responsive design

https://odoo-community.org/shop/product/web-responsive-2681?search=responsive

Attachments List and Document Indexation

- Permet d'avoir un menu en haut de l'objet avec les pièces jointes.

Description dans les livraisons

J'ai acheté desc_on_picking c'est dans GIT !!

Il y a un problème à l'installation avec les modifications effectuées dans le document "report_delivery_document"

- ligne 45 :
<table class="table table-condensed mt48">

Il faut laisser (remettre) la fin de la ligne tel que

<table class="table table-condensed mt48" t-if="not o.pack_operation_ids">

On pourra aller faire la modification dans le fichier qui modifie cad "inherit_picking_delivery_slip_report"

<table class="table table-condensed mt48">

Ainsi les lignes sont à la fois regroupées et aussi avec le détail dans le bon de livraison.

Bon de livraison

éditer un bon de livraison manquant

Le cas se pose lorsqu'une facture est payés et que celle-ci n'a pas eu de bon de livraison attaché. Le facture reste ou redevient en statut à facturer alors qu'elle est entièrement payés.

- éditer le bon de commande.
- mettre les quantités demandées à 0
- valider.
- modifier de nouveau et remettre les quantités à la valeur initiale (égale à ce qui a été facturé)
- valider la modification
- valider la préparation et la livraison.

erreur de traduction

Dans le module "inventaire" il y a 2 fois bon de préparation, l'un des 2 est en fait un bon de livraison

- configuration => mode développeur
- traductions => termes de l'application => termes traduits
- rechercher "préparation" dans les termes traduits
- "Delivery Slip" devient "bon de livraison"
- sauvegarder
- traductions => termes de l'application => Synchroniser les traductions

Modification du bon de livraison

Par défaut il y a un regroupement des lignes de produits ayant le même libélé.

- Configuration => Technique => Interface Utilisateur => Vues => "report_delivery_document"
- ajouter le numéro de tel mobile dans les entêtes. Ajouter mobile à la ligne tel que :
<div t-field="o.partner_id" t-options="{"widget": "contact", "fields": ["address", "name", "mobile", "phone", "fax"], "no_marker": True}"/>


- Ligne 45 mettre en commentaire : t-if="not o.pack_operation_ids">
- ajouter le descriptif :
                    <table class="table table-condensed mt48">
                        <thead>
                            <tr>
                                <th><strong>Product</strong></th>
                                <th><strong>Description:</strong></th>
                                <th><strong>Ordered Quantity</strong></th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr t-foreach="o.move_lines" t-as="move">
                                <td><span t-field="move.product_id"/></td>
                                <td><span t-field="move.name"/></td>
                                <td>
                                    <span t-field="move.ordered_qty"/>
                                    <span t-field="move.product_uom"/>
                                </td>
                            </tr>
                        </tbody>
                    </table>

<table class="table table-condensed mt48"> <thead> <tr> <th><strong>Product</strong></th> <th><strong>Description:</strong></th> <th><strong>Ordered Quantity</strong></th> </tr> </thead> <tbody> <tr t-foreach="o.move_lines" t-as="move"> <td><span t-field="move.product_id"/></td> <td><span t-field="move.name"/></td> <td> <span t-field="move.ordered_qty"/> <span t-field="move.product_uom"/> </td> </tr> </tbody> </table>

Modification de liste des devis

ajout de la référence client

mode développeur => configuration => vues => "sale.order.tree" (arborescence) - id externe : sale.view_order_tree et sale.view_quotation_tree (une vue devis et une vue bons de commande)

En mode développeur directement depuis la page, "modifier TreeVue" et ajouter :

Modification pour y ajouter :

<field name="client_order_ref"/>

Ajout de la date de commande en plus de la date création

En mode développeur directement depuis la page, "modifier TreeVue" et ajouter :
                   <field name="confirmation_date"/>

Suppression du bouton "bloqué" sur les devis

Modifier "sale.order.form" et mettre en commentaire la ligne :

 <!-- <button name="action_done" type="object" string="Lock" states="sale" help="If the sale is locked, you can not modify it anymore. However, you will still be able to invoice or deliver."/> --> 

Processus de vente

odoo-processus-vente

modification de la fiche client pour y indiquer le montant dû plutôt que le montant total facturé

total-du-client

Portail

Gestion des informations sur le site publique Odoo-portail

Fabrication

Odoo-fab

code bar / barcode

odoo-bacode

gestion des alertes

Odoo-alertes

API XMLRPC

Le plus simple c'est de prendre les entêtes http avec un peut de webdev tool afin poster ce qu'il faut via le code Python.

Autrement il y a de la doc ici => [[1]]

Facturation

- ne pas afficher l'adresse de livraison
- traduction de "origine" => "devis"
- ajouter "30 jours fin de mois" dans les conditions de règlement
- dupliquer une facture => elle ne vient PAS en incrément du montant facturé sur le devis. 
- template de mail => "merci de bien vouloir respecter les échéances"
- ajouter RCS dans la pied de page !

Mise en page de la facture :

Ajout du nom des produits dans les PDF

report_saleorder_document

            <div class="oe_structure"/>
            <table class="o_has_total_table table o_main_table table-borderless">
                <!-- In case we want to repeat the header, remove "display: table-row-group" -->
                <thead style="display: table-row-group">
                    <tr>
                        <th name="th_name" class="text-start">Produit</th>
                        <th name="th_description" class="text-start">Description</th>
                        <th name="th_quantity" class="text-end text-nowrap">Quantity</th>
                        <th name="th_priceunit" class="text-end text-nowrap">Unit Price</th>
                        <th name="th_discount" t-if="display_discount" class="text-end">
                            <span>Disc.%</span>
                        </th>
                        <th name="th_taxes" class="text-end">Taxes</th>
                        <th name="th_subtotal" class="text-end">
                            <span>Amount</span>
                        </th>
                    </tr>
                </thead>
                <tbody class="sale_tbody">

                    <t t-set="current_subtotal" t-value="0"/>

                    <t t-foreach="lines_to_report" t-as="line">

                        <t t-set="current_subtotal" t-value="current_subtotal + line.price_subtotal"/>

                        <tr t-att-class="'fw-bold o_line_section' if (                                 line.display_type == 'line_section'                                 or line.product_type == 'combo'                             )                             else 'fst-italic o_line_note' if line.display_type == 'line_note'                             else ''">
                            <t t-if="not line.display_type and line.product_type != 'combo'">
                                <td name="td_name"><span t-field="line.product_id.name">Bacon Burger</span></td>

Comptabilité

Régulariser les comptes client

Factures fournisseurs

Ajouter un fournisseur

export vers CCR

Liste des champs identifiés.

- ID
- Date
- Date échéance
- Pièce comptable/afficher le nom
- compte/code
- Partenaire/référence Interne
- Partenaire/Nom
- crédit
- Débit
- compte/Afficher nom

modifier le compte rattaché pour les produits

modification d'un article :

"facturation" : "Compte de revenus" : "701..."

processus

1. login
2. aller l'onglet "configuration" en bas à droite de la 4eme colonne (share and love) cliquer sur "Activer le mode développeur"
3. aller dans l'onglet "comptabilité"
4. dans le menu de gauche cliquer sur "écritures comptables" (sous "conseiller")
5. si les boutons filtres / grouper par / favori ne sont pas visibles en haut alors il faut cliquer sur le (+) au bout de la ligne de recherche.
6. le trie => filtres :
  - ajouter un filtre personnalisé : journal : contient : Factures Clients
  - ajouter un filtre personnalisé : date : est entre : borner avec les dates voulues dans les 2 cases suivantes.

Normalement maintenant à l'écran il n'y a que les lignes comptable des factures à transférer à CCR. Sans doute sur plusieurs pages, cliquer sur le carré en haut de la première pas sélectionne l'ensemble des lignes sur toutes les pages.

Pour exporter :

1. sélection des lignes
2. cliquer sur "action" : "exporter"
3. "export enregistrés" : "CCR"
4. format d'export : "excel"
5. exporter vers le fichier.

modification MDP direct en base

odoo@odoo-10:/$ psql -h db-odoo-10.0 -d FAC-prod
UPDATE res_users SET password='PASSWORD' WHERE login = 'LOGIN';

modifier le modèle de mail par defaut

https://www.odoo.com/fr_FR/forum/aide-1/how-to-change-the-default-email-template-when-sending-by-email-a-quotation-sales-order-invoice-186464

En mode développeur => Technique / Séquence et identifiants / identifiants externe

Modifier l'identifiant externe dans le champ =>

sale.email_template_edi_sale

et mettre le ID du modèle voulu