Skip to Content

Contributors

  • Re: Odoo v14 - Bank reconciliation flow
    Just watch the official Odoo video on how to do this.

    Now personally as an accountant I prefer the new way. It is more accurate, easy to audit and easier to identify and correct issues, but to do the old way you just make the transit account and bank account the same.

    On Sat, Jan 8, 2022 at 10:12 AM Julien Jezequel <julien.jezequel@numigi.com> wrote:
    Hello All

    First, we send our best wishes for this new year, with success in your projects.

    We wanted to reach because we are starting to plan migrations to V14. 

    We are not satisfied with the v14 bank reconciliation process, and the systematic use of transit accounts on payments. 

    We started to have an analysis on how we could propose a more direct and simple way of managing payments and bank reconciliation. 

    We wondered if any of you has already started a project of module on which we could contribute, or have any information / feedback to share on this matter. 

    Ideally, we would have an option to offer end users, enabling them to manage payments and bank reconciliation with a transit account, or with a direct flow close to the one of v12, but this is still an analysis in progress. 

    Have a great day. 


    Julien Jézéquel-Bréard - Chargé de projets
    NUMIGI SOLUTIONS INC.


    Longueuil, Québec, Canada

    linkedinyoutubecustom-icontwitter

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Graeme Gellatly - 11:51 - 7 Jan 2022
  • Re: stock: Retroactively removing lots from incompatible products in stock move history
    Personally if they are meant to have lots I wouldn't null them. Just create them new ones and set.

    Now as for quants there are 2 choices (these are v14) - first backport the Odoo way with a server action like this (if database is small) or the second is the same thing just specific to products.
    Model Server Action
    quants = env['stock.quant'].sudo().search([])

    move_line_ids = []
    move_line_to_recompute_ids = []

    logging = ''

    for quant in quants:

        move_lines = env['stock.move.line'].search([
            ('product_id', '=', quant.product_id.id),
            ('location_id', '=', quant.location_id.id),
            ('lot_id', '=', quant.lot_id.id),
            ('package_id', '=', quant.package_id.id),
            ('owner_id', '=', quant.owner_id.id),
            ('product_qty', '!=', 0),
            ])

        move_line_ids += move_lines.ids
        reserved_on_move_lines = sum(move_lines.mapped('product_qty'))
        move_line_str = str.join(', ', [str(move_line_id) for move_line_id in move_lines.ids])

        if quant.location_id.should_bypass_reservation():
            # If a quant is in a location that should bypass the reservation, its `reserved_quantity` field
            # should be 0.
            if quant.reserved_quantity != 0:
                logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                logging += "its `reserved_quantity` field is not 0 while its location should bypass the reservation\n"
                if move_lines:
                    logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                else:
                    logging += "no move lines are reserved on it, you can safely reset its `reserved_quantity` to 0\n"
                logging += '******************\n'
                quant.write({'reserved_quantity': 0})
        else:
            # If a quant is in a reservable location, its `reserved_quantity` should be exactly the sum
            # of the `product_qty` of all the partially_available / assigned move lines with the same
            # characteristics.

            if quant.reserved_quantity == 0:
                if move_lines:
                    logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                    logging += "its `reserved_quantity` field is 0 while these move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                    logging += '******************\n'
                    move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                    move_line_to_recompute_ids += move_lines.ids
            elif quant.reserved_quantity < 0:
                logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                logging += "its `reserved_quantity` field is negative while it should not happen\n"
                quant.write({'reserved_quantity': 0})
                if move_lines:
                    logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                    move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                    move_line_to_recompute_ids += move_lines.ids
                logging += '******************\n'
            else:
                if reserved_on_move_lines != quant.reserved_quantity:
                    logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                    logging += "its `reserved_quantity` does not reflect the move lines reservation\n"
                    logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                    logging += '******************\n'
                    move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                    move_line_to_recompute_ids += move_lines.ids
                    quant.write({'reserved_quantity': 0})
                else:
                    if any(move_line.product_qty < 0 for move_line in
                           move_lines):
                        logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                        logging += "its `reserved_quantity` correctly reflects the move lines reservation but some are negatives\n"
                        logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                        logging += '******************\n'
                        move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                        move_line_to_recompute_ids += move_lines.ids
                        quant.write({'reserved_quantity': 0})

    move_lines = env['stock.move.line'].search([('product_id.type', '=',
            'product'), ('product_qty', '!=', 0), ('id', 'not in',
            move_line_ids)])

    move_lines_to_unreserve = []

    for move_line in move_lines:
        if not move_line.location_id.should_bypass_reservation():
            logging += "Problematic move line found: %s (reserved_quantity: %s)\n" % (move_line.id, move_line.product_qty)
            logging += "There is no exiting quants despite its `reserved_quantity`\n"
            logging += '******************\n'
            move_lines_to_unreserve.append(move_line.id)
            move_line_to_recompute_ids.append(move_line.id)

    if len(move_lines_to_unreserve) > 0:
        env.cr.execute("""
                UPDATE stock_move_line SET product_uom_qty = 0, product_qty = 0 WHERE id in %s ;
            """
                       % (tuple(move_lines_to_unreserve), ))

    if logging:
        env['ir.logging'].sudo().create({
            'name': 'Unreserve stock.quant and stock.move.line',
            'type': 'server',
            'level': 'DEBUG',
            'dbname': env.cr.dbname,
            'message': logging,
            'func': '_update_reserved_quantity',
            'path': 'addons/stock/models/stock_quant.py',
            'line': '0',
        })

    if move_line_to_recompute_ids:
        env['stock.move.line'].browse(move_line_to_recompute_ids).move_id._recompute_state()

    Or if database is large/many users I create a Server Action on Product secured to inventory manager with an action
    if records:
        quants = env['stock.quant'].sudo().search([('product_id', 'in', records.ids)])
       
        move_line_ids = []
        move_line_to_recompute_ids = []
       
        logging = ''
       
        for quant in quants:
       
            move_lines = env['stock.move.line'].search([
                ('product_id', '=', quant.product_id.id),
                ('location_id', '=', quant.location_id.id),
                ('lot_id', '=', quant.lot_id.id),
                ('package_id', '=', quant.package_id.id),
                ('owner_id', '=', quant.owner_id.id),
                ('product_qty', '!=', 0),
                ])
       
            move_line_ids += move_lines.ids
            reserved_on_move_lines = sum(move_lines.mapped('product_qty'))
            move_line_str = str.join(', ', [str(move_line_id) for move_line_id in move_lines.ids])
       
            if quant.location_id.should_bypass_reservation():
                # If a quant is in a location that should bypass the reservation, its `reserved_quantity` field
                # should be 0.
                if quant.reserved_quantity != 0:
                    logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                    logging += "its `reserved_quantity` field is not 0 while its location should bypass the reservation\n"
                    if move_lines:
                        logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                    else:
                        logging += "no move lines are reserved on it, you can safely reset its `reserved_quantity` to 0\n"
                    logging += '******************\n'
                    quant.write({'reserved_quantity': 0})
            else:
                # If a quant is in a reservable location, its `reserved_quantity` should be exactly the sum
                # of the `product_qty` of all the partially_available / assigned move lines with the same
                # characteristics.
       
                if quant.reserved_quantity == 0:
                    if move_lines:
                        logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                        logging += "its `reserved_quantity` field is 0 while these move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                        logging += '******************\n'
                        move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                        move_line_to_recompute_ids += move_lines.ids
                elif quant.reserved_quantity < 0:
                    logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                    logging += "its `reserved_quantity` field is negative while it should not happen\n"
                    quant.write({'reserved_quantity': 0})
                    if move_lines:
                        logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                        move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                        move_line_to_recompute_ids += move_lines.ids
                    logging += '******************\n'
                else:
                    if reserved_on_move_lines != quant.reserved_quantity:
                        logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                        logging += "its `reserved_quantity` does not reflect the move lines reservation\n"
                        logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                        logging += '******************\n'
                        move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                        move_line_to_recompute_ids += move_lines.ids
                        quant.write({'reserved_quantity': 0})
                    else:
                        if any(move_line.product_qty < 0 for move_line in
                               move_lines):
                            logging += "Problematic quant found: %s (quantity: %s, reserved_quantity: %s)\n" % (quant.id, quant.quantity, quant.reserved_quantity)
                            logging += "its `reserved_quantity` correctly reflects the move lines reservation but some are negatives\n"
                            logging += "These move lines are reserved on it: %s (sum of the reservation: %s)\n" % (move_line_str, reserved_on_move_lines)
                            logging += '******************\n'
                            move_lines.with_context(bypass_reservation_update=True).sudo().write({'product_uom_qty': 0})
                            move_line_to_recompute_ids += move_lines.ids
                            quant.write({'reserved_quantity': 0})
       
        move_lines = env['stock.move.line'].search([('product_id.type', '=',
                'product'), ('product_qty', '!=', 0), ('id', 'not in',
                move_line_ids), ('product_id', 'in', records.ids)])
       
        move_lines_to_unreserve = []
       
        for move_line in move_lines:
            if not move_line.location_id.should_bypass_reservation():
                logging += "Problematic move line found: %s (reserved_quantity: %s)\n" % (move_line.id, move_line.product_qty)
                logging += "There is no exiting quants despite its `reserved_quantity`\n"
                logging += '******************\n'
                move_lines_to_unreserve.append(move_line.id)
                move_line_to_recompute_ids.append(move_line.id)
       
        if len(move_lines_to_unreserve) > 0:
            env.cr.execute("""
                    UPDATE stock_move_line SET product_uom_qty = 0, product_qty = 0 WHERE id in %s ;
                """
                           % (tuple(move_lines_to_unreserve), ))
       
        if logging:
            env['ir.logging'].sudo().create({
                'name': 'Unreserve stock.quant and stock.move.line',
                'type': 'server',
                'level': 'INFO',
                'dbname': env.cr.dbname,
                'message': logging,
                'func': '_update_reserved_quantity',
                'path': 'addons/stock/models/stock_quant.py',
                'line': '0',
            })
       
        if move_line_to_recompute_ids:
            env['stock.move.line'].browse(move_line_to_recompute_ids).move_id._recompute_state()

    On Fri, 7 Jan 2022, 11:27 pm Carmen Bianca Bakker, <carmen@coopiteasy.be> wrote:
    Hello,
    
    Bedankt Tom, you are right. I have exclusively updated stock_quant from
    a previous backup, and I get effectively the same behaviour as I did
    when I updated both. That helps narrow down my research a lot---thank
    you.
    
    With kindness,
    Carmen
    

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Graeme Gellatly - 11:46 - 7 Jan 2022
  • Odoo v14 - Bank reconciliation flow
    Hello All

    First, we send our best wishes for this new year, with success in your projects.

    We wanted to reach because we are starting to plan migrations to V14. 

    We are not satisfied with the v14 bank reconciliation process, and the systematic use of transit accounts on payments. 

    We started to have an analysis on how we could propose a more direct and simple way of managing payments and bank reconciliation. 

    We wondered if any of you has already started a project of module on which we could contribute, or have any information / feedback to share on this matter. 

    Ideally, we would have an option to offer end users, enabling them to manage payments and bank reconciliation with a transit account, or with a direct flow close to the one of v12, but this is still an analysis in progress. 

    Have a great day. 


    Julien Jézéquel-Bréard - Chargé de projets
    NUMIGI SOLUTIONS INC.


    Longueuil, Québec, Canada

    linkedinyoutubecustom-icontwitter


    by Julien Jézéquel-Bréard - 10:11 - 7 Jan 2022
  • Re: stock: Retroactively removing lots from incompatible products in stock move history
    Hello,
    
    Bedankt Tom, you are right. I have exclusively updated stock_quant from
    a previous backup, and I get effectively the same behaviour as I did
    when I updated both. That helps narrow down my research a lot---thank
    you.
    
    With kindness,
    Carmen
    

    by Carmen Bianca Bakker - 11:26 - 7 Jan 2022
  • Re: stock: Retroactively removing lots from incompatible products in stock move history


    On 1/7/22 10:47 AM, Carmen Bianca Bakker wrote:
    I have also verified that the quantities in
    the inventory have correctly added up (the quantities of bottles that
    previously had lots are added to the lot-less bottles).

    I think at least for the stock_quant table, this is all you had to verify, and you have, so that's fine.

    As for the modification that you did in "stock_move_line", I'm less sure - you're changing history there. I'm also not sure if doing that was really necessary to achieve your goal to make the inventory work again.

    If you want to be sure, I would revert the stock move line table to a recent backup, and then do some more testing in a test database if that modification is really necessary.


    by Tom Blauwendraat - 11:06 - 7 Jan 2022
  • stock: Retroactively removing lots from incompatible products in stock move history
    Hi all,
    
    I'm a little bit new to Odoo, so please bear with me if I don't get
    everything right, but I've been told that I have struck a difficult
    bug.
    
    TL:DR: Having removed the lot_id from certain rows (products that are
    incompatible with that lot) in stock_move_line and stock_quant, how do
    I know I haven't broken something?
    
    
    I have a database that was migrated from Odoo 9 to Odoo 12. Before the
    migration, there was a bug that assigned lots to by-products of a
    dismantling operation (in this case, empty bottles were assigned the
    lots of full bottles of wine).
    
    As a result, during inventory on Odoo 12, the error message from
    StockMoveLine._check_lot_product() shows up, correctly identifying that
    these various lots are incompatible with empty bottles, then aborting
    the validation.
    
    Because these lots were added in error, I want to remove them from all
    past stock moves. This cannot be done through the UI, so I've made
    these SQL statements to get it done:
    
    ```
    update stock_move_line 
    set lot_id = null, lot_name = null
    where product_id in (67, 38, 29) and lot_id is not null;
    
    update stock_quant
    set lot_id = null
    where product_id in (67, 38, 29) and lot_id is not null;
    ```
    
    (the product_ids here are empty bottles)
    
    Having run the above on a test/staging database, I can now do the
    inventory without troubles. I have also verified that the quantities in
    the inventory have correctly added up (the quantities of bottles that
    previously had lots are added to the lot-less bottles). The quantities
    on the `product.product` view have remained the same, which makes sense
    to me. I have also triggered `_compute_quantities()` for
    'product.product', and nothing has changed.
    
    Although everything works and my problems seem to have disappeared, the
    problem is that I do not know whether I have inadvertently corrupted
    the (test!) database. I've been reading the source code of the stock
    module to find interactions with lot_id and lot_name, but I've not
    really found anything troubling.
    
    Does my approach make sense? Is there anything I can do to verify the
    integrity of what I've done?
    
    Many thanks and best regards,
    
    Carmen Bianca Bakker
    Coop IT Easy
    

    by Carmen Bianca Bakker - 10:46 - 7 Jan 2022
  • Odoo Users List

    Hi,

     

    I would like to see if you or your company is interested in acquiring any Odoo Contact List which can help you to grow your business and boost your sales.

     

    We can also help you with Web Design, WordPress, WordPress Development, WordPress Design, Odoo eCommerce, Odoo CRM, and many more.

     

    Let me know your preferred Target Geography____ so that I can get back to you with the counts and pricing.

     

    I look forward to your response!

     

    Regards,

    Caitlyn Drake

    Demand Generation


    by "Caitlyn Drake" <caitlyn.drake@infodatasource.com> - 05:51 - 6 Jan 2022
  • Re: PSC Real Estate
    Hi all,

    I think this is not the interest of too much people, but it would be helpful to have write access to it to go forward as some core people approved this.


    Thanks

    Le dim. 21 nov. 2021 à 14:52, Roussel, Denis <denis.roussel@acsone.eu> a écrit :
    @Ignacio Yes, it could be great to push a PR.

    That can be a base for beginning.

    Thanks


    On Mon, Nov 15, 2021 at 10:12 AM Ignacio Ibeas (Acysos S.L.) <ignacio@acysos.com> wrote:

    Hello,

    This is correct, but we not commit modules because there aren't compliant with the OCA requirements. The modules are in production but are to extense, i we don't make tests.

    We can make a PR with all our work.

    Greetings

    El 15/11/21 a las 9:52, Stéphane Bidoul escribió:
    The PSC Representative and only member is currently Ignacio Ibeas (https://odoo-community.org/psc-teams/real-estate-116).

    Best regards,

    -sbi

    On Mon, Nov 15, 2021 at 9:07 AM Raphaël Reverdy <raphael.reverdy@akretion.com> wrote:
    +1

    Le ven. 12 nov. 2021 à 15:57, Roussel, Denis <denis.roussel@acsone.eu> a écrit :

    Le ven. 12 nov. 2021 à 15:52, Pedro M. Baeza (Tecnativa) <pedro.baeza@tecnativa.com> a écrit :
    Not sure which is the PSC for that, but a valuable contributor like you is a sure +1

    Regards.

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe



    --
    Raphaël Reverdy
    Mobile +33 6 38 02 03 93
    Fixe +33 4 82 53 84 60

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    --
    Ignacio Ibeas
    Acysos S.L. (www.acysos.com)
    Odoo Partner (https://www.odoo.com/es_ES/partners/acysos-s-l-80090)
    Asociado Asociación Española de Odoo (https://www.aeodoo.org/members/acysos-s-l-24)
    Odoo Community Association (https://odoo-community.org/members/acysos-s-l-ignacio-ibeas-760)
    Github (http://www.github.com/acysos)
    Odoo Apps (https://www.odoo.com/apps/modules/browse?author=Acysos S.L.)
    C/ Miguel Astrain 18, 1º Oficina A
    31006 Pamplona, Navarra.
    ignacio@acysos.com
    Tel. 948238905
    ---------------------- // -------------------
    La información contenida en este mensaje de correo electrónico es
    confidencial, para ser leída por la(s) persona(s) a quién se dirige. El
    acceso a este mensaje por otras personas no está autorizado. Si Ud. no es la
    persona a la que va dirigido, cualquier divulgación, copia o distribución de
    la información queda prohibida y puede ser ilegal. Asimismo, cualquier acción
    tomada o dejada de tomar basada en la información contenida en este mensaje
    queda prohibida y puede ser ilegal.
    The information in this e-mail is confidential and may be legally privileged.
    It is intended solely for the addressee. Access to this e-mail by anyone is
    unauthorised. If you are not the intended recipient, any disclousure,
    copying, distribuition or any action taken or omited to be taken in reliance
    on it, is prohibited and may be unlawful.

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe



    --

    Denis Roussel
    Software Engineer
    T    : +32 2 888 31 49
    M : +32 472 22 00 57


    Val Benoit, Quai Banning 6 | B-4000 Liège | Belgium
    Atrium Building, Drève Richelle 167 | B-1410 Waterloo | Belgium
    Zone industrielle 22 | L-8287 Kehlen | Luxembourg

    by Denis Roussel - 04:16 - 5 Jan 2022
  • Re: Stock Valuation by LOT
    Thank you very much. 

    Happy New Year to all OCA members!

    On Fri, Dec 31, 2021, 08:42 Graeme Gellatly <gdgellatly@gmail.com> wrote:
    Hi Kitti,

    I have a module. Its basic usage is to trick FIFO into behaving like actual cost for tracked products.


    It is well tested on v12, however v14 is only just being deployed.

    On Fri, Dec 31, 2021 at 4:51 AM Kitti U. <kittiu@ecosoft.co.th> wrote:
    Yes that would be awesome!

    On Thu, Dec 30, 2021, 21:12 Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com> wrote:
    I have something similar that I make for V13, it's not in OCA but I can make a PR with this module,

    I have two modules, one that value stock by lot and other that value stock by warehouse.

    I'm a little busy this days, I can make the PR and give you access to continue the PR to comply with OCA standards if you are OK.

    El jue., 30 de diciembre de 2021 5:21 a. m., Kitti U. <kittiu@ecosoft.co.th> escribió:
    Hi Dominque,

    Thanks for the response. Yes, FIFO in fact not matter much, it is the way to give default LOT that is available by FIFO. I found something similar to my need like this, 

    Your suggestions can help me making such module to OCA, thanks!

    I want to make sure that OCA don't have anything similar yet.


    On Thu, Dec 30, 2021 at 5:56 PM Dominique k <dominique.k@elico-corp.com.sg> wrote:
    Hi Kitti,
    Here (in Singapore), it is accepted that FIFO should not be by lot because FIFO is an accounting policy, independent from the warehouse operations.
    And in cases that the users need cost information by lot, e.g. in trading business, with lots of suppliers with various costs for the same product, we added the function to calculate the cost from a lot, by searching the PO that brought the lot in the stock.

    My two cents, if that helps.
    Dominique 


    On Thu, 30 Dec 2021 at 18:27, Kitti U. <kittiu@ecosoft.co.th> wrote:
    Dear community,

    Currently, I am looking for perpetual stock valuation with FIFO method, using LOT.

    So far, I found out that, even though we already use LOT on stock move (same product, different price by LOT), Odoo, the stock valuation report do not show by LOT, but new average cost.

    Also, on case Return stock, it also don't use cost by LOT, but the average cost.

    Are there module in OCA helping out?

    Many thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Kitti Upariphutthiphong - 01:51 - 31 Dec 2021
  • Re: Stock Valuation by LOT
    Hi Kitti,

    I have a module. Its basic usage is to trick FIFO into behaving like actual cost for tracked products.


    It is well tested on v12, however v14 is only just being deployed.

    On Fri, Dec 31, 2021 at 4:51 AM Kitti U. <kittiu@ecosoft.co.th> wrote:
    Yes that would be awesome!

    On Thu, Dec 30, 2021, 21:12 Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com> wrote:
    I have something similar that I make for V13, it's not in OCA but I can make a PR with this module,

    I have two modules, one that value stock by lot and other that value stock by warehouse.

    I'm a little busy this days, I can make the PR and give you access to continue the PR to comply with OCA standards if you are OK.

    El jue., 30 de diciembre de 2021 5:21 a. m., Kitti U. <kittiu@ecosoft.co.th> escribió:
    Hi Dominque,

    Thanks for the response. Yes, FIFO in fact not matter much, it is the way to give default LOT that is available by FIFO. I found something similar to my need like this, 

    Your suggestions can help me making such module to OCA, thanks!

    I want to make sure that OCA don't have anything similar yet.


    On Thu, Dec 30, 2021 at 5:56 PM Dominique k <dominique.k@elico-corp.com.sg> wrote:
    Hi Kitti,
    Here (in Singapore), it is accepted that FIFO should not be by lot because FIFO is an accounting policy, independent from the warehouse operations.
    And in cases that the users need cost information by lot, e.g. in trading business, with lots of suppliers with various costs for the same product, we added the function to calculate the cost from a lot, by searching the PO that brought the lot in the stock.

    My two cents, if that helps.
    Dominique 


    On Thu, 30 Dec 2021 at 18:27, Kitti U. <kittiu@ecosoft.co.th> wrote:
    Dear community,

    Currently, I am looking for perpetual stock valuation with FIFO method, using LOT.

    So far, I found out that, even though we already use LOT on stock move (same product, different price by LOT), Odoo, the stock valuation report do not show by LOT, but new average cost.

    Also, on case Return stock, it also don't use cost by LOT, but the average cost.

    Are there module in OCA helping out?

    Many thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Graeme Gellatly - 02:36 - 31 Dec 2021
  • Re: Stock Valuation by LOT
    Yes that would be awesome!

    On Thu, Dec 30, 2021, 21:12 Jesús Alan Ramos Rodríguez <alan.ramos@jarsa.com> wrote:
    I have something similar that I make for V13, it's not in OCA but I can make a PR with this module,

    I have two modules, one that value stock by lot and other that value stock by warehouse.

    I'm a little busy this days, I can make the PR and give you access to continue the PR to comply with OCA standards if you are OK.

    El jue., 30 de diciembre de 2021 5:21 a. m., Kitti U. <kittiu@ecosoft.co.th> escribió:
    Hi Dominque,

    Thanks for the response. Yes, FIFO in fact not matter much, it is the way to give default LOT that is available by FIFO. I found something similar to my need like this, 

    Your suggestions can help me making such module to OCA, thanks!

    I want to make sure that OCA don't have anything similar yet.


    On Thu, Dec 30, 2021 at 5:56 PM Dominique k <dominique.k@elico-corp.com.sg> wrote:
    Hi Kitti,
    Here (in Singapore), it is accepted that FIFO should not be by lot because FIFO is an accounting policy, independent from the warehouse operations.
    And in cases that the users need cost information by lot, e.g. in trading business, with lots of suppliers with various costs for the same product, we added the function to calculate the cost from a lot, by searching the PO that brought the lot in the stock.

    My two cents, if that helps.
    Dominique 


    On Thu, 30 Dec 2021 at 18:27, Kitti U. <kittiu@ecosoft.co.th> wrote:
    Dear community,

    Currently, I am looking for perpetual stock valuation with FIFO method, using LOT.

    So far, I found out that, even though we already use LOT on stock move (same product, different price by LOT), Odoo, the stock valuation report do not show by LOT, but new average cost.

    Also, on case Return stock, it also don't use cost by LOT, but the average cost.

    Are there module in OCA helping out?

    Many thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Kitti Upariphutthiphong - 04:51 - 30 Dec 2021
  • Re: Stock Valuation by LOT
    I have something similar that I make for V13, it's not in OCA but I can make a PR with this module,

    I have two modules, one that value stock by lot and other that value stock by warehouse.

    I'm a little busy this days, I can make the PR and give you access to continue the PR to comply with OCA standards if you are OK.

    El jue., 30 de diciembre de 2021 5:21 a. m., Kitti U. <kittiu@ecosoft.co.th> escribió:
    Hi Dominque,

    Thanks for the response. Yes, FIFO in fact not matter much, it is the way to give default LOT that is available by FIFO. I found something similar to my need like this, 

    Your suggestions can help me making such module to OCA, thanks!

    I want to make sure that OCA don't have anything similar yet.


    On Thu, Dec 30, 2021 at 5:56 PM Dominique k <dominique.k@elico-corp.com.sg> wrote:
    Hi Kitti,
    Here (in Singapore), it is accepted that FIFO should not be by lot because FIFO is an accounting policy, independent from the warehouse operations.
    And in cases that the users need cost information by lot, e.g. in trading business, with lots of suppliers with various costs for the same product, we added the function to calculate the cost from a lot, by searching the PO that brought the lot in the stock.

    My two cents, if that helps.
    Dominique 


    On Thu, 30 Dec 2021 at 18:27, Kitti U. <kittiu@ecosoft.co.th> wrote:
    Dear community,

    Currently, I am looking for perpetual stock valuation with FIFO method, using LOT.

    So far, I found out that, even though we already use LOT on stock move (same product, different price by LOT), Odoo, the stock valuation report do not show by LOT, but new average cost.

    Also, on case Return stock, it also don't use cost by LOT, but the average cost.

    Are there module in OCA helping out?

    Many thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by "Jesús Alan Ramos Rodríguez" <alan.ramos@jarsa.com> - 03:11 - 30 Dec 2021
  • Re: Stock Valuation by LOT
    Hi Dominque,

    Thanks for the response. Yes, FIFO in fact not matter much, it is the way to give default LOT that is available by FIFO. I found something similar to my need like this, 

    Your suggestions can help me making such module to OCA, thanks!

    I want to make sure that OCA don't have anything similar yet.


    On Thu, Dec 30, 2021 at 5:56 PM Dominique k <dominique.k@elico-corp.com.sg> wrote:
    Hi Kitti,
    Here (in Singapore), it is accepted that FIFO should not be by lot because FIFO is an accounting policy, independent from the warehouse operations.
    And in cases that the users need cost information by lot, e.g. in trading business, with lots of suppliers with various costs for the same product, we added the function to calculate the cost from a lot, by searching the PO that brought the lot in the stock.

    My two cents, if that helps.
    Dominique 


    On Thu, 30 Dec 2021 at 18:27, Kitti U. <kittiu@ecosoft.co.th> wrote:
    Dear community,

    Currently, I am looking for perpetual stock valuation with FIFO method, using LOT.

    So far, I found out that, even though we already use LOT on stock move (same product, different price by LOT), Odoo, the stock valuation report do not show by LOT, but new average cost.

    Also, on case Return stock, it also don't use cost by LOT, but the average cost.

    Are there module in OCA helping out?

    Many thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Kitti Upariphutthiphong - 12:20 - 30 Dec 2021
  • Re: Stock Valuation by LOT
    Hi Kitti,
    Here (in Singapore), it is accepted that FIFO should not be by lot because FIFO is an accounting policy, independent from the warehouse operations.
    And in cases that the users need cost information by lot, e.g. in trading business, with lots of suppliers with various costs for the same product, we added the function to calculate the cost from a lot, by searching the PO that brought the lot in the stock.

    My two cents, if that helps.
    Dominique 


    On Thu, 30 Dec 2021 at 18:27, Kitti U. <kittiu@ecosoft.co.th> wrote:
    Dear community,

    Currently, I am looking for perpetual stock valuation with FIFO method, using LOT.

    So far, I found out that, even though we already use LOT on stock move (same product, different price by LOT), Odoo, the stock valuation report do not show by LOT, but new average cost.

    Also, on case Return stock, it also don't use cost by LOT, but the average cost.

    Are there module in OCA helping out?

    Many thanks!

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by dominique.k - 11:55 - 30 Dec 2021
  • Stock Valuation by LOT
    Dear community,

    Currently, I am looking for perpetual stock valuation with FIFO method, using LOT.

    So far, I found out that, even though we already use LOT on stock move (same product, different price by LOT), Odoo, the stock valuation report do not show by LOT, but new average cost.

    Also, on case Return stock, it also don't use cost by LOT, but the average cost.

    Are there module in OCA helping out?

    Many thanks!

    by Kitti Upariphutthiphong - 11:26 - 30 Dec 2021
  • Re: Apply to community PSC
    Thank you! :)

    On Wed, Dec 29, 2021 at 3:47 PM Pedro M. Baeza (Tecnativa) <pedro.baeza@tecnativa.com> wrote:
    Thanks for the quick reaction.

    Happy Christmas to all!

    El mié., 29 dic. 2021 15:57, Frederik Kramer <frederik.kramer@initos.com> escribió:
    Of course +1 and thanks for helping on this one 
    
    Best Frederik
    
    Am Mittwoch, dem 29.12.2021 um 12:47 +0000 schrieb Pedro M. Baeza
    (Tecnativa):
    
    
    
    > Hi all,
    
    
    
    > 
    
    
    
    > I want to request your approval to be part of the community PSC,
    
    
    
    > which is in charge of OCA infrastructure and stuff like CI, for me
    
    
    
    > and my colleague Joao, as we both intervene in these processes and
    
    
    
    > can contribute with quick reactions over some events like the one
    
    
    
    > happened yesterday.
    
    
    
    > 
    
    
    
    > Thanks.
    
    
    
    > 
    
    
    
    > Regards.
    
    
    
    > _______________________________________________
    
    
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15
    
    
    
    > Post to: mailto:contributors@odoo-community.org
    
    
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe
    
    
    
    -- 
    Dr.-Ing. Frederik Kramer
    Geschäftsführer
            
    initOS GmbH
    An der Eisenbahn 1
    21224 Rosengarten
            
    Phone:  +49 4105 56156-12
    Fax:    +49 4105 56156-10
    Mobil:  +49 179 3901819
            
    Email: frederik.kramer@initos.com
    Web:   www.initos.com
            
    Geschäftsführung:
    Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
    
    Sitz der Gesellschaft: Rosengarten – Klecken
    Amtsgericht Tostedt, HRB 205226
    Steuer-Nr: 15/200/53247
    USt-IdNr.: DE815580155
    
    

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by João Marques - 11:05 - 30 Dec 2021
  • Re: Boolean grouped line label
    For the record, your image is not visible because odoo hosted on odoo-community.org does not implement this fix:

    --
    Yann PAPOUIN, Ingénieur R&D | DEC


    Le ven. 24 déc. 2021 à 14:37, Pierre Verkest <pierreverkest84@gmail.com> a écrit :
    Hi there,

    Do you know any module to improve the display of the grouped lines on a boolean field ?

    In the following example I'd like to see "Active: Yes (5)" (or "Active: True (5)" where true can be translated) instead of "true (5)".

    image.png

    If not, I'm thinking of creating a new PR on the web repo which could be named web_boolean_group_label.

    Your comments are appreciated !

    Regards,

    --
    Pierre Verkest
    06 81 12 25 20
    Github: petrus-v - Twitter: petrusv84 - Linkedin: pierre-verkest

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Yann Papouin - 05:06 - 29 Dec 2021
  • Re: Apply to community PSC
    Thanks for the quick reaction.

    Happy Christmas to all!

    El mié., 29 dic. 2021 15:57, Frederik Kramer <frederik.kramer@initos.com> escribió:
    Of course +1 and thanks for helping on this one 
    
    Best Frederik
    
    Am Mittwoch, dem 29.12.2021 um 12:47 +0000 schrieb Pedro M. Baeza
    (Tecnativa):
    
    
    > Hi all,
    
    
    > 
    
    
    > I want to request your approval to be part of the community PSC,
    
    
    > which is in charge of OCA infrastructure and stuff like CI, for me
    
    
    > and my colleague Joao, as we both intervene in these processes and
    
    
    > can contribute with quick reactions over some events like the one
    
    
    > happened yesterday.
    
    
    > 
    
    
    > Thanks.
    
    
    > 
    
    
    > Regards.
    
    
    > _______________________________________________
    
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15
    
    
    > Post to: mailto:contributors@odoo-community.org
    
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe
    
    
    -- 
    Dr.-Ing. Frederik Kramer
    Geschäftsführer
            
    initOS GmbH
    An der Eisenbahn 1
    21224 Rosengarten
            
    Phone:  +49 4105 56156-12
    Fax:    +49 4105 56156-10
    Mobil:  +49 179 3901819
            
    Email: frederik.kramer@initos.com
    Web:   www.initos.com
            
    Geschäftsführung:
    Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
    
    Sitz der Gesellschaft: Rosengarten – Klecken
    Amtsgericht Tostedt, HRB 205226
    Steuer-Nr: 15/200/53247
    USt-IdNr.: DE815580155
    
    

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe


    by Pedro M. Baeza - 04:46 - 29 Dec 2021
  • Re: Apply to community PSC
    Of course +1 and thanks for helping on this one 
    
    Best Frederik
    
    Am Mittwoch, dem 29.12.2021 um 12:47 +0000 schrieb Pedro M. Baeza
    (Tecnativa):
    
    > Hi all,
    
    > 
    
    > I want to request your approval to be part of the community PSC,
    
    > which is in charge of OCA infrastructure and stuff like CI, for me
    
    > and my colleague Joao, as we both intervene in these processes and
    
    > can contribute with quick reactions over some events like the one
    
    > happened yesterday.
    
    > 
    
    > Thanks.
    
    > 
    
    > Regards.
    
    > _______________________________________________
    
    > Mailing-List: https://odoo-community.org/groups/contributors-15
    
    > Post to: mailto:contributors@odoo-community.org
    
    > Unsubscribe: https://odoo-community.org/groups?unsubscribe
    
    -- 
    Dr.-Ing. Frederik Kramer
    Geschäftsführer
            
    initOS GmbH
    An der Eisenbahn 1
    21224 Rosengarten
            
    Phone:  +49 4105 56156-12
    Fax:    +49 4105 56156-10
    Mobil:  +49 179 3901819
            
    Email: frederik.kramer@initos.com
    Web:   www.initos.com
            
    Geschäftsführung:
    Dr.-Ing. Frederik Kramer & Dipl.-Ing. (FH) Torsten Francke
    
    Sitz der Gesellschaft: Rosengarten – Klecken
    Amtsgericht Tostedt, HRB 205226
    Steuer-Nr: 15/200/53247
    USt-IdNr.: DE815580155
    
    

    by Frederik Kramer - 03:56 - 29 Dec 2021
  • Re: Apply to community PSC
    Dear Pedro and Joäo,

    I've added you to PSC members. As usual the sync will take a while.

    Bests,

    On Wed, Dec 29, 2021 at 1:57 PM Simone Orsi <simahawk@gmail.com> wrote:
    Hola, +1 :)

    On Wed, Dec 29, 2021 at 1:47 PM Pedro M. Baeza (Tecnativa) <pedro.baeza@tecnativa.com> wrote:
    Hi all,

    I want to request your approval to be part of the community PSC, which is in charge of OCA infrastructure and stuff like CI, for me and my colleague Joao, as we both intervene in these processes and can contribute with quick reactions over some events like the one happened yesterday.

    Thanks.

    Regards.

    _______________________________________________
    Mailing-List: https://odoo-community.org/groups/contributors-15
    Post to: mailto:contributors@odoo-community.org
    Unsubscribe: https://odoo-community.org/groups?unsubscribe



    --
    Simone Orsi

    Full stack Python web developer, Odoo specialist, Odoo Community Board Member, in love with open source.


    --
    Simone Orsi

    Full stack Python web developer, Odoo specialist, Odoo Community Board Member, in love with open source.

    by Simone Orsi - 02:06 - 29 Dec 2021