Skip to Content

Contributors

  • Proposing myself as Tools PSC

    Hi all,

    I like to become member of the "Tools PSC Team". (https://odoo-community.org/psc-teams/tools-30). My contributions in this area:

    - Funder of interface-github and odoo-module-migrator repositories

    - I have proposed the following modules to the community : auth_admin_passkey, module_analysis, module_change_auto_install, server_action_navigate, pos_environment, user_all_groups and deeply refactored : server_action_mass_edit (formely "mass_editing")

    Thanks for your attention.

    -- 
    Sylvain LE GAL
    - GRAP, service informatique
    - 3 Grande rue des Feuillants 69001 LYON, 09.72.32.33.17
    - Astreinte : 06.81.85.61.43 // informatique@grap.coop

    by Sylvain LE GAL - 11:10 - 16 Jun 2023
  • Documentation on Management System module and its related sub-modules

    I was hoping if someone here can help or guide me in gaining any kind of detailed documentation / user guide for the OCA module https://github.com/OCA/management-system and all its sub-modules so that it gives a good understanding on how to best install and use it.
    Thank you in anticipation


    by Ketan Chandaria - 05:40 - 16 Jun 2023
  • tax_base_amount going to be deprecated. Anyone else using it?
    Hello Everyone.
    It seams that odoo is going to deprecate the not so used field tax_base_amount 
    The main reason odoo is going to do so is that now it may be inconsistent on how odoo is computing the base amount for a tax (the base for Odoo is always the sum of the balance of the aml's where the tax is applied on the tax_ids field)

    Together with that field being deprecated, the idea behind is that there shouldn't be any aml (account.move.line) with tax_line_id that was not originated by another aml with tax_ids

    We've some use cases where for us it's practical to be able to create tax aml's
    Some examples:
    • bank statements.
      • on many banks operations (for eg. check deposits) we have expenses + taxes associated. So for on check deposit we may have 4 statement lines:
        • check deposit (cash in)
        • expense fee (cash out)
        • tax 1 (based on the expense fee, cash out)
        • tax 2 (based on the expense fee, cash out)
      • On Odoo standard we're not able to reconcile that because we can't say that an statement line is 100% a tax In the odoo approach those two taxes should came from the tax being applied on the "expense fee"
    • special invoice taxes
      • we've some special invoice taxes where the base amount is not the subtotal of the invoice line but some specific computation (for ex. is the vat of that line)
      • in that use case, we're storing the calculated base amount on tax_base_amount. Considering that the base amount is the sum of the subtotales of the lines where the tax is linked, is not correct.
      • On master (and I believe 16 two). Odoo has a similar use case for belgium. When you offer a cash discount, no matter if the customer use it or not, the vat is computed on the discounted price. That's why there is a new option on the payment terms and, only for having the right base amount on the invoice, odoo is creating virtual lines (check attachment)
    • supplier bills
      • It's really common to receive supplier bills with some specific taxes that are totalized and without information on which are the base lines.
      • in those use cases creating just a tax line (as it was possible on v12-) would be really handy. Nowadays we're adding that tax on the first invoice line (arbitrary) and then editing the amount on the subtotal section. The computed base amount by odoo on reports doesn't represent anything.
      • For us it would make much more sense to add the tax on subtotal by choosing: tax, base amount, and amount. And that would create the aml without any need of linked base lines with tax_ids
    • We also have some specific needs related to payment withholdings. Summarizing, when you pay or get paid you receive or apply different kind of withholdings for different amounts.
      • This is the ideal for us

    #

    account

    tax_ids

    tax_id

    debit

    credit

    tax_base_amount

    1

    Suppliers



    1210



    2

    VAT withholding


    VAT withholding


    21

    210

    3

    Proffits withholding type 1


    Proffits withholding type 1


    60

    600

    4

    Proffits withholding type 2


    Proffits withholding type 2


    80

    400

    5

    Cash




    1049


      • This is the odoo proposal (to have all the base amounts computed by the tax base lines). Lines 6 till 11 are dummy lines just for the base amounts

    #

    account

    tax_ids

    tax_id

    debit

    credit

    tax_base_amount

    1

    Suppliers



    1210



    2

    VAT withholding


    VAT withholding


    21

    210

    3

    Profits withholding type 1


    Profits withholding type 1


    60

    600

    4

    Profits withholding type 2


    Profits withholding type 2


    80

    400

    5

    Cash




    1049


    6

    Base for VAT withholding

    VAT withholding


    210



    7

    Negative for base VAT withholding




    210


    8

    Base for Profits withholding type 1

    Profits withholding type 1


    600



    9

    Negative for Profits withholding type 1




    600


    10

    Base for Profits withholding type 2

    Profits withholding type 2


    400



    11

    Negative for Profits withholding type 2




    400


    • We also know that in Brazil and some other countries, there are some webservices that returns the base amounts and taxes you need to apply to an invoice, Si in those use cases also the base amount of the tax may not be the sum of subtotals where the tax is applied

    Summarizing.
    • Odoo is working on removint tax_base_amount and enforcing that every aml that represents a tax should be created by some aml with that tax. The base amount of the tax would be the sum of the base lines
    • IMHO
      • That approach could work but requires a lot of dummy lines (plus and negative) to represent all the possible combinations of tax base amounts. This is not only for performance but also for db size, code complexity and bank reconciliation.
      • to keep and improve, or at lease allow, the possibility of having amls taxes where the tax_base_amount represents the base amount, and the balance represents the tax amount, seems an easy to understand and flexible way to deal with base amounts on many different use cases
      • Lastly, I also like the tax_base_amount field on the aml's as it's really easy to audit and check. On one record (the aml) you have all the data you need related to a tax.
    Anyone else share these thoughts or can show me that my ideas are wrong?
    Thanks!

    Ing. Juan José Scarafía

    (+54 9 341) 3 278039

    twitter: @jjscarafia

    github: @jjscarafia


    by Juan José Scarafía - 10:51 - 8 Jun 2023
  • OCA Days 2023 - Registrations, Call for Speakers and Functional Survey
    Hello OCA Contributors,

    The exciting news is that the OCA registrations are now live.

    We also have our call for speakers open - we want to hear from everyone! Do you have an awesome tutorial/training, case study, module update etc you want to share with the community? Send your proposals through here.

    This year we are really wanting to encourage more functional people to attend and get the most out of this time together. We are creating a functional track to support this alongside our usual great talks.

    The OCA Functional Workgroup have created a survey for people interested in the functional side of things and would love to hear from you - please fill in the survey here. Let us know what you are interested in learning about and how we can help you.

    We are looking forward to seeing you in November.
    Rebecca

    --
    Rebecca Gellatly
    General Secretary
    Odoo Community Association

    by Rebecca Gellatly - 04:40 - 2 Jun 2023
  • Issues with outgoing email management in Odoo
    Hello everyone,
    
    This is a long standing topic in Odoo, but I'm facing it again with an 
    unhappy customer. The way Odoo manages the sending of messages to 
    followers of a "thread" by sending 1 email per follower, loosing all 
    information from people who could have been in CC of an incoming mail, 
    is really lame.
    
    Is there some knowledge hanging around about a way to change this so 
    that Odoo would:
    
    * record the CC in a secondary field (say follower_cc_ids) for incoming 
    message
    * promote a follower_cc to follower in case an incoming mail comes with 
    this person in To: rather than CC:
    * send outgoing mails with 1 single mail with all followers in To: and 
    follower_cc_ids in CC:
    
    I'm not super keen in touching this part of the Odoo source code, which 
    I find quite obscure,  and but maybe some have walked this path and 
    could provide feedback, advice (or even maybe source code).
    
    Thanks for your help,
    
    
    -- 
    Alexandre Fayolle
    Senior Software Engineer
    Tel : +33 4 58 48 20 30
    
    Camptocamp France SAS
    18 rue du Lac Saint André
    73 370 Le Bourget-du-Lac
    France
    
    http://www.camptocamp.com
    

    by Alexandre Fayolle - 05:11 - 31 May 2023
  • New poll in the forum: Add a "Jobs" forum category?
    Please go to https://github.com/orgs/OCA/discussions/95 and share your thoughts.

    by Jairo Llopis - 10:11 - 30 May 2023
  • Google Analytics Universal to GA4 for versions < 15.0
    Hi, 

    has anyone worked on a module to implement the change described here:  

    Odoo 15.0 is already adapted and ready for Analytics 4. After July 2023, if you want to use Google Analytics tracking in versions before 15.0, you will need to insert the GA tracker code manually, instead of entering your GA key in the Odoo settings.

    Which according to this post, amounts to

    insert de GA tracker code manually on `website.layout` changing the `async` attribute to `t-att-async="true"`

     ?

    If not, do you think a backporting from v15 is feasible?

    Thanks!

    Francesco
    --

    Francesco Foresti
    Sicurpharma Srl
    +39 333 8123 790

    by Francesco Foresti - 06:31 - 26 May 2023
  • Invetory : pallete rate per day + picking rate/coli + pallete IN/OUT rate

    Hasllo to everyone,
    I have several questions. We are implementing Odoo WMS here in Czech republic, and have to fix fololowing inventory rates
    1. stored pallete rate per day = example 1€/pallete/day
    2. picking rate/coli = example 0,25€/picked coli
    3. pallete rate IN/OUT = rate pallete IN 0,35€ (receive) + pallete out (delivery)
    Does anyone of you can help with this isuue? Do we have in Odoo some extra applications for inventory rates?

    Thanks in advance
    S pozdravem / Best regards

    MILOŠ MILOJKOVIĆ

    Konzultant MRP/Inventory

    Mobile: +420 725 426 206
    (6) Miloš Milojković | LinkedIn

    26HOUSE s.r.o.
    Karolinská 2, 186 00 Praha 8
    Česká republika
    www.26house.com 


    by Miloš Milojković - 10:01 - 25 May 2023
  • Reserved / priority worker
    Hello,
    
    I am going to provide some services very similar to what's available as IAP in 
    Odoo so part of it is checking whether customer has got enough "credits". The 
    easiest way would be to create a controller to handle this but I am afraid of 
    situations where the server is occupied with different things like many users, 
    etc.
    
    Is there a way to "reserve" a worker for such kind of things? Or maybe somehow 
    to give priority for processing such requests?
    
    Any advise is welcome. Thank you
    
    Best regards
    
    	Radovan Skolnik
    
    
    

    by Radovan Skolnik - 03:00 - 22 May 2023
  • Multi Tenant Self Hosted Enviroments
    Greetings,
    
          I have been struggling to set up a multi-tenant, self hosted
    Odoo environment.   The purpose of multi-tenant in my deployment, I am
    referring to having multiple clients, who will each want to "own" and
    manage their instance / database of Odoo.   That is, being able to set
    up multiple websites, shops, with consolidated invoicing and services
    already provided by Odoo.
    
          I understand that I can set up separate VMs which would each
    point to a specific database.   But it would require additional
    resources to deploy each VM to maintain the OS instances required.
    As a result, I am looking to consolidate the deployments as much as
    possible.   This way I can configure clients and then break them out
    if/when it's needed.
    
         I am running Odoo 16, self hosted.   I started to go down the
    path to try and force clients to use their specific domain name, but
    that became an issue because dbfilter can associate between a fully
    qualified hostname, or just the hostname itself.   It wasn't built to
    go the other direction.   Then I ran into the problem of a client
    needing to use multiple domains and how to associate them to their
    respective databases.   I tried to do much of this logic within nginx,
    but even then I ran into problems with modifying HTTP headers and then
    losing the desired outcome.
    
         Does anybody know if I'm missing something, or would I really
    have to kickoff an Odoo instance for each client with their own
    distributed TLS/SSL cert, DB and front-end server ?   I would really
    like to find a solution that would scale and I know a lot of people
    have made it scale.  I'm just missing some pieces to do the same.
    
    Thank you,
    Charles
    

    by cgucker - 07:46 - 20 May 2023
  • Perform filter with product quantity
    Hi all,

    We are using various filters on product quantities (on hand, forecasted, and available to promise) in the main dashboard, and this is causing it to be very slow because all of these fields are not recorded in the database, and the large number of product and stock moves, is there a way to perform this?

    Tanks

    by "Mohamed Machta" <machta.mohamed@gmail.com> - 09:20 - 20 May 2023
  • Hr Employee Shift planning
    Dear all
    Do you have any experience in Shift planning for employees in Odoo ?
    I did not find any OCA module for it.
    I appreciate your inputs
    Thanks in advance
    Best regards

    by Cyril VINH-TUNG - 03:30 - 17 May 2023
  • Print the quotation preview to pdf
    Hi!
    
    I need to be able to print the "customer preview" of the quotations to pdf.
    The option given to print in that view prints a different report (the 
    same one that can be printed from the backend) to what it shows.
    I'm on Odoo v15 EE.
    Does anyone have a solution for this need?
    
    

    by Juan Pablo Garza - 10:00 - 16 May 2023
  • Bug on l10n_fr_pos_cert | 14.0

    Dear contributors of OCA,

    We encounter a bug on the version 14.0 CE and EE when using the module l10n_fr_pos_cert. It was tested on runbot, locally.

    We have the following error when clicking on "POS Inalterability Check" submenu of POS > Reporting, and clicking on "Save" button :
    image.png
    image.png
    image.png

    The full error when copying it :

    Error:
    Odoo Server Error

    Traceback (most recent call last):
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/web/controllers/main.py", line 2109, in report_download
        response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/http.py", line 533, in response_wrap
        response = f(*args, **kw)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/web/controllers/main.py", line 2040, in report_routes
        pdf = report.with_context(context)._render_qweb_pdf(docids, data=data)[0]
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/account/models/ir_actions_report.py", line 50, in _render_qweb_pdf
        return super()._render_qweb_pdf(res_ids=res_ids, data=data)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/addons/base/models/ir_actions_report.py", line 889, in _render_qweb_pdf
        html = self_sudo.with_context(context)._render_qweb_html(res_ids, data=data)[0]
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/addons/base/models/ir_actions_report.py", line 929, in _render_qweb_html
        data = self._get_rendering_context(docids, data)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/account/models/ir_actions_report.py", line 55, in _get_rendering_context
        return super()._get_rendering_context(docids=docids, data=data)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/addons/base/models/ir_actions_report.py", line 946, in _get_rendering_context
        data.update(report_model._get_report_values(docids, data=data))
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/l10n_fr_pos_cert/report/pos_hash_integrity.py", line 14, in _get_report_values
        data.update(self.env.company._check_pos_hash_integrity())
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/l10n_fr_pos_cert/models/res_company.py", line 77, in _check_pos_hash_integrity
        start_order_info = build_order_info(orders_sorted_date[0])
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/models.py", line 5707, in __getitem__
        return self.browse((self._ids[key],))
    IndexError: tuple index out of range

    When this error is displayed for the first time, we can not access to the wizard of the menu "POS Inalterability Check" anymore. The traceback :
    Error:
    Odoo Server Error

    Traceback (most recent call last):
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/web/controllers/main.py", line 2109, in report_download
        response = self.report_routes(reportname, docids=docids, converter=converter, context=context)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/http.py", line 533, in response_wrap
        response = f(*args, **kw)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/web/controllers/main.py", line 2040, in report_routes
        pdf = report.with_context(context)._render_qweb_pdf(docids, data=data)[0]
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/account/models/ir_actions_report.py", line 50, in _render_qweb_pdf
        return super()._render_qweb_pdf(res_ids=res_ids, data=data)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/addons/base/models/ir_actions_report.py", line 889, in _render_qweb_pdf
        html = self_sudo.with_context(context)._render_qweb_html(res_ids, data=data)[0]
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/addons/base/models/ir_actions_report.py", line 929, in _render_qweb_html
        data = self._get_rendering_context(docids, data)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/account/models/ir_actions_report.py", line 55, in _get_rendering_context
        return super()._get_rendering_context(docids=docids, data=data)
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/addons/base/models/ir_actions_report.py", line 946, in _get_rendering_context
        data.update(report_model._get_report_values(docids, data=data))
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/l10n_fr_pos_cert/report/pos_hash_integrity.py", line 14, in _get_report_values
        data.update(self.env.company._check_pos_hash_integrity())
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/addons/l10n_fr_pos_cert/models/res_company.py", line 77, in _check_pos_hash_integrity
        start_order_info = build_order_info(orders_sorted_date[0])
      File "/home/lanto/Documents/OCA Repos & Sources/Odoo Community Source/odoo_14c/odoo/models.py", line 5707, in __getitem__
        return self.browse((self._ids[key],))
    IndexError: tuple index out of range

    Have you an idea why this occurred ?

    Hope there is a solution for this bug.

    I am still available if you need further information.

    (sorry if there are mistakes with my English)

    Thank you !
    --
     
    Bonne journée
     
    Lanto Razafindrabe
    Consultant technico-fonctionnel
    +1 514-317-7944
    LinkedInFacebookYouTubeTwitter
     
     Billet 5 ANS des Numigiens 🎂🎂🎂🎂🎂Voir >>

    by "Lanto Razafindrabe" <lanto.razafindrabe@numigi.com> - 06:56 - 16 May 2023
  • Someone using Property Management System (PMS) module?
    Hello,
    I'd like to know more about the pms suites of modules here:
    from a functional perspective.

    The link to the doc is broken:

    I just opened an issue about that, we never know:

    If anyone in OCA community uses this modules and is happy to share his knowledge (by sending a manual with screenshots, or by visio), I'd be very grateful.

    Thanks a lot,
    -- 
    Virginie
    0477/64.17.20

    by Virginie Dewulf. - 05:31 - 15 May 2023
  • eCommerce checkout runs out of workers and Odoo dies
    Hello,

    We stumbled into an Odoo problem, when trying to complete several eCommerce checkouts at the same time, with a low number of workers available. For example: you have two workers, and you have two or more shoppers completing their payment at the exact same time.

    We traced this to the report generation happening when closing a Sales Order, and found this relevant Issue:
    https://github.com/odoo/odoo/issues/79522

    Long story short -
    running the reports triggers Odoo requests to get the HTML assets needed,
    these triggers the need for more workers to serve the assets,
    but no more workers are available and the Odoo server dies (with an "existing gracefully" message and no further explanation!).

    The recommended solution from Odoo is to have the assets cached at the Nginx level, both for static files and for the asset bundles.
    In this case this is a K8's deployment and we're using Ingress instead of Nginx, and are working through the particular configuration needed to achieve this effect.

    I found it could be interesting to share this, and maybe get other points of view or reports from other people having faced the same problem.

    Thank you

    --
    DANIEL REIS
    MANAGING PARTNER

    M: +351 919 991 307
    E: dreis@OpenSourceIntegrators.com
    A: Avenida da República 3000, Estoril Office B, 3º Escr.34, 2649-517 Cascais


    by Daniel Reis - 07:40 - 9 May 2023
  • Odoo barcode range scanning functionality
    Good day

    My name is Sam, I'm a Tech Lead at Open Source Integrators. We have a client that's using Odoo Enterprise Edition v15 and needs the functionality to be able to enter a range of serial numbers by scanning the first and the last barcodes in a range when doing inventory adjustments. Do you know of any solution that could help us with this? 

    We appreciate your help,
    Samuel Macias
    Open Source Integrators  

    by Samuel Macias Oropeza - 10:00 - 8 May 2023
  • Datev data

    Dear OCA,

    i got an issue from a customer, that uses a very specific accounting chart in germany.

    As they want to perform the accounting on their own before sending it to the acc. Consultant, some adaption seem to be mandatory.

    In order to create smooth convertability between the datev-export provided by odoo and the import in the system of t he accounting consultant, the data needs to be modified. So this is the feedback i got from the consultant about the export data.

     

    • The code number for the account number extension (KNE) needs to start with digit number 4 instead of a 8 digit number. This is not a problem and provided by the Odoo enterprise core export tool.

    • Exported CSV-files needs to be encoded in Windows ANSI

    • Debit/credit indicators are only allowed in capital letters "S" or "H". The standard Odoo export provides small letters

    • EXTF Version 700 instead of 510 is important when recording with empty and modified headings in the header

     

    The export is provided by the modules „l10n_de_datev_reports“ & „l10n_de_reports“

    The encoding can be changed after exporting, same for the capital letters. But to keep it as simple as possible for the customer, it would be great to have this included in the export function. Covering the other way as well would be awesome.

     

    Is anbody aware of a solution, that already provides this kind of modification?

     

    Would be very thankful for some hints concering that topic.

     

    All the best

    Nils

    -- 

    NICO SOLUTIONS - ENGINEERING & IT 
    Inhaber (Owner): Nils Coenen 
    Dr.-Ruckert-Str. 
    1G 
    28865 Lilienthal 
    Deutschland (Germany) 
    Ust.-Idnr. (VAT-ID): DE341437044 

     


    by Nils Coenen - 12:26 - 3 May 2023
  • OCA/bank_statement_import - Odoo 16, Switzerland
    Hi there,

    We are currently upgrading a Swiss customer from Odoo V13 to V16.

    In V13 the customer uses the following modules from the OCA/bank_statement_import Project:

    - account_bank_statement_import_camt_oca
    - acclount_bank_statement_import_oca_camt54

    As far as I checked, based on modules available for V15, we would need:

    1. account_statement_import_camt
    2. account_statement_import_camt54

    and the base modules:
    3. account_stamement_import(_file)
    4. account_statement_import_base

    3. and 4. are available for V16, 1. and 2. are not, yet, as per https://github.com/OCA/bank-statement-import/tree/16.0

    Is there any plan to upgrade 1. and 2., and if so when? Or would you be willing to upgrade them now? Or did they get replaced with other OCA modules or maybe even Odoo standard features I'm not aware of?

    Thanks in advance.

    Kind Regards
    Elmar

    --
    Beste Grüße / Kind Regards
    Elmar Hardenack
    Managing Partner



    Aphora GmbH i.G.
    Represented by: Adam Hussein, Elmar Hardenack

    Rehringhauser Str. 7a | DE-57462 Olpe (HQ)
    Rudolfplatz 3 | DE-50674 Köln

    This message is exclusively intended for its addressee and may contain confidential information that is protected by professional privilege. If you are not the intended recipient, you are hereby notified that any copy, disclosure or dissemination of this communication is strictly prohibited by law. If this message has been received by error, please notify us immediately via e-mail and delete it.

    by Elmar Hardenack - 11:26 - 3 May 2023
  • suggestion for monitoring error 500
    Hi,

    We have a case where odoo is used as an e-commerce + portal system (with quite a lot of customisation).
    Times to times, the end user (e-commerce customer) will receive an error 500.

    It is a bit of a catchall... Would anybody have any suggestion, to monitor such error, and possibly get an email, or a warning as a system administrator? Is there a way to catch at odoo level, if there is such error and send an email ?
    Or could we "monitor" the log file ? <-- any suggestion on possible tool ?

    Thanks,
    Dominique

    by dominique.k - 07:21 - 1 May 2023