diff --git a/.hgtags b/.hgtags index b1a167491e..efec44ecee 100644 --- a/.hgtags +++ b/.hgtags @@ -58,3 +58,2001 @@ e2452d05303463862d2da2b262a0a9624787f41e sale_supply_drop_shipment-5.0.0 5adad935706d1d3d9e03b79abffb815ec77ba3af sale_supply_drop_shipment-6.0.2 0000000000000000000000000000000000000000 6.0.3 6b39b2b8632615e7a32a108acf40c099f493868b sale_supply_drop_shipment-6.0.3 +9d51a13e8346425ad0304993f732c1e5a20a76c1 2.8.0 +2073077ab2b0c6a1f8a0b39accf36ccb14fd77c0 3.0.0 +25a90ba19bbcf5b93a2ec81d96590f0c244d3df4 3.2.0 +5478dfb45b7d156cb8ce9069290f94ff7340a1b4 3.4.0 +836d4865c124edda9132ce46eedf39031112930a 3.6.0 +ccee92d5cac85cd171a4190c106ca13e17cc077f 3.8.0 +d58ed0bed67cb50a6c576bf6abd582ecbb902d74 4.0.0 +25e9c457fd1097bb0898194632ef719ad1edd8e5 4.2.0 +be59a2b5ff6771cf4d5c9b1c78f72ed8f2995c9a 4.4.0 +cbbb1d178e77d277bdb7c27a0c8b1ecce443b942 4.6.0 +698ea041c44ede7b132ac142db13642c2d4a0e4b 4.8.0 +e869a845b7d9fdbcfe7ed17d4c322230efc34f6e 5.0.0 +e0ebd4611c7a3c6486bd3cb553cb703ce7e03d33 5.2.0 +ecaf5fd99a7a59e3fc5e4615cd668eba43a037ac 5.4.0 +920a0452a4d5fb8781ecb9e3971e77dc54c82802 5.6.0 +2bdcbedcd4c2b51bb9fb1170ccbc856bb0e4c62d 5.8.0 +156bd2b7b22290d9bc319376801d1c70f5a4b6c0 6.0.0 +87d145c8591c8b46f9731cbec8dcfbfc19d22355 6.0.1 +0000000000000000000000000000000000000000 2.8.0 +9d51a13e8346425ad0304993f732c1e5a20a76c1 sale_supply-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +2073077ab2b0c6a1f8a0b39accf36ccb14fd77c0 sale_supply-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +25a90ba19bbcf5b93a2ec81d96590f0c244d3df4 sale_supply-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +5478dfb45b7d156cb8ce9069290f94ff7340a1b4 sale_supply-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +836d4865c124edda9132ce46eedf39031112930a sale_supply-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +ccee92d5cac85cd171a4190c106ca13e17cc077f sale_supply-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +d58ed0bed67cb50a6c576bf6abd582ecbb902d74 sale_supply-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +25e9c457fd1097bb0898194632ef719ad1edd8e5 sale_supply-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +be59a2b5ff6771cf4d5c9b1c78f72ed8f2995c9a sale_supply-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +cbbb1d178e77d277bdb7c27a0c8b1ecce443b942 sale_supply-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +698ea041c44ede7b132ac142db13642c2d4a0e4b sale_supply-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +e869a845b7d9fdbcfe7ed17d4c322230efc34f6e sale_supply-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +e0ebd4611c7a3c6486bd3cb553cb703ce7e03d33 sale_supply-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +ecaf5fd99a7a59e3fc5e4615cd668eba43a037ac sale_supply-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +920a0452a4d5fb8781ecb9e3971e77dc54c82802 sale_supply-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +2bdcbedcd4c2b51bb9fb1170ccbc856bb0e4c62d sale_supply-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +156bd2b7b22290d9bc319376801d1c70f5a4b6c0 sale_supply-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +87d145c8591c8b46f9731cbec8dcfbfc19d22355 sale_supply-6.0.1 +f62f4846d82f2c05110d92ddb65f764478df50d4 5.6.0 +2e4a3b14e265050e2df36c1c96b03fd246a5da6e 5.8.0 +2081017ba6e796df571eb28475f82ada5ab9c27f 6.0.0 +dd0c6e4d288c0a5ba33192e58cb37808ee3fdec2 6.0.1 +0000000000000000000000000000000000000000 5.6.0 +f62f4846d82f2c05110d92ddb65f764478df50d4 sale_supply_production-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +2e4a3b14e265050e2df36c1c96b03fd246a5da6e sale_supply_production-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +2081017ba6e796df571eb28475f82ada5ab9c27f sale_supply_production-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +dd0c6e4d288c0a5ba33192e58cb37808ee3fdec2 sale_supply_production-6.0.1 +2ecdd7815e6c21be61cd051a6a9e8b717f070a88 5.8.0 +8ca8057e893a91132d0cd825f4d657f33d7ea0e7 6.0.0 +3e67ce9619dd4fa27ad1ea43b1b91a56b59f9d01 6.0.1 +0000000000000000000000000000000000000000 5.8.0 +2ecdd7815e6c21be61cd051a6a9e8b717f070a88 stock_assign_manual-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +8ca8057e893a91132d0cd825f4d657f33d7ea0e7 stock_assign_manual-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +3e67ce9619dd4fa27ad1ea43b1b91a56b59f9d01 stock_assign_manual-6.0.1 +1cca6d14276b659f00a0fc38be07cc5fe34f5ee3 4.6.0 +f4fdf5e0eed18ad55d81251b7836d58d82a2c8e6 4.8.0 +a70b520434de02e84563ff24c9355edbfcf211bd 5.0.0 +9f4f86318326142aa40c5581d7ee6305e80bb54c 5.2.0 +9caec42518ff5f7bcae3b3318f8f1a93c659e2df 5.4.0 +30267e762f4cff49765e21f8676afb8a82378004 5.6.0 +2f3647bc2b8116b932578ea01c1933e56c3e6e72 5.8.0 +ae83f77292cfd1c40a0997c570a4fba56ccb09d0 6.0.0 +e135f31b4507791092dc1e3812d47706bf6269ee 6.0.1 +e0f024b6d13467e95992fe5e5a3ff73ee007621e 6.0.2 +0000000000000000000000000000000000000000 4.6.0 +1cca6d14276b659f00a0fc38be07cc5fe34f5ee3 stock_consignment-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +f4fdf5e0eed18ad55d81251b7836d58d82a2c8e6 stock_consignment-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +a70b520434de02e84563ff24c9355edbfcf211bd stock_consignment-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +9f4f86318326142aa40c5581d7ee6305e80bb54c stock_consignment-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +9caec42518ff5f7bcae3b3318f8f1a93c659e2df stock_consignment-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +30267e762f4cff49765e21f8676afb8a82378004 stock_consignment-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +2f3647bc2b8116b932578ea01c1933e56c3e6e72 stock_consignment-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +ae83f77292cfd1c40a0997c570a4fba56ccb09d0 stock_consignment-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +e135f31b4507791092dc1e3812d47706bf6269ee stock_consignment-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +e0f024b6d13467e95992fe5e5a3ff73ee007621e stock_consignment-6.0.2 +b9ba6291ff01f9f6ceaa7685324e385aaad70ed8 1.2.0 +ddd1eccfec75e5a7c29f1679e68987ec16c4079b 1.4.0 +ec15c191467d843cee84661735d8e6b1a614e87f 1.6.0 +3e2d602a2d7bef0d69b99daa0c2c82bc98bbe3f0 1.8.0 +a0bef2c542a5d734e6a7f9d7984e945156cf5be2 2.0.0 +2745e0851b7da8701df441dac1b27e8ec95f5b5e 2.2.0 +7f0bb8e8f9faba66514b88819a8cf38cf79490d3 2.4.0 +88b74de7c907a886cc73be70f38d624ac7ebee19 2.6.0 +ca9d55dd442d515a52a3fcfc8fc60f784ea5e906 2.8.0 +94dfb0ac9d740888fa59ba2d58a9a5c0aef409e1 3.0.0 +9658f3f89a68c82b80138a37a115b764657493c5 3.2.0 +4d5fc8837f7eae07f8634d718b3ae2903b6ae60a 3.4.0 +d22c87db76f1557f048c68f6ad3ad87776b41079 3.6.0 +229754c2419cb9201649abe4a937457458a87c31 3.8.0 +d8d9d25f84964e131574d5c2af10127d5def2de1 4.0.0 +5dcd83fc7e31a660b1bf3481e82fd66fe913917d 4.2.0 +ca7feded741ba1714157280cdb4012d5ec0eee34 4.4.0 +b8a5320254d19e69acf55a9e0d15efd1617963ac 4.6.0 +e51f3aa6f87fd0b45a49d19f1f96f85f024f41cb 4.8.0 +1605875226050dfba9bdbec52bdc178c4d12b3ab 5.0.0 +e3220f9f070d012d207eb41083f9e5b645a14213 5.2.0 +8aa238ec2462dbde49cc8e0d0ab72a48d0e8ffd9 5.4.0 +823cc750b4c3758e09e2b5a9dbc908b6096922e8 5.6.0 +2ea6e7d95ad940d0a7f2b6e35c0547caa3d47ed2 5.8.0 +6b68d584ffcc365975efb0e4754d92b90d060d85 6.0.0 +e233e9feddcc6b91e38f96117d09f77944be1a7e 6.0.1 +cb1831b5b9fbcbb6089ea440e439fb73167cf307 6.0.2 +0000000000000000000000000000000000000000 1.2.0 +b9ba6291ff01f9f6ceaa7685324e385aaad70ed8 stock_forecast-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +ddd1eccfec75e5a7c29f1679e68987ec16c4079b stock_forecast-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +ec15c191467d843cee84661735d8e6b1a614e87f stock_forecast-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +3e2d602a2d7bef0d69b99daa0c2c82bc98bbe3f0 stock_forecast-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +a0bef2c542a5d734e6a7f9d7984e945156cf5be2 stock_forecast-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +2745e0851b7da8701df441dac1b27e8ec95f5b5e stock_forecast-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +7f0bb8e8f9faba66514b88819a8cf38cf79490d3 stock_forecast-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +88b74de7c907a886cc73be70f38d624ac7ebee19 stock_forecast-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +ca9d55dd442d515a52a3fcfc8fc60f784ea5e906 stock_forecast-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +94dfb0ac9d740888fa59ba2d58a9a5c0aef409e1 stock_forecast-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +9658f3f89a68c82b80138a37a115b764657493c5 stock_forecast-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +4d5fc8837f7eae07f8634d718b3ae2903b6ae60a stock_forecast-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +d22c87db76f1557f048c68f6ad3ad87776b41079 stock_forecast-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +229754c2419cb9201649abe4a937457458a87c31 stock_forecast-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +d8d9d25f84964e131574d5c2af10127d5def2de1 stock_forecast-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +5dcd83fc7e31a660b1bf3481e82fd66fe913917d stock_forecast-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +ca7feded741ba1714157280cdb4012d5ec0eee34 stock_forecast-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +b8a5320254d19e69acf55a9e0d15efd1617963ac stock_forecast-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +e51f3aa6f87fd0b45a49d19f1f96f85f024f41cb stock_forecast-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +1605875226050dfba9bdbec52bdc178c4d12b3ab stock_forecast-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +e3220f9f070d012d207eb41083f9e5b645a14213 stock_forecast-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +8aa238ec2462dbde49cc8e0d0ab72a48d0e8ffd9 stock_forecast-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +823cc750b4c3758e09e2b5a9dbc908b6096922e8 stock_forecast-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +2ea6e7d95ad940d0a7f2b6e35c0547caa3d47ed2 stock_forecast-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +6b68d584ffcc365975efb0e4754d92b90d060d85 stock_forecast-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +e233e9feddcc6b91e38f96117d09f77944be1a7e stock_forecast-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +cb1831b5b9fbcbb6089ea440e439fb73167cf307 stock_forecast-6.0.2 +36cc8c10a10e0df5e7a0ef2cb6d6cdda706c0180 1.0.0 +f1d720635a60692c9abeb972734482e01ebc4b87 1.2.0 +0571f5c67623c43272e5fc05cc381554d6bf3db0 1.4.0 +6a658c8f74a540a10272f5d7f311d6c61c04f3da 1.6.0 +902e4b31b9d56918b1e9eb6e9486f52d19820fa6 1.8.0 +c2e3b9e568b73f262ebf0b69c2ca98f97cbb886e 2.0.0 +3babec8ed968fa95e07a7d90351de0e23a1125bf 2.2.0 +6217a989c27b4780c99ae09ee8cd1bd99807f857 2.4.0 +be073cc040e1ea0eabf77e09eaa8c8c97062e3ab 2.6.0 +83de8e4076f99f7247dc034a909a85a0dc500d84 2.8.0 +1e2bd2e0ec24c7c6109d38625e90462dffb18c13 3.0.0 +bcb26eaee7652f9b11cc717402859b0c3c6d87d2 3.2.0 +70be46258bf1471f5712285ae1772941610aaf7b 3.4.0 +70c741dc67fb55b51b950b2c5fa383318e693e04 3.6.0 +1b17ff426586b71fc7df09353c6337abe409c7cc 3.8.0 +f8628e226bd36c24c4ba5fece3363a272d2090eb 4.0.0 +ba22e15da88bf5736b49a85f12d8d4c864f4bd3f 4.2.0 +03dc7be46d80699cc35528ffe1416d972868d830 4.4.0 +e987bc41694de75a4a74235c12d7a576083c24ba 4.6.0 +697136ec827439a97ba89764f6c4e603f44c2dde 4.8.0 +997d19b737f02756d91647bbcf2c244c75454a13 5.0.0 +72a0c9157ce92abc2aef770d49e4f4d2df334e53 5.2.0 +2d1eab94f8c1efa0b7c9008f333d3419d3afd92e 5.4.0 +942dd4faf224b4b7a4d24fa47488f9453c9d37de 5.6.0 +d1e67fbb11774d0a7ca3bd5761cf4ea11dbaa4b8 5.8.0 +07499733ef86626acae2c8249ea02eb14ac4990f 6.0.0 +d2ee66917e7a025dbe0a45c5e20246921f88e3ab 6.0.1 +e0f26d2d46f0b8d2466f74c572e7b3eac747ef6d 6.0.2 +39ab9008e2b31f3067ca193e97e6b4182a97dbf1 6.0.3 +c4559954273ed17956b9f424e506e004cad913a8 6.0.4 +a231e37aa2b8074e0a5ddc4957decd74d528268b 6.0.5 +bdbcc38971c21643796423e4fe7af1d487d7abc6 6.0.6 +95d6cbcf8e8e4c2661c872fbadfc031ed9294a57 6.0.7 +046cf4bde35642bf0dfd9701a4cf2fcfbd0599a7 6.0.8 +21767740f556a7cc537b4e1f39d2d709b7f5ea3a 6.0.9 +7eb0b3717a39da9388a90ed5aa6a84f68494c594 6.0.10 +642a659e1017214dd9559d3c1ab97ffdd5457d79 6.0.11 +a29dbdb162873ebdea451f6895f895b063b3bb07 6.0.12 +b2feddae43b362b85b5b70908cefcff96ba1b0dd 6.0.13 +3688ec9159b359be2fbb3b3de8a8fce97e9effb6 6.0.14 +0dd8675f2ca761e2f461cb96ba36ec5b841404b2 6.0.15 +95767dcfed28d7257ca79b81157006aa8cd78c51 6.0.16 +27b7111d95687f65648992b8c2bc09fdbc24aebe 6.0.17 +98b3979b26627af842f6552583a216346c4ece89 6.0.18 +0000000000000000000000000000000000000000 1.0.0 +36cc8c10a10e0df5e7a0ef2cb6d6cdda706c0180 stock-1.0.0 +0000000000000000000000000000000000000000 1.2.0 +f1d720635a60692c9abeb972734482e01ebc4b87 stock-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +0571f5c67623c43272e5fc05cc381554d6bf3db0 stock-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +6a658c8f74a540a10272f5d7f311d6c61c04f3da stock-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +902e4b31b9d56918b1e9eb6e9486f52d19820fa6 stock-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +c2e3b9e568b73f262ebf0b69c2ca98f97cbb886e stock-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +3babec8ed968fa95e07a7d90351de0e23a1125bf stock-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +6217a989c27b4780c99ae09ee8cd1bd99807f857 stock-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +be073cc040e1ea0eabf77e09eaa8c8c97062e3ab stock-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +83de8e4076f99f7247dc034a909a85a0dc500d84 stock-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +1e2bd2e0ec24c7c6109d38625e90462dffb18c13 stock-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +bcb26eaee7652f9b11cc717402859b0c3c6d87d2 stock-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +70be46258bf1471f5712285ae1772941610aaf7b stock-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +70c741dc67fb55b51b950b2c5fa383318e693e04 stock-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +1b17ff426586b71fc7df09353c6337abe409c7cc stock-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +f8628e226bd36c24c4ba5fece3363a272d2090eb stock-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +ba22e15da88bf5736b49a85f12d8d4c864f4bd3f stock-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +03dc7be46d80699cc35528ffe1416d972868d830 stock-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +e987bc41694de75a4a74235c12d7a576083c24ba stock-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +697136ec827439a97ba89764f6c4e603f44c2dde stock-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +997d19b737f02756d91647bbcf2c244c75454a13 stock-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +72a0c9157ce92abc2aef770d49e4f4d2df334e53 stock-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +2d1eab94f8c1efa0b7c9008f333d3419d3afd92e stock-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +942dd4faf224b4b7a4d24fa47488f9453c9d37de stock-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +d1e67fbb11774d0a7ca3bd5761cf4ea11dbaa4b8 stock-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +07499733ef86626acae2c8249ea02eb14ac4990f stock-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +d2ee66917e7a025dbe0a45c5e20246921f88e3ab stock-6.0.1 +0000000000000000000000000000000000000000 6.0.10 +7eb0b3717a39da9388a90ed5aa6a84f68494c594 stock-6.0.10 +0000000000000000000000000000000000000000 6.0.11 +642a659e1017214dd9559d3c1ab97ffdd5457d79 stock-6.0.11 +0000000000000000000000000000000000000000 6.0.12 +a29dbdb162873ebdea451f6895f895b063b3bb07 stock-6.0.12 +0000000000000000000000000000000000000000 6.0.13 +b2feddae43b362b85b5b70908cefcff96ba1b0dd stock-6.0.13 +0000000000000000000000000000000000000000 6.0.14 +3688ec9159b359be2fbb3b3de8a8fce97e9effb6 stock-6.0.14 +0000000000000000000000000000000000000000 6.0.15 +0dd8675f2ca761e2f461cb96ba36ec5b841404b2 stock-6.0.15 +0000000000000000000000000000000000000000 6.0.16 +95767dcfed28d7257ca79b81157006aa8cd78c51 stock-6.0.16 +0000000000000000000000000000000000000000 6.0.17 +27b7111d95687f65648992b8c2bc09fdbc24aebe stock-6.0.17 +0000000000000000000000000000000000000000 6.0.18 +98b3979b26627af842f6552583a216346c4ece89 stock-6.0.18 +0000000000000000000000000000000000000000 6.0.2 +e0f26d2d46f0b8d2466f74c572e7b3eac747ef6d stock-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +39ab9008e2b31f3067ca193e97e6b4182a97dbf1 stock-6.0.3 +0000000000000000000000000000000000000000 6.0.4 +c4559954273ed17956b9f424e506e004cad913a8 stock-6.0.4 +0000000000000000000000000000000000000000 6.0.5 +a231e37aa2b8074e0a5ddc4957decd74d528268b stock-6.0.5 +0000000000000000000000000000000000000000 6.0.6 +bdbcc38971c21643796423e4fe7af1d487d7abc6 stock-6.0.6 +0000000000000000000000000000000000000000 6.0.7 +95d6cbcf8e8e4c2661c872fbadfc031ed9294a57 stock-6.0.7 +0000000000000000000000000000000000000000 6.0.8 +046cf4bde35642bf0dfd9701a4cf2fcfbd0599a7 stock-6.0.8 +0000000000000000000000000000000000000000 6.0.9 +21767740f556a7cc537b4e1f39d2d709b7f5ea3a stock-6.0.9 +059c67523e52eda86c563a2414e2b6107b101a8d 1.2.0 +225b705164561d09d5fcae80b784da0fedd531fc 1.4.0 +185537801e5e1ed3b6a2f6719db0e999c0d805e1 1.6.0 +1e23789f77c3e731e73ddc789d8b9ce9f01efc70 1.8.0 +241ddb0a8f8ded2e160598d3efc2e2a00d64abc9 2.0.0 +739e08551f9b9d6e80619ad88d2a8e4e64e3c986 2.2.0 +0299558c412d8feb4db592e3f360fd4b0ecc52cc 2.4.0 +44e7cada1ccc7466f0c284505fd21c335cdb1f58 2.6.0 +f688494c52bc7de9316ae436d20441371a73b3ec 2.8.0 +931ee9f97e52351fc8c7dae24581168d1b3b8c18 3.0.0 +4870db0874d83c50955cbbca10af3ae5b26aae94 3.2.0 +154ea5fb86b75faffd363439f1d6e990d6936c68 3.4.0 +af2746cd736ea6c0d5deee681e9e6286513d2837 3.6.0 +cdc30282449ca7b4991228fde5f99d38673a4fd0 3.8.0 +2b15dc5cabb1156e41e49bcc64b55ae085f2e325 4.0.0 +f86b857b0aa3b56b09d5f574b3a4560b0b00502c 4.2.0 +b6f4180cc07450e9041db772ddfd0dca2f3134ef 4.4.0 +52b6e412dc583d0578df29abfb95cc3865cba4b2 4.6.0 +fc2aa3c75ba8fdb40273523e4fefb1777c4919f8 4.8.0 +bd5dc78969db8e574bef34ca69fa946e49c766ef 5.0.0 +9c0c444c4fda668a0ee25e016a67751a11b5e131 5.2.0 +639a8cb26974fca129c9d7bdae8bba88380c9efe 5.4.0 +dbced0dbb0ad20cf471c30cfafd2b0eee3cfe6d4 5.6.0 +ef5bc23acec6b070d72acd94a55539969f114699 5.8.0 +e5bea2a22f5042af86510ab283ef7f6a30276bfd 6.0.0 +0000000000000000000000000000000000000000 1.2.0 +059c67523e52eda86c563a2414e2b6107b101a8d stock_inventory_location-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +225b705164561d09d5fcae80b784da0fedd531fc stock_inventory_location-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +185537801e5e1ed3b6a2f6719db0e999c0d805e1 stock_inventory_location-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +1e23789f77c3e731e73ddc789d8b9ce9f01efc70 stock_inventory_location-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +241ddb0a8f8ded2e160598d3efc2e2a00d64abc9 stock_inventory_location-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +739e08551f9b9d6e80619ad88d2a8e4e64e3c986 stock_inventory_location-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +0299558c412d8feb4db592e3f360fd4b0ecc52cc stock_inventory_location-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +44e7cada1ccc7466f0c284505fd21c335cdb1f58 stock_inventory_location-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +f688494c52bc7de9316ae436d20441371a73b3ec stock_inventory_location-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +931ee9f97e52351fc8c7dae24581168d1b3b8c18 stock_inventory_location-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +4870db0874d83c50955cbbca10af3ae5b26aae94 stock_inventory_location-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +154ea5fb86b75faffd363439f1d6e990d6936c68 stock_inventory_location-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +af2746cd736ea6c0d5deee681e9e6286513d2837 stock_inventory_location-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +cdc30282449ca7b4991228fde5f99d38673a4fd0 stock_inventory_location-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +2b15dc5cabb1156e41e49bcc64b55ae085f2e325 stock_inventory_location-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +f86b857b0aa3b56b09d5f574b3a4560b0b00502c stock_inventory_location-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +b6f4180cc07450e9041db772ddfd0dca2f3134ef stock_inventory_location-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +52b6e412dc583d0578df29abfb95cc3865cba4b2 stock_inventory_location-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +fc2aa3c75ba8fdb40273523e4fefb1777c4919f8 stock_inventory_location-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +bd5dc78969db8e574bef34ca69fa946e49c766ef stock_inventory_location-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +9c0c444c4fda668a0ee25e016a67751a11b5e131 stock_inventory_location-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +639a8cb26974fca129c9d7bdae8bba88380c9efe stock_inventory_location-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +dbced0dbb0ad20cf471c30cfafd2b0eee3cfe6d4 stock_inventory_location-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +ef5bc23acec6b070d72acd94a55539969f114699 stock_inventory_location-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +e5bea2a22f5042af86510ab283ef7f6a30276bfd stock_inventory_location-6.0.0 +13bc032ce45aa856f7c929da56974ff13ff3b7f3 4.6.0 +c5757a882fa6b0f30a7bca1a2e232c59dbe8e997 4.8.0 +7712e9bf2ae5372165f1208c7fcf74caa77733b8 5.0.0 +9cadbedb76593e2b1046c483ff57a5cecb380a41 5.2.0 +061bb098401a21770b1f7d8491805fb2516d50b2 5.4.0 +35e0bc476e8e103ff133ab5797eed1d3979289b2 5.6.0 +a767051ad55af5437c1df4473f0d16251941bc79 5.8.0 +2657bcf38993689626952562bc1999027d0262cd 6.0.0 +0000000000000000000000000000000000000000 4.6.0 +13bc032ce45aa856f7c929da56974ff13ff3b7f3 stock_location_move-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +c5757a882fa6b0f30a7bca1a2e232c59dbe8e997 stock_location_move-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +7712e9bf2ae5372165f1208c7fcf74caa77733b8 stock_location_move-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +9cadbedb76593e2b1046c483ff57a5cecb380a41 stock_location_move-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +061bb098401a21770b1f7d8491805fb2516d50b2 stock_location_move-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +35e0bc476e8e103ff133ab5797eed1d3979289b2 stock_location_move-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +a767051ad55af5437c1df4473f0d16251941bc79 stock_location_move-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +2657bcf38993689626952562bc1999027d0262cd stock_location_move-6.0.0 +b23baaf1166b3f28f7aaa55b16d8f0b50e7121ed 1.2.0 +d9f7fda1212e61153ce87ef5a7ebba1aa906d9f2 1.4.0 +926f70090196ceefd74450f182a8a9b053282600 1.6.0 +9eada792e0e9eda93b8719d4ec92590f2ff3dacf 1.8.0 +8a47bba1738af17af3c6702cc29bd7a6e268dcfb 2.0.0 +c66ac42308b219dd773e9a4f2b76e344cf913cc8 2.2.0 +9a792408dcb3f2902a0c6da0c71db3ad1692dbd9 2.4.0 +5d56a013f279fc4b31e9a73a6e5b4bb8991e25ef 2.6.0 +d0821f9f197cab6cbeb260b6c230e301def3daea 2.8.0 +0a8b7366a62a97d33c7cdc1b6938fccd4ad4104e 3.0.0 +7e56cda8de6b9e0384104bd68e200f467af001bf 3.2.0 +9befac1e3076f141972816af2f6fe8782125df85 3.4.0 +db721dd4b8e93902f4e1173ff0d9f12f92260802 3.6.0 +5e18316f6f636a5474949d3bc5cb66c153e3da4b 3.8.0 +e052747c31f40fd68e13b0ec450c3ffc502e5e66 4.0.0 +13d25c22e30033991a1aa9233b7ecce233ebc6ea 4.2.0 +8eac3ea1d980cb34c5bda3255bc764ec079fe60f 4.4.0 +809b3a45222dbc93dc22785adbb184705b24502a 4.6.0 +ec2b60415d119b35cf61b75247abaf5bb67a70b1 4.8.0 +907c38d009f3853cddeb21db3e569e681e60a82f 5.0.0 +777c5d8d0ccec1c866450b98973009de6a5e38a5 5.2.0 +4abcc1fb1039f1cde5ba1277efc6edb713d427af 5.4.0 +93240765ffba8fb10f1fcc8699db8c9f5d827e36 5.6.0 +119bb6dcafeffabbe80a5b9fcb872071e0f3c784 5.8.0 +1a8e026150a29d49f552c112f9795b1f2ad035b6 6.0.0 +0000000000000000000000000000000000000000 1.2.0 +b23baaf1166b3f28f7aaa55b16d8f0b50e7121ed stock_location_sequence-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +d9f7fda1212e61153ce87ef5a7ebba1aa906d9f2 stock_location_sequence-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +926f70090196ceefd74450f182a8a9b053282600 stock_location_sequence-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +9eada792e0e9eda93b8719d4ec92590f2ff3dacf stock_location_sequence-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +8a47bba1738af17af3c6702cc29bd7a6e268dcfb stock_location_sequence-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +c66ac42308b219dd773e9a4f2b76e344cf913cc8 stock_location_sequence-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +9a792408dcb3f2902a0c6da0c71db3ad1692dbd9 stock_location_sequence-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +5d56a013f279fc4b31e9a73a6e5b4bb8991e25ef stock_location_sequence-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +d0821f9f197cab6cbeb260b6c230e301def3daea stock_location_sequence-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +0a8b7366a62a97d33c7cdc1b6938fccd4ad4104e stock_location_sequence-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +7e56cda8de6b9e0384104bd68e200f467af001bf stock_location_sequence-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +9befac1e3076f141972816af2f6fe8782125df85 stock_location_sequence-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +db721dd4b8e93902f4e1173ff0d9f12f92260802 stock_location_sequence-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +5e18316f6f636a5474949d3bc5cb66c153e3da4b stock_location_sequence-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +e052747c31f40fd68e13b0ec450c3ffc502e5e66 stock_location_sequence-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +13d25c22e30033991a1aa9233b7ecce233ebc6ea stock_location_sequence-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +8eac3ea1d980cb34c5bda3255bc764ec079fe60f stock_location_sequence-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +809b3a45222dbc93dc22785adbb184705b24502a stock_location_sequence-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +ec2b60415d119b35cf61b75247abaf5bb67a70b1 stock_location_sequence-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +907c38d009f3853cddeb21db3e569e681e60a82f stock_location_sequence-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +777c5d8d0ccec1c866450b98973009de6a5e38a5 stock_location_sequence-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +4abcc1fb1039f1cde5ba1277efc6edb713d427af stock_location_sequence-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +93240765ffba8fb10f1fcc8699db8c9f5d827e36 stock_location_sequence-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +119bb6dcafeffabbe80a5b9fcb872071e0f3c784 stock_location_sequence-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +1a8e026150a29d49f552c112f9795b1f2ad035b6 stock_location_sequence-6.0.0 +f3daa4fc57a55e3f24f9430134a7db46b430d24a 2.4.0 +9bfebffac7ac532b86f50e1d93fc3b41d3921d77 2.6.0 +ac0210ea97cffd9aa37a5af53160243fbe0d7f56 2.8.0 +a358b629d083fbbe619614fcf3f26efaa21ff057 3.0.0 +2419d87bd5c29430664571dbd3376b556dc8ed83 3.2.0 +f72cb08228d56df2be724b462e5d9497dc700285 3.4.0 +8f644f057381856d5ab1834f34a981ff1b65fba3 3.6.0 +2918a530bb167f85c238e2dafe30ee6cf942ea70 3.8.0 +571f01b197f02ef5842c30e25e66515c9d1fa0c4 4.0.0 +e79c0e4b00b8455533c2992369e0ad78ce2fb4e0 4.2.0 +c5f89116f21e00e008b9dc515e82a291bc4a37a9 4.4.0 +e966c63314da859ecacd7e40356201e74d3bd715 4.6.0 +d6e8ca4264c50efb67ae4b0b4c2c7b6982612894 4.8.0 +a5722d02c1c5a5ccabf997d980a86bb6bd0160db 5.0.0 +0170b28fa1c9581bf0831a501469df19a3f7b302 5.2.0 +c77c42846d957aa443927c3eb3e0e489eabe3eeb 5.4.0 +4c6125ae5f16e2ded590b4a84c17ae9ab6f0e826 5.6.0 +6ccbea8c304a744066cefa9637aed2bb21ca5149 5.8.0 +2e05cf05ee95b78ad35fc10eeb51fc35a6b6bc9f 6.0.0 +0000000000000000000000000000000000000000 2.4.0 +f3daa4fc57a55e3f24f9430134a7db46b430d24a stock_lot-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +9bfebffac7ac532b86f50e1d93fc3b41d3921d77 stock_lot-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +ac0210ea97cffd9aa37a5af53160243fbe0d7f56 stock_lot-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +a358b629d083fbbe619614fcf3f26efaa21ff057 stock_lot-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +2419d87bd5c29430664571dbd3376b556dc8ed83 stock_lot-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +f72cb08228d56df2be724b462e5d9497dc700285 stock_lot-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +8f644f057381856d5ab1834f34a981ff1b65fba3 stock_lot-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +2918a530bb167f85c238e2dafe30ee6cf942ea70 stock_lot-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +571f01b197f02ef5842c30e25e66515c9d1fa0c4 stock_lot-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +e79c0e4b00b8455533c2992369e0ad78ce2fb4e0 stock_lot-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +c5f89116f21e00e008b9dc515e82a291bc4a37a9 stock_lot-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +e966c63314da859ecacd7e40356201e74d3bd715 stock_lot-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +d6e8ca4264c50efb67ae4b0b4c2c7b6982612894 stock_lot-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +a5722d02c1c5a5ccabf997d980a86bb6bd0160db stock_lot-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +0170b28fa1c9581bf0831a501469df19a3f7b302 stock_lot-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +c77c42846d957aa443927c3eb3e0e489eabe3eeb stock_lot-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +4c6125ae5f16e2ded590b4a84c17ae9ab6f0e826 stock_lot-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +6ccbea8c304a744066cefa9637aed2bb21ca5149 stock_lot-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +2e05cf05ee95b78ad35fc10eeb51fc35a6b6bc9f stock_lot-6.0.0 +f319ec0ab83850bfbc4dbf0c1e3f88923d4c6ba4 3.6.0 +086daa04833949d995472901fff5f58a5ad1ea7c 3.8.0 +f13eceee4f070ddd92d5bf3b4e37723989b25de5 4.0.0 +69a63fa91de5824e6c69c5283b7cc4a560faabde 4.2.0 +abbc7eac4114aeb9d1ec6aa43d7744d4df991431 4.4.0 +b8d5d4e6d18e736b29350b41559f86e1b552c496 4.6.0 +fea52fe8ed7b3233a42ceb4b4185d7db3adf359f 4.8.0 +7e17d7d28b28cf0e6be49af141ba094b802f9b0d 5.0.0 +9d45f2cfdb3983e8fe676177066f8d37f5a8d18d 5.2.0 +19f381cd840ef2196eddcbc954937b3f2b3db661 5.4.0 +d977882bd686aabe9cf7a56b08710358fb8d9960 5.6.0 +78740da434731b98192332919c0cad73f0553da6 5.8.0 +226bd337f659e121a6be8f9c01e5341c1d366a94 6.0.0 +0000000000000000000000000000000000000000 3.6.0 +f319ec0ab83850bfbc4dbf0c1e3f88923d4c6ba4 stock_lot_sled-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +086daa04833949d995472901fff5f58a5ad1ea7c stock_lot_sled-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +f13eceee4f070ddd92d5bf3b4e37723989b25de5 stock_lot_sled-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +69a63fa91de5824e6c69c5283b7cc4a560faabde stock_lot_sled-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +abbc7eac4114aeb9d1ec6aa43d7744d4df991431 stock_lot_sled-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +b8d5d4e6d18e736b29350b41559f86e1b552c496 stock_lot_sled-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +fea52fe8ed7b3233a42ceb4b4185d7db3adf359f stock_lot_sled-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +7e17d7d28b28cf0e6be49af141ba094b802f9b0d stock_lot_sled-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +9d45f2cfdb3983e8fe676177066f8d37f5a8d18d stock_lot_sled-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +19f381cd840ef2196eddcbc954937b3f2b3db661 stock_lot_sled-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +d977882bd686aabe9cf7a56b08710358fb8d9960 stock_lot_sled-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +78740da434731b98192332919c0cad73f0553da6 stock_lot_sled-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +226bd337f659e121a6be8f9c01e5341c1d366a94 stock_lot_sled-6.0.0 +7841e7ccbb5af34441c92e9b24caae751ca71194 5.0.0 +accb9a9e2eecea2c07521b46f81d22bbb13c6efc 5.2.0 +52a0d3ff69fa733416ddb698e73c99a17309ffe1 5.4.0 +fb5d9bead5daa2058a5d59f3ef18de584202b4d6 5.6.0 +703868576e2ab157fe5aadae42c7e6931098aa40 5.8.0 +cc2dd321d99fe14fe9251051eee46a6903c57bc4 6.0.0 +9a158d468bdaf917b6345ea9a6722f524bdb5274 6.0.1 +0000000000000000000000000000000000000000 5.0.0 +7841e7ccbb5af34441c92e9b24caae751ca71194 stock_lot_unit-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +accb9a9e2eecea2c07521b46f81d22bbb13c6efc stock_lot_unit-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +52a0d3ff69fa733416ddb698e73c99a17309ffe1 stock_lot_unit-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +fb5d9bead5daa2058a5d59f3ef18de584202b4d6 stock_lot_unit-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +703868576e2ab157fe5aadae42c7e6931098aa40 stock_lot_unit-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +cc2dd321d99fe14fe9251051eee46a6903c57bc4 stock_lot_unit-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +9a158d468bdaf917b6345ea9a6722f524bdb5274 stock_lot_unit-6.0.1 +2d95440ef29e4e6ae8bf7c513b4cced6038974ad 3.2.0 +5886452ff995b50071f07e05f519b2e4bb0526c9 3.4.0 +ed428643d547655cf08fd33ac6700bedc75308c6 3.6.0 +600f0b784df713a34b9c770622bc8dfd8a2a8c78 3.8.0 +e46734b4ac890bb0bf34bf08e261a6390fb7c3a8 4.0.0 +abf3fe276ee219d027e78dc72ec570add038899b 4.2.0 +e3764726bbbe93305d2e3e8bb20746cd0b33ae4f 4.4.0 +876b678e056f2ba5ae6108b10182c8e3b72184d1 4.6.0 +85793ff5a50a432be0fb45012478972b4c60e056 4.8.0 +6a0a6190312f634e8b64b6997fb1b37129532fbe 5.0.0 +d761efb2ac196534d0ff715146bd9b727c20bd40 5.2.0 +25ebab75a5457e2e00ed334edae56d5f5991a603 5.4.0 +3d96d408e7cb3cc3552ca3b99356990b889f78f6 5.6.0 +28f4106d4fc02d7c6d7f8735a58422031e3e3e1a 5.8.0 +a4cd8b29bbafd25dcf991704353b57b10e383f59 6.0.0 +30c33b19afd38febbe42c02c95b31b56155dc0e3 6.0.1 +0000000000000000000000000000000000000000 3.2.0 +2d95440ef29e4e6ae8bf7c513b4cced6038974ad stock_package-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +5886452ff995b50071f07e05f519b2e4bb0526c9 stock_package-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +ed428643d547655cf08fd33ac6700bedc75308c6 stock_package-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +600f0b784df713a34b9c770622bc8dfd8a2a8c78 stock_package-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +e46734b4ac890bb0bf34bf08e261a6390fb7c3a8 stock_package-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +abf3fe276ee219d027e78dc72ec570add038899b stock_package-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +e3764726bbbe93305d2e3e8bb20746cd0b33ae4f stock_package-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +876b678e056f2ba5ae6108b10182c8e3b72184d1 stock_package-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +85793ff5a50a432be0fb45012478972b4c60e056 stock_package-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +6a0a6190312f634e8b64b6997fb1b37129532fbe stock_package-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +d761efb2ac196534d0ff715146bd9b727c20bd40 stock_package-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +25ebab75a5457e2e00ed334edae56d5f5991a603 stock_package-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +3d96d408e7cb3cc3552ca3b99356990b889f78f6 stock_package-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +28f4106d4fc02d7c6d7f8735a58422031e3e3e1a stock_package-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +a4cd8b29bbafd25dcf991704353b57b10e383f59 stock_package-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +30c33b19afd38febbe42c02c95b31b56155dc0e3 stock_package-6.0.1 +5352520b9e2d793f180c7338973c93eb2756c11a 4.2.0 +48eda81a2c3e4697d12b3ecd43d20cdffdf7f95d 4.4.0 +72b19785f7aefa42c43dbf7430b70393abfafdac 4.6.0 +a3fda5824dc2e831806bb3e54c4b554e28707d66 4.8.0 +c91e82164a66fa45b1e5f5c18f4eecb9666ff9f9 5.0.0 +1d75d725c02de30176404a116395f5cea1a8b15d 5.2.0 +f774a1f78ac021fd0dbe822bde61f5300f1ee672 5.4.0 +e9c1c8ee8d12182e14e0b7fda103035e43d957ef 5.6.0 +879357ee52cac15348178e8cba439074c7fcc206 5.8.0 +ba57075f760026b8388fb77bd0cc053601bd04b0 6.0.0 +09059a2547a75404f58b275ce0fd3918623bc1a7 6.0.1 +2b5ccfa32a5b93ce4f5ac2140fb71f7303b83f09 6.0.2 +4d29e0810a25db6762a820f6cb5e111493294a91 6.0.3 +4b3730e93b5f8671ef5dcf2f6cfa671bdad8dbcc 6.0.4 +0000000000000000000000000000000000000000 4.2.0 +5352520b9e2d793f180c7338973c93eb2756c11a stock_package_shipping_dpd-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +48eda81a2c3e4697d12b3ecd43d20cdffdf7f95d stock_package_shipping_dpd-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +72b19785f7aefa42c43dbf7430b70393abfafdac stock_package_shipping_dpd-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +a3fda5824dc2e831806bb3e54c4b554e28707d66 stock_package_shipping_dpd-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +c91e82164a66fa45b1e5f5c18f4eecb9666ff9f9 stock_package_shipping_dpd-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +1d75d725c02de30176404a116395f5cea1a8b15d stock_package_shipping_dpd-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +f774a1f78ac021fd0dbe822bde61f5300f1ee672 stock_package_shipping_dpd-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +e9c1c8ee8d12182e14e0b7fda103035e43d957ef stock_package_shipping_dpd-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +879357ee52cac15348178e8cba439074c7fcc206 stock_package_shipping_dpd-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +ba57075f760026b8388fb77bd0cc053601bd04b0 stock_package_shipping_dpd-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +09059a2547a75404f58b275ce0fd3918623bc1a7 stock_package_shipping_dpd-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +2b5ccfa32a5b93ce4f5ac2140fb71f7303b83f09 stock_package_shipping_dpd-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +4d29e0810a25db6762a820f6cb5e111493294a91 stock_package_shipping_dpd-6.0.3 +0000000000000000000000000000000000000000 6.0.4 +4b3730e93b5f8671ef5dcf2f6cfa671bdad8dbcc stock_package_shipping_dpd-6.0.4 +6d6ce7193b8fe468b131732a63d49ad51282feb4 4.2.0 +c92db1ac0cb7f23ec59451a1559ae587489e51cf 4.4.0 +896bda88b3e4e06011cc8274248a747c98ed5d8a 4.6.0 +12732a7de25ada586b597f5ceb95a61aca85c982 4.8.0 +d84a549ca4ce55c8b6f2c55e7b387111fe5d31f5 5.0.0 +dfa6486ca4ca8a505a1103a1966f252bfb76b0d5 5.2.0 +fc827a8182eeabea27b4107630814f58615a5093 5.4.0 +1e8a3c6dcb32eebb16c0135a83c6d24a178809a0 5.6.0 +4afae51825024fa5bdda4845018c68076e37f985 5.8.0 +4d757048f5cf112af97613ed3cd8c1d9747d5932 6.0.0 +0000000000000000000000000000000000000000 4.2.0 +6d6ce7193b8fe468b131732a63d49ad51282feb4 stock_package_shipping-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +c92db1ac0cb7f23ec59451a1559ae587489e51cf stock_package_shipping-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +896bda88b3e4e06011cc8274248a747c98ed5d8a stock_package_shipping-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +12732a7de25ada586b597f5ceb95a61aca85c982 stock_package_shipping-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +d84a549ca4ce55c8b6f2c55e7b387111fe5d31f5 stock_package_shipping-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +dfa6486ca4ca8a505a1103a1966f252bfb76b0d5 stock_package_shipping-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +fc827a8182eeabea27b4107630814f58615a5093 stock_package_shipping-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +1e8a3c6dcb32eebb16c0135a83c6d24a178809a0 stock_package_shipping-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +4afae51825024fa5bdda4845018c68076e37f985 stock_package_shipping-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +4d757048f5cf112af97613ed3cd8c1d9747d5932 stock_package_shipping-6.0.0 +14873b27f47664b486aa92a3318081ee86d5cca7 4.2.0 +cd53d5490f327e9e13479e7d1540b47c111f4a23 4.4.0 +ca475eeb8c9c520c70346d799d444bb7225bd55b 4.6.0 +4437ebda9bc7470b4b98ee42370d12a6f942b1c3 4.8.0 +3e4c032cdadea2e021de270022e212eadb23c9d8 5.0.0 +4cde26523853d124058cc72a0bacc483c388c750 5.2.0 +84fdbd3bf2bccebc09b4216e01d9b93193d14daf 5.4.0 +7e0f69141e15402340c207ebefbb2e43083cf1ad 5.6.0 +c338db57b720be61b239b5f39f0080d062ee131e 5.8.0 +7c788a324e4e275dda49e425ab502fe792cc5bec 6.0.0 +c23f35d0e7f71821852b6243c3ad80116587a328 6.0.1 +f20add511e11bdfc0d27e65270e965111e91a831 6.0.2 +b54ffaf40ede8f5093dd3b31fcad9b7ef974fd92 6.0.3 +0000000000000000000000000000000000000000 4.2.0 +14873b27f47664b486aa92a3318081ee86d5cca7 stock_package_shipping_ups-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +cd53d5490f327e9e13479e7d1540b47c111f4a23 stock_package_shipping_ups-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +ca475eeb8c9c520c70346d799d444bb7225bd55b stock_package_shipping_ups-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +4437ebda9bc7470b4b98ee42370d12a6f942b1c3 stock_package_shipping_ups-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +3e4c032cdadea2e021de270022e212eadb23c9d8 stock_package_shipping_ups-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +4cde26523853d124058cc72a0bacc483c388c750 stock_package_shipping_ups-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +84fdbd3bf2bccebc09b4216e01d9b93193d14daf stock_package_shipping_ups-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +7e0f69141e15402340c207ebefbb2e43083cf1ad stock_package_shipping_ups-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +c338db57b720be61b239b5f39f0080d062ee131e stock_package_shipping_ups-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +7c788a324e4e275dda49e425ab502fe792cc5bec stock_package_shipping_ups-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +c23f35d0e7f71821852b6243c3ad80116587a328 stock_package_shipping_ups-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +f20add511e11bdfc0d27e65270e965111e91a831 stock_package_shipping_ups-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +b54ffaf40ede8f5093dd3b31fcad9b7ef974fd92 stock_package_shipping_ups-6.0.3 +2ea983f6240bd88f6b9abf2e4b7b857ce4bdf264 1.2.0 +ec24bd0ab6daa217e29753b68f9ae242f80062b7 1.4.0 +c560e70b18afce2d136cfbcc9f1ebf5756761882 1.6.0 +ab792b3468742c3a1f777165f8bdde4ebc96c1fd 1.8.0 +67d1514d90ff98a12865eaa025269914b15082b8 2.0.0 +53b4739836b0d10620038cce567d4d935f1a1363 2.2.0 +1922c46f7101f9397889c59c908bdd1e4489f70b 2.4.0 +b8e5502b8bd42741c92695a6540fade63bffbd43 2.6.0 +010a427751135ecb84ce3d7c13791ecf37edde23 2.8.0 +0dc520d1c9eeb9e242d5fb61fe2263ac28f5903f 3.0.0 +40cd13193206cc64a30dd7776fa954af1bceded9 3.2.0 +85c6a4a6a1d99d5c99228952115f1a57289856ba 3.4.0 +d2f9dbbcab386708468c523572888c7649e32851 3.6.0 +c540f2937c11c85591041fc8c2c4afd0ff53228f 3.8.0 +e8b3d84c1317eacc7b6b44b53b8ae70859b7977b 4.0.0 +b5442c0b44dc60bb6486bc308636bd37d1f5ff88 4.2.0 +ef4be934e362ed9336b2242ef1f3b799e724dfea 4.4.0 +3d5ef5ae2d89470391e2f59ae298312c670a93fa 4.6.0 +a41145e1e25e6348642c3fef1fb37d68142afc57 4.8.0 +1ea4345152b56228edf41029cf33318c5090cf29 5.0.0 +c10048ef95077f6c48ec1a3dd2cda9b29a55d9ef 5.2.0 +361b17eb46d869242083f3b2d269bc584bc17579 5.4.0 +a02f09f5837245a86c17ca480d069694b85d8214 5.6.0 +dfea61949c69f6013213cc92528fcfbc62e0a0f6 5.8.0 +25101e7ec2d7d8322005ae0e70f3d78256223ebe 6.0.0 +0000000000000000000000000000000000000000 1.2.0 +2ea983f6240bd88f6b9abf2e4b7b857ce4bdf264 stock_product_location-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +ec24bd0ab6daa217e29753b68f9ae242f80062b7 stock_product_location-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +c560e70b18afce2d136cfbcc9f1ebf5756761882 stock_product_location-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +ab792b3468742c3a1f777165f8bdde4ebc96c1fd stock_product_location-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +67d1514d90ff98a12865eaa025269914b15082b8 stock_product_location-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +53b4739836b0d10620038cce567d4d935f1a1363 stock_product_location-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +1922c46f7101f9397889c59c908bdd1e4489f70b stock_product_location-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +b8e5502b8bd42741c92695a6540fade63bffbd43 stock_product_location-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +010a427751135ecb84ce3d7c13791ecf37edde23 stock_product_location-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +0dc520d1c9eeb9e242d5fb61fe2263ac28f5903f stock_product_location-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +40cd13193206cc64a30dd7776fa954af1bceded9 stock_product_location-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +85c6a4a6a1d99d5c99228952115f1a57289856ba stock_product_location-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +d2f9dbbcab386708468c523572888c7649e32851 stock_product_location-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +c540f2937c11c85591041fc8c2c4afd0ff53228f stock_product_location-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +e8b3d84c1317eacc7b6b44b53b8ae70859b7977b stock_product_location-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +b5442c0b44dc60bb6486bc308636bd37d1f5ff88 stock_product_location-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +ef4be934e362ed9336b2242ef1f3b799e724dfea stock_product_location-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +3d5ef5ae2d89470391e2f59ae298312c670a93fa stock_product_location-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +a41145e1e25e6348642c3fef1fb37d68142afc57 stock_product_location-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +1ea4345152b56228edf41029cf33318c5090cf29 stock_product_location-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +c10048ef95077f6c48ec1a3dd2cda9b29a55d9ef stock_product_location-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +361b17eb46d869242083f3b2d269bc584bc17579 stock_product_location-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +a02f09f5837245a86c17ca480d069694b85d8214 stock_product_location-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +dfea61949c69f6013213cc92528fcfbc62e0a0f6 stock_product_location-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +25101e7ec2d7d8322005ae0e70f3d78256223ebe stock_product_location-6.0.0 +790271308b23a4856ade0be330ee59b5d69e7e75 6.0.0 +0d690f1867acdf63432b947bbe732d414e407bdd 6.0.1 +c72689d153af662a5cb470842229d8c0a77c7373 6.0.2 +0000000000000000000000000000000000000000 6.0.0 +790271308b23a4856ade0be330ee59b5d69e7e75 stock_quantity_early_planning-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +0d690f1867acdf63432b947bbe732d414e407bdd stock_quantity_early_planning-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +c72689d153af662a5cb470842229d8c0a77c7373 stock_quantity_early_planning-6.0.2 +8c7dc4a68eb44600a2e57f380b7fb39e7d4c9bd7 6.0.0 +97abbb580f15c3bfed62d2229bfba49506d8d5f5 6.0.1 +178ac9fc9cef1e3cf07a6e199a5279ab0f369c87 6.0.2 +37ac933fb3458735fed361ad53724bede8e0c050 6.0.3 +0000000000000000000000000000000000000000 6.0.0 +8c7dc4a68eb44600a2e57f380b7fb39e7d4c9bd7 stock_quantity_issue-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +97abbb580f15c3bfed62d2229bfba49506d8d5f5 stock_quantity_issue-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +178ac9fc9cef1e3cf07a6e199a5279ab0f369c87 stock_quantity_issue-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +37ac933fb3458735fed361ad53724bede8e0c050 stock_quantity_issue-6.0.3 +5e63bae17297495d2b63041be081e6bb8a69be2e 5.4.0 +83b28ed660ea0a02ba4cbaea22f495f2b3038615 5.6.0 +d7e3a25d15aa72096b29d985483e3caeb1fc4a43 5.8.0 +e55605b40ed71ec25e3079bb9c8b473bf879af58 6.0.0 +0000000000000000000000000000000000000000 5.4.0 +5e63bae17297495d2b63041be081e6bb8a69be2e stock_secondary_unit-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +83b28ed660ea0a02ba4cbaea22f495f2b3038615 stock_secondary_unit-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +d7e3a25d15aa72096b29d985483e3caeb1fc4a43 stock_secondary_unit-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +e55605b40ed71ec25e3079bb9c8b473bf879af58 stock_secondary_unit-6.0.0 +e2d7e4135cc43091843e096a227cb69ded3b425a 6.0.0 +a98c4d2bb4d071c619d81c97184764d17f146898 6.0.1 +25169494e1beb8a9a36b6f4f0e02996db373046d 6.0.2 +0000000000000000000000000000000000000000 6.0.0 +e2d7e4135cc43091843e096a227cb69ded3b425a stock_shipment_cost-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +a98c4d2bb4d071c619d81c97184764d17f146898 stock_shipment_cost-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +25169494e1beb8a9a36b6f4f0e02996db373046d stock_shipment_cost-6.0.2 +b11be33a256e6e18c5e478831f2eecdb6cc55b56 4.4.0 +a8fa5ceb9134b53a902c8b860e8d910ab36267bd 4.6.0 +55fcd1727648050cba394388bb31ce0a70b74371 4.8.0 +568b1d3a4957cc66a2023eb3853555fd8b2b313a 5.0.0 +df952bd9a9312169cce9a3559a6808fd15ce729f 5.2.0 +135db8a22874fd324ea9ca94b2f47c5f9d1671f7 5.4.0 +8e1fe403bf2728fcd47d00652c985dbb86b4840c 5.6.0 +5900e412e77ddf587a4ce0d69cde3a3a1e4c5fa3 5.8.0 +5fa8a7ad24a9d9c5726f08a174c22696480bb3c9 6.0.0 +421aeff2cfde33cdaa789d706a265827407b325b 6.0.1 +0000000000000000000000000000000000000000 4.4.0 +b11be33a256e6e18c5e478831f2eecdb6cc55b56 stock_shipment_measurements-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +a8fa5ceb9134b53a902c8b860e8d910ab36267bd stock_shipment_measurements-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +55fcd1727648050cba394388bb31ce0a70b74371 stock_shipment_measurements-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +568b1d3a4957cc66a2023eb3853555fd8b2b313a stock_shipment_measurements-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +df952bd9a9312169cce9a3559a6808fd15ce729f stock_shipment_measurements-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +135db8a22874fd324ea9ca94b2f47c5f9d1671f7 stock_shipment_measurements-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +8e1fe403bf2728fcd47d00652c985dbb86b4840c stock_shipment_measurements-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +5900e412e77ddf587a4ce0d69cde3a3a1e4c5fa3 stock_shipment_measurements-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +5fa8a7ad24a9d9c5726f08a174c22696480bb3c9 stock_shipment_measurements-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +421aeff2cfde33cdaa789d706a265827407b325b stock_shipment_measurements-6.0.1 +28368573eba198c3524a0ef44c5d1318a71a25b6 2.4.0 +04196701d026d86eb57f91c6e38cddecf257d63f 2.6.0 +099647a527ee5b315f03850b900f656bd10d759f 2.8.0 +06bc610a6f9a26c456050fd61c273bd012a21f04 3.0.0 +e793ef3ca432a0e409aa49bc846bd2c572f3a5ee 3.2.0 +99999433d0e31e2b6f1eb2f589844e835d7b2953 3.4.0 +4c27a1322efba12ae02f1299e7989460ffe8af09 3.6.0 +cca693a2c563e30e5f10fefeca30c49101eb3495 3.8.0 +d961a4a36143eae4ff23dc2c8f7b49c83a8e6b9a 4.0.0 +10eb3100612be23bcac20f5c1036e58aaef76ed7 4.2.0 +d73f07a6109ae14f711d9ac9efe316a4595d3ffa 4.4.0 +893b0270a268be94790a68facfb745cc188d7a93 4.6.0 +eef7e68926b3f9c34ae5dc12bcd0ec6884918c09 4.8.0 +fd97dee9a2f6c5fc4c3ddd7298fdcf4c917ef5d9 5.0.0 +c07759c9b8d3b7733620789a050e7b6de418cf99 5.2.0 +160bbe8565f066ff2e7565fd8a9aceec2c3a0bed 5.4.0 +51f597bea6844c61a7dd658329a0e55e011e5327 5.6.0 +f13147d0020a5a42a7420db6678d2472ccf79bd3 5.8.0 +69d98ca60d7117c6ea722ea3d69fb7896859614b 6.0.0 +0000000000000000000000000000000000000000 2.4.0 +28368573eba198c3524a0ef44c5d1318a71a25b6 stock_split-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +04196701d026d86eb57f91c6e38cddecf257d63f stock_split-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +099647a527ee5b315f03850b900f656bd10d759f stock_split-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +06bc610a6f9a26c456050fd61c273bd012a21f04 stock_split-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +e793ef3ca432a0e409aa49bc846bd2c572f3a5ee stock_split-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +99999433d0e31e2b6f1eb2f589844e835d7b2953 stock_split-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +4c27a1322efba12ae02f1299e7989460ffe8af09 stock_split-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +cca693a2c563e30e5f10fefeca30c49101eb3495 stock_split-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +d961a4a36143eae4ff23dc2c8f7b49c83a8e6b9a stock_split-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +10eb3100612be23bcac20f5c1036e58aaef76ed7 stock_split-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +d73f07a6109ae14f711d9ac9efe316a4595d3ffa stock_split-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +893b0270a268be94790a68facfb745cc188d7a93 stock_split-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +eef7e68926b3f9c34ae5dc12bcd0ec6884918c09 stock_split-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +fd97dee9a2f6c5fc4c3ddd7298fdcf4c917ef5d9 stock_split-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +c07759c9b8d3b7733620789a050e7b6de418cf99 stock_split-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +160bbe8565f066ff2e7565fd8a9aceec2c3a0bed stock_split-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +51f597bea6844c61a7dd658329a0e55e011e5327 stock_split-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +f13147d0020a5a42a7420db6678d2472ccf79bd3 stock_split-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +69d98ca60d7117c6ea722ea3d69fb7896859614b stock_split-6.0.0 +2c1e13c8dd3396c1cd8e638111aac955de3ebc00 1.2.0 +5295eef207dc90e5cd3667c3883675e05726ef57 1.4.0 +2dfd00186d72076cf13379297e19c076884078d9 1.6.0 +056794451985f57a11e3cd7eba52f596ee9ec735 1.8.0 +bd08fecfa2cf0e7e3580c85090f62e1711fcfb88 2.0.0 +fe083045a79de94717fd58ecfa407f9662d05445 2.2.0 +926d98699fe8374bf591a6a21561cb51af46b3cb 2.4.0 +5169c4780f85a719ae92808f229620867a6756ca 2.6.0 +bc954fb77cc0651892cdfe10fb52fda48c238a98 2.8.0 +bb15a9f03156fea571be3216d502e5d4dc92439c 3.0.0 +7887dba041046609d589e9db4d3d6cf154d84865 3.2.0 +13c061d1e265b64a17a67ab05b2419ea17a10e7b 3.4.0 +8cd9280b5c4df641c5c969f020cec2d7d291082e 3.6.0 +3cd313fcfb1603d6ba340e254fc09ac6cfd1c420 3.8.0 +f36bf15e0049da995257277971560f979e534808 4.0.0 +a0f86fdcff3f7146eba32e4c06107cbadf7e52e5 4.2.0 +33bc557f7dde9e3ed40d6cc8e11b98eda63239a5 4.4.0 +32bafb5576e02e637109040302e14ff20f32e3a4 4.6.0 +1567de11c58a7052bba71f735826f332ece9ef35 4.8.0 +30611743f9cfe3c23bf8d252b971b011ea54ad53 5.0.0 +39be3138aa4546c555cf9ca5d800bb4ec3c3d7cb 5.2.0 +91f140df04060667e5faab3bf8d1095cab3f5528 5.4.0 +dbec1eac9dc4167e1307adbc62ef72bc7937d5ef 5.6.0 +00c0bad66396daf07d8c5f78dd8dae4ed0e421a4 5.8.0 +5a0e8f4810783920576928b183e3733693959da8 6.0.0 +0000000000000000000000000000000000000000 1.2.0 +2c1e13c8dd3396c1cd8e638111aac955de3ebc00 stock_supply_day-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +5295eef207dc90e5cd3667c3883675e05726ef57 stock_supply_day-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +2dfd00186d72076cf13379297e19c076884078d9 stock_supply_day-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +056794451985f57a11e3cd7eba52f596ee9ec735 stock_supply_day-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +bd08fecfa2cf0e7e3580c85090f62e1711fcfb88 stock_supply_day-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +fe083045a79de94717fd58ecfa407f9662d05445 stock_supply_day-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +926d98699fe8374bf591a6a21561cb51af46b3cb stock_supply_day-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +5169c4780f85a719ae92808f229620867a6756ca stock_supply_day-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +bc954fb77cc0651892cdfe10fb52fda48c238a98 stock_supply_day-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +bb15a9f03156fea571be3216d502e5d4dc92439c stock_supply_day-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +7887dba041046609d589e9db4d3d6cf154d84865 stock_supply_day-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +13c061d1e265b64a17a67ab05b2419ea17a10e7b stock_supply_day-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +8cd9280b5c4df641c5c969f020cec2d7d291082e stock_supply_day-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +3cd313fcfb1603d6ba340e254fc09ac6cfd1c420 stock_supply_day-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +f36bf15e0049da995257277971560f979e534808 stock_supply_day-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +a0f86fdcff3f7146eba32e4c06107cbadf7e52e5 stock_supply_day-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +33bc557f7dde9e3ed40d6cc8e11b98eda63239a5 stock_supply_day-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +32bafb5576e02e637109040302e14ff20f32e3a4 stock_supply_day-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +1567de11c58a7052bba71f735826f332ece9ef35 stock_supply_day-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +30611743f9cfe3c23bf8d252b971b011ea54ad53 stock_supply_day-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +39be3138aa4546c555cf9ca5d800bb4ec3c3d7cb stock_supply_day-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +91f140df04060667e5faab3bf8d1095cab3f5528 stock_supply_day-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +dbec1eac9dc4167e1307adbc62ef72bc7937d5ef stock_supply_day-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +00c0bad66396daf07d8c5f78dd8dae4ed0e421a4 stock_supply_day-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +5a0e8f4810783920576928b183e3733693959da8 stock_supply_day-6.0.0 +0834d76da22334e9c2b1e9d89ba50ac38bd3907f 2.2.0 +3c285f5f45031efbf9966541ace27b80fa45129d 2.4.0 +850476a6cbe95cf9bead5fdfaf094231908623ae 2.6.0 +3e0634468842969d6b2ee5e0f0c69a5aa75088e0 2.8.0 +3a26b77c883afebe780e59cd591c85f86248479c 3.0.0 +e6944d53c9579ff7d529f2fcadc021dc5a96d76c 3.2.0 +749efb5e0a4e86fb5ce3d5f181e73bc61ccd40e8 3.4.0 +370823db908f443f81bae475974c57af6281236b 3.6.0 +ba552f7b9b5297a6cde2372eebc523945d535c93 3.8.0 +0c88f450cac4029d9aaa81e94bc24457aec7c54a 4.0.0 +f0df25bfdb09fc1875f336bb870aa140a3247bcd 4.2.0 +afc2f1896f1c22b4591147b48f03743886e390f2 4.4.0 +5d6cdbfbb2b37451d4875ff9e789bf1350e75ab7 4.6.0 +df25bbcc27ede6b2a09868c7239732c3cd5e2c2a 4.8.0 +df42ccdd98a6fb0b4f55cc24e94f077fec1ffeb2 5.0.0 +d8a1fdd9db7f020437f2d5f02311ab29fe0cbab4 5.2.0 +c4c090246916fe2e00d67a26cb9859ea0a7106b5 5.4.0 +b89599b1cef0267371ce55e1b41cb1958d3312ba 5.6.0 +757b5e5484dd448afcbec95e87c21ecfad938b5f 5.8.0 +579edbea3863be427cfc1bb76cec03d061732d90 6.0.0 +0000000000000000000000000000000000000000 2.2.0 +0834d76da22334e9c2b1e9d89ba50ac38bd3907f stock_supply_forecast-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +3c285f5f45031efbf9966541ace27b80fa45129d stock_supply_forecast-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +850476a6cbe95cf9bead5fdfaf094231908623ae stock_supply_forecast-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +3e0634468842969d6b2ee5e0f0c69a5aa75088e0 stock_supply_forecast-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +3a26b77c883afebe780e59cd591c85f86248479c stock_supply_forecast-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +e6944d53c9579ff7d529f2fcadc021dc5a96d76c stock_supply_forecast-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +749efb5e0a4e86fb5ce3d5f181e73bc61ccd40e8 stock_supply_forecast-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +370823db908f443f81bae475974c57af6281236b stock_supply_forecast-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +ba552f7b9b5297a6cde2372eebc523945d535c93 stock_supply_forecast-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +0c88f450cac4029d9aaa81e94bc24457aec7c54a stock_supply_forecast-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +f0df25bfdb09fc1875f336bb870aa140a3247bcd stock_supply_forecast-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +afc2f1896f1c22b4591147b48f03743886e390f2 stock_supply_forecast-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +5d6cdbfbb2b37451d4875ff9e789bf1350e75ab7 stock_supply_forecast-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +df25bbcc27ede6b2a09868c7239732c3cd5e2c2a stock_supply_forecast-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +df42ccdd98a6fb0b4f55cc24e94f077fec1ffeb2 stock_supply_forecast-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +d8a1fdd9db7f020437f2d5f02311ab29fe0cbab4 stock_supply_forecast-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +c4c090246916fe2e00d67a26cb9859ea0a7106b5 stock_supply_forecast-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +b89599b1cef0267371ce55e1b41cb1958d3312ba stock_supply_forecast-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +757b5e5484dd448afcbec95e87c21ecfad938b5f stock_supply_forecast-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +579edbea3863be427cfc1bb76cec03d061732d90 stock_supply_forecast-6.0.0 +bb2bb6af62f06218b0c8c689b24dd16f43307ca1 1.0.0 +5b0a8261963f167230f23a1b97c8b38519428143 1.2.0 +396ad2807deb26c6c353eb119dc50fd4fdcbb28a 1.4.0 +b44aa993ce24453fdb2362187e201a9375bcaa09 1.6.0 +f76056df60f581f803c7a7e4cec81397e4bbbb9c 1.8.0 +354dfc672c4b3ee2609a4051f6d8d431dd087231 2.0.0 +0881ad5cb82f3f00ec1eea276fa100a957691982 2.2.0 +5eb0f23e5774dddbf43cafe34bf527e1cd78d619 2.4.0 +6cd5f943826cb858bc34d20074bfd81b715114f8 2.6.0 +69f57817f6f0ed6ee0788cfab959a9321fcb45bb 2.8.0 +2ebe2636b804a2f7635d0af5b1030ced08de7a37 3.0.0 +c466a41ecc7586e898f0f4f2341c2e74b41ea816 3.2.0 +ddd6516306dd09e3049fb95ff94b4ce48687e200 3.4.0 +e122da9f78841562722820efbf4d64e4c390e8af 3.6.0 +5dcc2dd84f2145e78882af143cad5111c31f09b6 3.8.0 +c0a58dc8306d6885126b9613ad4b36e0a95b75f0 4.0.0 +afc53d87c88438c9c8e56629e994836844e32dbe 4.2.0 +7bbc6abdafa0642baf4095654151d70c9e5482c4 4.4.0 +99eaaa78814833e4d21e9d96e8c110f061f0edfa 4.6.0 +3b5c655f3c26831a505bd74493f108425d42bc62 4.8.0 +1c163e9beae826b96a72cd0d2c59bf4899241f82 5.0.0 +c139a716d188bf7fbf46574fa84a473133b8bee2 5.2.0 +9264fc010a2d2acb3128d9208977bd6b77fb5160 5.4.0 +2d2feece662966a006078304aa61b695447cef2f 5.6.0 +5756606b07d016272254398e15ae07873a72c230 5.8.0 +d527c60bfe0bc723779200d118179faa7f96ba4a 6.0.0 +7c13addfa07217e498c00f83117517b179d33f1b 6.0.1 +47e2a56c3eb9cd49ad460d35fc16dab4c334384b 6.0.2 +aeafed90f31c18b914b74cfd675f897dc41ca6cd 6.0.3 +0000000000000000000000000000000000000000 1.0.0 +bb2bb6af62f06218b0c8c689b24dd16f43307ca1 stock_supply-1.0.0 +0000000000000000000000000000000000000000 1.2.0 +5b0a8261963f167230f23a1b97c8b38519428143 stock_supply-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +396ad2807deb26c6c353eb119dc50fd4fdcbb28a stock_supply-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +b44aa993ce24453fdb2362187e201a9375bcaa09 stock_supply-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +f76056df60f581f803c7a7e4cec81397e4bbbb9c stock_supply-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +354dfc672c4b3ee2609a4051f6d8d431dd087231 stock_supply-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +0881ad5cb82f3f00ec1eea276fa100a957691982 stock_supply-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +5eb0f23e5774dddbf43cafe34bf527e1cd78d619 stock_supply-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +6cd5f943826cb858bc34d20074bfd81b715114f8 stock_supply-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +69f57817f6f0ed6ee0788cfab959a9321fcb45bb stock_supply-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +2ebe2636b804a2f7635d0af5b1030ced08de7a37 stock_supply-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +c466a41ecc7586e898f0f4f2341c2e74b41ea816 stock_supply-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +ddd6516306dd09e3049fb95ff94b4ce48687e200 stock_supply-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +e122da9f78841562722820efbf4d64e4c390e8af stock_supply-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +5dcc2dd84f2145e78882af143cad5111c31f09b6 stock_supply-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +c0a58dc8306d6885126b9613ad4b36e0a95b75f0 stock_supply-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +afc53d87c88438c9c8e56629e994836844e32dbe stock_supply-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +7bbc6abdafa0642baf4095654151d70c9e5482c4 stock_supply-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +99eaaa78814833e4d21e9d96e8c110f061f0edfa stock_supply-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +3b5c655f3c26831a505bd74493f108425d42bc62 stock_supply-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +1c163e9beae826b96a72cd0d2c59bf4899241f82 stock_supply-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +c139a716d188bf7fbf46574fa84a473133b8bee2 stock_supply-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +9264fc010a2d2acb3128d9208977bd6b77fb5160 stock_supply-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +2d2feece662966a006078304aa61b695447cef2f stock_supply-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +5756606b07d016272254398e15ae07873a72c230 stock_supply-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +d527c60bfe0bc723779200d118179faa7f96ba4a stock_supply-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +7c13addfa07217e498c00f83117517b179d33f1b stock_supply-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +47e2a56c3eb9cd49ad460d35fc16dab4c334384b stock_supply-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +aeafed90f31c18b914b74cfd675f897dc41ca6cd stock_supply-6.0.3 +ec2752f736f671fea3f95f881fa19e7cbfcc88c2 2.4.0 +4541105a8fc9586b5c65f581d70dd6906c41a730 2.6.0 +c0a9cb20a609d38ecf4facd08ffe55b2020e38ad 2.8.0 +ddf4cfa5af01e368d995885606d572d53d36cd7b 3.0.0 +81e986b99d1b16b26e8c7ae69684225bfa252603 3.2.0 +808383c0929c8dda2fab252418dbf31b46c2dffc 3.4.0 +bf11ecaa1d599160a62a02f46639955aaaa472a3 3.6.0 +07c3ef01edffc285a49cb969e18737dfac67bfdc 3.8.0 +d41ca7fbc924d4f73aff1c8377d2f700abe06f2d 4.0.0 +b58e60f41b662ac3d58c7502c4a6b4d5018797f4 4.2.0 +52078228f2c56880ac08f6987e8383c08a8043fd 4.4.0 +5df3455491d72296ada960cb45f72a276433a45d 4.6.0 +769117cd528a585fda8ea67bad5b54bf6fe5f6a6 4.8.0 +25c05b49d46071031d53a7798a711246789d6973 5.0.0 +24c941bdf02946e4bc130135508158dcb9817c39 5.2.0 +d4b5b3fa95da83bb9439320e69f4df43b9360f9c 5.4.0 +0b460de8ca80a58dc7b4d4528c6c4587fa0d16eb 5.6.0 +f0209c41aa97aaf6a1c8da050e47f24ad289aa38 5.8.0 +6f70ee75254fa62addab73552b06b39a2e151e66 6.0.0 +4b8288280406ba3d9a4bfb3c96a84a29ddcb9e23 6.0.1 +0000000000000000000000000000000000000000 2.4.0 +ec2752f736f671fea3f95f881fa19e7cbfcc88c2 stock_supply_production-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +4541105a8fc9586b5c65f581d70dd6906c41a730 stock_supply_production-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +c0a9cb20a609d38ecf4facd08ffe55b2020e38ad stock_supply_production-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +ddf4cfa5af01e368d995885606d572d53d36cd7b stock_supply_production-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +81e986b99d1b16b26e8c7ae69684225bfa252603 stock_supply_production-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +808383c0929c8dda2fab252418dbf31b46c2dffc stock_supply_production-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +bf11ecaa1d599160a62a02f46639955aaaa472a3 stock_supply_production-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +07c3ef01edffc285a49cb969e18737dfac67bfdc stock_supply_production-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +d41ca7fbc924d4f73aff1c8377d2f700abe06f2d stock_supply_production-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +b58e60f41b662ac3d58c7502c4a6b4d5018797f4 stock_supply_production-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +52078228f2c56880ac08f6987e8383c08a8043fd stock_supply_production-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +5df3455491d72296ada960cb45f72a276433a45d stock_supply_production-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +769117cd528a585fda8ea67bad5b54bf6fe5f6a6 stock_supply_production-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +25c05b49d46071031d53a7798a711246789d6973 stock_supply_production-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +24c941bdf02946e4bc130135508158dcb9817c39 stock_supply_production-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +d4b5b3fa95da83bb9439320e69f4df43b9360f9c stock_supply_production-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +0b460de8ca80a58dc7b4d4528c6c4587fa0d16eb stock_supply_production-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +f0209c41aa97aaf6a1c8da050e47f24ad289aa38 stock_supply_production-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +6f70ee75254fa62addab73552b06b39a2e151e66 stock_supply_production-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +4b8288280406ba3d9a4bfb3c96a84a29ddcb9e23 stock_supply_production-6.0.1 +b9082c1aa7e6cc8316754bca8f2b29c7018ef9fc 3.0.0 +1dbac5dcf15dc3f17fb4865387a9e171dd20fc70 3.2.0 +db5b4bb6b6b098dd55089c2923e3eb5e1b8ec56b 3.4.0 +b7cb20ab4ec3b50821983ed8c0b034f30752a6ec 3.6.0 +7961a5a68240535525babbcdf496952107a480bf 3.8.0 +615333cf31aa9cc78cba9d7e20c515752e448fdb 4.0.0 +eaf2542a8adbf470a3249429f44cd5c70fa6a986 4.2.0 +6bd47a06f582784dfca255c49c7877d614adec51 4.4.0 +486b4928c849a93beb92d3bdfecfc8f622a38956 4.6.0 +03ded560c597cabf1a3e7df1fb586ecde33c1529 4.8.0 +7fcc5447286ed6be08252a52014a229fb21e706b 5.0.0 +25dfcaa29bcd9d57cdf019b3cae55b6226c355f6 5.2.0 +d4b86ad1ba39b874c39da9a5a007690489f4e15f 5.4.0 +f55c3c6bdd16d4b2ce85c8d691e9cafa71ce3d1f 5.6.0 +74c459fcf1a4a1237e25c4e3a63adbed65a7d1a8 5.8.0 +71a5bc1d16dc5b2b613ab21d94116f74d3b99320 6.0.0 +0000000000000000000000000000000000000000 3.0.0 +b9082c1aa7e6cc8316754bca8f2b29c7018ef9fc timesheet_cost-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +1dbac5dcf15dc3f17fb4865387a9e171dd20fc70 timesheet_cost-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +db5b4bb6b6b098dd55089c2923e3eb5e1b8ec56b timesheet_cost-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +b7cb20ab4ec3b50821983ed8c0b034f30752a6ec timesheet_cost-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +7961a5a68240535525babbcdf496952107a480bf timesheet_cost-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +615333cf31aa9cc78cba9d7e20c515752e448fdb timesheet_cost-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +eaf2542a8adbf470a3249429f44cd5c70fa6a986 timesheet_cost-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +6bd47a06f582784dfca255c49c7877d614adec51 timesheet_cost-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +486b4928c849a93beb92d3bdfecfc8f622a38956 timesheet_cost-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +03ded560c597cabf1a3e7df1fb586ecde33c1529 timesheet_cost-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +7fcc5447286ed6be08252a52014a229fb21e706b timesheet_cost-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +25dfcaa29bcd9d57cdf019b3cae55b6226c355f6 timesheet_cost-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +d4b86ad1ba39b874c39da9a5a007690489f4e15f timesheet_cost-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +f55c3c6bdd16d4b2ce85c8d691e9cafa71ce3d1f timesheet_cost-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +74c459fcf1a4a1237e25c4e3a63adbed65a7d1a8 timesheet_cost-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +71a5bc1d16dc5b2b613ab21d94116f74d3b99320 timesheet_cost-6.0.0 +a32068d131a6872da6c87812f3fda96c5ad076bb 1.4.0 +3d405f7a2a43e41869b7f438203d3a945b1d68f9 1.6.0 +65577163f1e51a0e1385155cae93eb2900866f3b 1.8.0 +24d03108a830bc2b71924432ebcb32dfd6f5b2e0 2.0.0 +1d020661487e0ddc14d2825aa66ec6772e66010c 2.2.0 +7b90dcce007c3fc93a9b409f54f379f8182728ee 2.4.0 +549128cae2441f891c24176c1f6a67777962e3d3 2.6.0 +8c69d08939dbc773d89f4c637ce6a8d8cadcb866 2.8.0 +4e635a95118453b2ff0ec533a70ac50d4dacc3cb 3.0.0 +5f4ed300d4966e0c16c4497428a130b19a6209f3 3.2.0 +a4e84c96f4735bd710e02a0364af0947ba44d4b7 3.4.0 +728c1ee800a32fdd4856e86998a32c3c929d262d 3.6.0 +1924468dda905272353c147edc625a3496b3421e 3.8.0 +ae80ff03e20174f8ed595b9fa47893598c13f91f 4.0.0 +dd6dfdad58d95b23dab3c1ff906f2e18c634b474 4.2.0 +05cf4e50160ca0801ef2aa7c93d2b9b9c4a41071 4.4.0 +4ad8501eef3e1b47ccf54ecabf5cedbb0bebe99b 4.6.0 +bd8398d102d53692be26bd76171c23b85676304c 4.8.0 +f22152a613c52f8ffece522ec3a1f30e46637e3a 5.0.0 +ae0426e8137939d8d4e14f0d6717b46e0bd6ff3a 5.2.0 +41c1f6178f3f039bc62dd85ebd1fa6f92212c9ec 5.4.0 +f9ad969ee981b3b7cd11723d471d4ed3d0fff873 5.6.0 +a874b70acc06493a4b64edc59ec3be3cba8503a6 5.8.0 +779126589e978c55a09cc15d7854a08fff370416 6.0.0 +8603d8d89e44cb5ad8a8c9efc403db90cd214028 6.0.1 +d2f9bdfd51c32bc1c67d14357acab16782dedb07 6.0.2 +0000000000000000000000000000000000000000 1.4.0 +a32068d131a6872da6c87812f3fda96c5ad076bb timesheet-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +3d405f7a2a43e41869b7f438203d3a945b1d68f9 timesheet-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +65577163f1e51a0e1385155cae93eb2900866f3b timesheet-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +24d03108a830bc2b71924432ebcb32dfd6f5b2e0 timesheet-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +1d020661487e0ddc14d2825aa66ec6772e66010c timesheet-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +7b90dcce007c3fc93a9b409f54f379f8182728ee timesheet-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +549128cae2441f891c24176c1f6a67777962e3d3 timesheet-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +8c69d08939dbc773d89f4c637ce6a8d8cadcb866 timesheet-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +4e635a95118453b2ff0ec533a70ac50d4dacc3cb timesheet-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +5f4ed300d4966e0c16c4497428a130b19a6209f3 timesheet-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +a4e84c96f4735bd710e02a0364af0947ba44d4b7 timesheet-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +728c1ee800a32fdd4856e86998a32c3c929d262d timesheet-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +1924468dda905272353c147edc625a3496b3421e timesheet-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +ae80ff03e20174f8ed595b9fa47893598c13f91f timesheet-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +dd6dfdad58d95b23dab3c1ff906f2e18c634b474 timesheet-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +05cf4e50160ca0801ef2aa7c93d2b9b9c4a41071 timesheet-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +4ad8501eef3e1b47ccf54ecabf5cedbb0bebe99b timesheet-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +bd8398d102d53692be26bd76171c23b85676304c timesheet-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +f22152a613c52f8ffece522ec3a1f30e46637e3a timesheet-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +ae0426e8137939d8d4e14f0d6717b46e0bd6ff3a timesheet-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +41c1f6178f3f039bc62dd85ebd1fa6f92212c9ec timesheet-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +f9ad969ee981b3b7cd11723d471d4ed3d0fff873 timesheet-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +a874b70acc06493a4b64edc59ec3be3cba8503a6 timesheet-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +779126589e978c55a09cc15d7854a08fff370416 timesheet-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +8603d8d89e44cb5ad8a8c9efc403db90cd214028 timesheet-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +d2f9bdfd51c32bc1c67d14357acab16782dedb07 timesheet-6.0.2 +0f3d5527aad7e83e07c84b19983b86f5b580d9b9 5.2.0 +32c3f6707c841e89eaa8e1200b4ed4b4b8c2510d 5.4.0 +65a1ddcc0b7d681c785f9260aa11e9c9a9b3f74b 5.6.0 +8766a61dd6f885faa2bed9eaa21c307412674989 5.8.0 +5c50392d0b77f4f5c1f76ece0997ec73591e887c 6.0.0 +0000000000000000000000000000000000000000 5.2.0 +0f3d5527aad7e83e07c84b19983b86f5b580d9b9 user_role-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +32c3f6707c841e89eaa8e1200b4ed4b4b8c2510d user_role-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +65a1ddcc0b7d681c785f9260aa11e9c9a9b3f74b user_role-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +8766a61dd6f885faa2bed9eaa21c307412674989 user_role-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +5c50392d0b77f4f5c1f76ece0997ec73591e887c user_role-6.0.0 +cc6273db844d391455840a0cb63fbd8e78b704c7 5.8.0 +4020d5ca9497c14dfc273676d49363650eb8da80 6.0.0 +0050d9a729746f753fbd3029ff635a459e458e07 6.0.1 +64b26bac37642e1dcff5f8d9590250cbff8fbc94 6.0.2 +247fec368df174a2cc186065669462b198b3fd62 6.0.3 +0000000000000000000000000000000000000000 5.8.0 +cc6273db844d391455840a0cb63fbd8e78b704c7 web_shop-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +4020d5ca9497c14dfc273676d49363650eb8da80 web_shop-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +0050d9a729746f753fbd3029ff635a459e458e07 web_shop-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +64b26bac37642e1dcff5f8d9590250cbff8fbc94 web_shop-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +247fec368df174a2cc186065669462b198b3fd62 web_shop-6.0.3 +bfc8e45097fc0e414744408e96708fdf5d2b33a1 5.8.0 +2efa183d80e356d0c11731819456b8dd9bc586db 6.0.0 +1f0c1ae839cf3df054309a0aa60e6e7fcdbdc926 6.0.1 +c1149124f1c8206c8b3d787dc9d7f41e61c0fe20 6.0.2 +255623f33107cd9f26a00f89c727634bb01cf1a9 6.0.3 +33f7271faaeccb49772f3ce8dc6e35036d7aec61 6.0.4 +2af6bbee8a75aaca6a213f722f1e4b49d98c551e 6.0.5 +0000000000000000000000000000000000000000 5.8.0 +bfc8e45097fc0e414744408e96708fdf5d2b33a1 web_shop_vue_storefront-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +2efa183d80e356d0c11731819456b8dd9bc586db web_shop_vue_storefront-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +1f0c1ae839cf3df054309a0aa60e6e7fcdbdc926 web_shop_vue_storefront-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +c1149124f1c8206c8b3d787dc9d7f41e61c0fe20 web_shop_vue_storefront-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +255623f33107cd9f26a00f89c727634bb01cf1a9 web_shop_vue_storefront-6.0.3 +0000000000000000000000000000000000000000 6.0.4 +33f7271faaeccb49772f3ce8dc6e35036d7aec61 web_shop_vue_storefront-6.0.4 +0000000000000000000000000000000000000000 6.0.5 +2af6bbee8a75aaca6a213f722f1e4b49d98c551e web_shop_vue_storefront-6.0.5 +0a5ab9e8e526e89b69c1aadb73127da0759edc27 5.8.0 +4b01e563d74ede2cd6ac3c0ae8bd597a963c21a3 6.0.0 +c418c973cfc6b60e495a3376cd632035b9a1a7d8 6.0.1 +0000000000000000000000000000000000000000 5.8.0 +0a5ab9e8e526e89b69c1aadb73127da0759edc27 web_shop_vue_storefront_stripe-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +4b01e563d74ede2cd6ac3c0ae8bd597a963c21a3 web_shop_vue_storefront_stripe-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +c418c973cfc6b60e495a3376cd632035b9a1a7d8 web_shop_vue_storefront_stripe-6.0.1 +d1340478469878c66528aac5cec001841d14ca5a 5.2.0 +bed84c6dd812463897dc9cca5b7909f6ea4651a4 5.4.0 +e37a9b2291b9b60d453a9eabc894d21b5aeca097 5.6.0 +c3046a83c61339a6310b8cf56c2e4dddd59a0675 5.8.0 +0d2662846f667e44e2831a271becf86f8868c9a5 6.0.0 +f5cdb780a081fb87e0ebcb77b71e5b1c9f7233df 6.0.1 +0000000000000000000000000000000000000000 5.2.0 +d1340478469878c66528aac5cec001841d14ca5a web_shortener-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +bed84c6dd812463897dc9cca5b7909f6ea4651a4 web_shortener-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +e37a9b2291b9b60d453a9eabc894d21b5aeca097 web_shortener-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +c3046a83c61339a6310b8cf56c2e4dddd59a0675 web_shortener-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +0d2662846f667e44e2831a271becf86f8868c9a5 web_shortener-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +f5cdb780a081fb87e0ebcb77b71e5b1c9f7233df web_shortener-6.0.1 +99f99784b341ce8bb34bd70d89f51aa45c24f1f7 4.2.0 +a6661fddc44d1cee9c5697d983e8fb38deb73225 4.4.0 +d5c1f780f492de8ab82da98a577a5685bb513d9b 4.6.0 +9ad3bd829ad68cd69806533416aadc50f5eb6794 4.8.0 +ca21f3a99b42b088c6588c36f5e105dae713f775 5.0.0 +c2ef0488218d9d3ee59514b744e2145bbd0147b3 5.2.0 +cb5da130470815adfd7b3681fa2803feed934f45 5.4.0 +b95009d0a58dd058440cc0cd7537e5c4499ea16a 5.6.0 +166c1e4c476baeb36b21cef7963b87b5ca07f71e 5.8.0 +ec9a4f3e26f796c12a267e4b3af717fd2a35c066 6.0.0 +0000000000000000000000000000000000000000 4.2.0 +99f99784b341ce8bb34bd70d89f51aa45c24f1f7 web_user-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +a6661fddc44d1cee9c5697d983e8fb38deb73225 web_user-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +d5c1f780f492de8ab82da98a577a5685bb513d9b web_user-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +9ad3bd829ad68cd69806533416aadc50f5eb6794 web_user-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +ca21f3a99b42b088c6588c36f5e105dae713f775 web_user-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +c2ef0488218d9d3ee59514b744e2145bbd0147b3 web_user-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +cb5da130470815adfd7b3681fa2803feed934f45 web_user-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +b95009d0a58dd058440cc0cd7537e5c4499ea16a web_user-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +166c1e4c476baeb36b21cef7963b87b5ca07f71e web_user-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +ec9a4f3e26f796c12a267e4b3af717fd2a35c066 web_user-6.0.0 +3974f546b848d4ac59551db9f733d8ed62946dfd 1.8.0 +c8fdae3b2338b744fce709572958884a95de87b3 2.0.0 +120d0435125cf3a3c28280321962571924ad422f 2.2.0 +ef9846cb18afe62182de446d8e4fa7b8393f7168 2.4.0 +648c43939fd698988bde5b54f7a1dff9d47922af 2.6.0 +5625ce03643f9f2b69659907754e5b0e924c689f 2.8.0 +31740f7e08a0c449ce6715e1ef15392fb6326ce9 3.0.0 +40affcdda4629de37997d0e5c7d3fe9ca2806b12 3.2.0 +61013c4482fc95a61d2a15a8b21574a706755b10 3.4.0 +2a2503ebd25887ff3668d470809c00c5bcf2c6c7 3.6.0 +1e741a18e2a1f29fcc66e9ab4878554a4e63a355 3.8.0 +403f21dd1bb7059a0928c46c8b21a97c14f9c720 4.0.0 +d5b1e8f047748526d9a2cd354da0e86d617ec4c7 4.2.0 +365af7e74c2baae38e96bc0afb1deae2d2b44ac0 4.4.0 +cd4731fb373698d480a625a286de776a0b9bdc6e 4.6.0 +3867b51d50056fda52882150a017a9dce6811264 4.8.0 +e86f9d540f29dfcd39e8f198b50940c8b91250d6 5.0.0 +f4a0b0e282f39c013c44e5012e6b85e4b8a4ae40 5.2.0 +03daaf3994610fde107d98d8458b2731e03c5306 5.4.0 +a8061a1d268776766c44ceb97094d229dbe31962 5.6.0 +8bc88e82ff9edc33725d08bc0c6f2862f221a127 5.8.0 +ac15e7f1881fd78d30eac0d7c772638265830c77 6.0.0 +14cd94a3e75463a9e4ab4c562cce82470070731b 6.0.1 +b579da9fa80282eaf0657e6d2826147c2c6c2f3d 6.0.2 +dc3d781b552d24dcfb7b0ced4322b1ba17e6ca09 6.0.3 +8e6d0969604981e6d024b203424b1b3f0bcd4cb3 6.0.4 +c20749d242200840432ab0b87ce7c0072ee1be34 6.0.5 +b279acacc05c6df60ca9833a3eb6e22b9f9fa488 6.0.6 +8a5195f7cece07c1baceade758e1e783170abe32 6.0.7 +0000000000000000000000000000000000000000 1.8.0 +3974f546b848d4ac59551db9f733d8ed62946dfd proteus-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +c8fdae3b2338b744fce709572958884a95de87b3 proteus-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +120d0435125cf3a3c28280321962571924ad422f proteus-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +ef9846cb18afe62182de446d8e4fa7b8393f7168 proteus-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +648c43939fd698988bde5b54f7a1dff9d47922af proteus-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +5625ce03643f9f2b69659907754e5b0e924c689f proteus-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +31740f7e08a0c449ce6715e1ef15392fb6326ce9 proteus-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +40affcdda4629de37997d0e5c7d3fe9ca2806b12 proteus-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +61013c4482fc95a61d2a15a8b21574a706755b10 proteus-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +2a2503ebd25887ff3668d470809c00c5bcf2c6c7 proteus-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +1e741a18e2a1f29fcc66e9ab4878554a4e63a355 proteus-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +403f21dd1bb7059a0928c46c8b21a97c14f9c720 proteus-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +d5b1e8f047748526d9a2cd354da0e86d617ec4c7 proteus-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +365af7e74c2baae38e96bc0afb1deae2d2b44ac0 proteus-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +cd4731fb373698d480a625a286de776a0b9bdc6e proteus-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +3867b51d50056fda52882150a017a9dce6811264 proteus-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +e86f9d540f29dfcd39e8f198b50940c8b91250d6 proteus-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +f4a0b0e282f39c013c44e5012e6b85e4b8a4ae40 proteus-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +03daaf3994610fde107d98d8458b2731e03c5306 proteus-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +a8061a1d268776766c44ceb97094d229dbe31962 proteus-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +8bc88e82ff9edc33725d08bc0c6f2862f221a127 proteus-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +ac15e7f1881fd78d30eac0d7c772638265830c77 proteus-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +14cd94a3e75463a9e4ab4c562cce82470070731b proteus-6.0.1 +0000000000000000000000000000000000000000 6.0.2 +b579da9fa80282eaf0657e6d2826147c2c6c2f3d proteus-6.0.2 +0000000000000000000000000000000000000000 6.0.3 +dc3d781b552d24dcfb7b0ced4322b1ba17e6ca09 proteus-6.0.3 +0000000000000000000000000000000000000000 6.0.4 +8e6d0969604981e6d024b203424b1b3f0bcd4cb3 proteus-6.0.4 +0000000000000000000000000000000000000000 6.0.5 +c20749d242200840432ab0b87ce7c0072ee1be34 proteus-6.0.5 +0000000000000000000000000000000000000000 6.0.6 +b279acacc05c6df60ca9833a3eb6e22b9f9fa488 proteus-6.0.6 +0000000000000000000000000000000000000000 6.0.7 +8a5195f7cece07c1baceade758e1e783170abe32 proteus-6.0.7 +c835144ba5fd172c9aa8714683e69ca60bc894bc 3.8.0 +20712dc81634af43f9e0ebb41b0dcea50ccffdd2 4.0.0 +963504a30207af5877c11368ac5dadbc5d28fee1 4.2.0 +1fea2b717dd8d57d0a233c19d7f1eec35bdde0fa 4.4.0 +16a536201007ba66d36040a34e79a8998c4051f8 4.6.0 +08b000057b0b5a69f4034f2e1f5c7f2f7f23276f 4.8.0 +47edb75271514576ea775d28dc286a120675aa32 5.0.0 +4074fcefe73deec0b4dcd8b2e29f6c3c8eade611 5.2.0 +2d6d3a648c1dc1711adcc7bd3ff0930949b3076a 5.4.0 +513d2f77dc3bb1f5335af4faf233ccaa1711ac82 5.6.0 +e013e9930e2f27e5205b93f39d49f3604ae07901 5.8.0 +031cd536bd9f4e89345876c2d438626c57fbb33c 6.0.0 +ca49dcd87a916c997b5fe8bfc79c3195766bd4be 6.0.1 +a8121f01d452fd877749cf304dd691618553fccb 6.0.2 +90177ab7f46ac9703f9130f36f87d696774506be 6.0.3 +c1b6c469704c89d22f838a7c387f8ce2db6c04e8 6.0.4 +d37b211c91cc908fb3dbdc3ea8b52af50ef325a2 6.0.5 +76abf46e661d7f2b5d95bf13fddf107f31d47105 6.0.6 +722e116a59f5a1ba61aede38920e03a05a7d7ce4 6.0.7 +262af554d965998030b6b5b9441bc9469dab2311 6.0.8 +caafedc5aba43c65c49eeddf28ee41d8d35d2108 6.0.9 +a29aac850db9e9d55cc33f3ef1fff7af05043fc8 6.0.10 +c1f4671012217e27ee6fedb519da6eecb6b164d8 6.0.11 +2d40a627f2215c62800149562d033a18d550eabc 6.0.12 +31cb176af93153cff7f9b0ad024ce2d3ecac44c1 6.0.13 +440b2885e1659393f469358808a8b83ccb08c12c 6.0.14 +845114a2dc0253d6cb66883089996adffed70188 6.0.15 +89d9b0b02548363e7dfc984e594d09eff061e29c 6.0.16 +f95deaf6c5404e617fe522d98520c1ba829c64b3 6.0.17 +056876b48b55163bfb276ed713fbc8d3c7ec3209 6.0.18 +3fc2510a1f70752c9489a924727c11951eb5171f 6.0.19 +1491afc63d061116473998f40335b1901c62f7c8 6.0.20 +8f4439b7d4a4908f44c9e6d93b3a45fd8fd39350 6.0.21 +0263312e30f850a6637f1c920dbff1c929bf9ded 6.0.22 +5b249c3acf2243f294089418a325bbdcab7c57ad 6.0.23 +7fd7e8a5ae84dab88f322e900d26cbd2e7115292 6.0.24 +0000000000000000000000000000000000000000 3.8.0 +c835144ba5fd172c9aa8714683e69ca60bc894bc sao-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +20712dc81634af43f9e0ebb41b0dcea50ccffdd2 sao-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +963504a30207af5877c11368ac5dadbc5d28fee1 sao-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +1fea2b717dd8d57d0a233c19d7f1eec35bdde0fa sao-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +16a536201007ba66d36040a34e79a8998c4051f8 sao-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +08b000057b0b5a69f4034f2e1f5c7f2f7f23276f sao-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +47edb75271514576ea775d28dc286a120675aa32 sao-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +4074fcefe73deec0b4dcd8b2e29f6c3c8eade611 sao-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +2d6d3a648c1dc1711adcc7bd3ff0930949b3076a sao-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +513d2f77dc3bb1f5335af4faf233ccaa1711ac82 sao-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +e013e9930e2f27e5205b93f39d49f3604ae07901 sao-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +031cd536bd9f4e89345876c2d438626c57fbb33c sao-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +ca49dcd87a916c997b5fe8bfc79c3195766bd4be sao-6.0.1 +0000000000000000000000000000000000000000 6.0.10 +a29aac850db9e9d55cc33f3ef1fff7af05043fc8 sao-6.0.10 +0000000000000000000000000000000000000000 6.0.11 +c1f4671012217e27ee6fedb519da6eecb6b164d8 sao-6.0.11 +0000000000000000000000000000000000000000 6.0.12 +2d40a627f2215c62800149562d033a18d550eabc sao-6.0.12 +0000000000000000000000000000000000000000 6.0.13 +31cb176af93153cff7f9b0ad024ce2d3ecac44c1 sao-6.0.13 +0000000000000000000000000000000000000000 6.0.14 +440b2885e1659393f469358808a8b83ccb08c12c sao-6.0.14 +0000000000000000000000000000000000000000 6.0.15 +845114a2dc0253d6cb66883089996adffed70188 sao-6.0.15 +0000000000000000000000000000000000000000 6.0.16 +89d9b0b02548363e7dfc984e594d09eff061e29c sao-6.0.16 +0000000000000000000000000000000000000000 6.0.17 +f95deaf6c5404e617fe522d98520c1ba829c64b3 sao-6.0.17 +0000000000000000000000000000000000000000 6.0.18 +056876b48b55163bfb276ed713fbc8d3c7ec3209 sao-6.0.18 +0000000000000000000000000000000000000000 6.0.19 +3fc2510a1f70752c9489a924727c11951eb5171f sao-6.0.19 +0000000000000000000000000000000000000000 6.0.2 +a8121f01d452fd877749cf304dd691618553fccb sao-6.0.2 +0000000000000000000000000000000000000000 6.0.20 +1491afc63d061116473998f40335b1901c62f7c8 sao-6.0.20 +0000000000000000000000000000000000000000 6.0.21 +8f4439b7d4a4908f44c9e6d93b3a45fd8fd39350 sao-6.0.21 +0000000000000000000000000000000000000000 6.0.22 +0263312e30f850a6637f1c920dbff1c929bf9ded sao-6.0.22 +0000000000000000000000000000000000000000 6.0.23 +5b249c3acf2243f294089418a325bbdcab7c57ad sao-6.0.23 +0000000000000000000000000000000000000000 6.0.24 +7fd7e8a5ae84dab88f322e900d26cbd2e7115292 sao-6.0.24 +0000000000000000000000000000000000000000 6.0.3 +90177ab7f46ac9703f9130f36f87d696774506be sao-6.0.3 +0000000000000000000000000000000000000000 6.0.4 +c1b6c469704c89d22f838a7c387f8ce2db6c04e8 sao-6.0.4 +0000000000000000000000000000000000000000 6.0.5 +d37b211c91cc908fb3dbdc3ea8b52af50ef325a2 sao-6.0.5 +0000000000000000000000000000000000000000 6.0.6 +76abf46e661d7f2b5d95bf13fddf107f31d47105 sao-6.0.6 +0000000000000000000000000000000000000000 6.0.7 +722e116a59f5a1ba61aede38920e03a05a7d7ce4 sao-6.0.7 +0000000000000000000000000000000000000000 6.0.8 +262af554d965998030b6b5b9441bc9469dab2311 sao-6.0.8 +0000000000000000000000000000000000000000 6.0.9 +caafedc5aba43c65c49eeddf28ee41d8d35d2108 sao-6.0.9 +4b876ac37410e223bc3628256425d80398d051c6 4.8.0 +144f9950fba568bd77ac0eecd02c7b0d0a98ba87 5.0.0 +ed88584857aa1b39459a420270c0253d460cfe48 5.2.0 +ed46c63b027820aa6e605bb53040f4ed4d133813 5.4.0 +d2db68823a8225ff32842da4e948c1c01197e5cc 5.6.0 +eeab3256f17f6b9bc111d74d6d7f984e75d70f17 5.8.0 +4d33daf649c10711b782ef82b71e49d1a725ccee 6.0.0 +ed86455b7bf99bb7a18309e809adc54e6a4864d8 6.0.1 +0000000000000000000000000000000000000000 4.8.0 +4b876ac37410e223bc3628256425d80398d051c6 trytond-gis-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +144f9950fba568bd77ac0eecd02c7b0d0a98ba87 trytond-gis-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +ed88584857aa1b39459a420270c0253d460cfe48 trytond-gis-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +ed46c63b027820aa6e605bb53040f4ed4d133813 trytond-gis-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +d2db68823a8225ff32842da4e948c1c01197e5cc trytond-gis-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +eeab3256f17f6b9bc111d74d6d7f984e75d70f17 trytond-gis-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +4d33daf649c10711b782ef82b71e49d1a725ccee trytond-gis-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +ed86455b7bf99bb7a18309e809adc54e6a4864d8 trytond-gis-6.0.1 +951bb3311b916cb893adc5294cfb3216d2940169 1.0.0 +9f5ce178a7c403a0865fd4b6c1a82a911df0e998 1.2.0 +e2d31d59de7745de70199b7c340d78b7c4775723 1.4.0 +64691214959ac19983f3b3d1dbb89ff693d1545c 1.6.0 +af3a6063b46bf8739a513a06400fbb9858b5869b 1.8.0 +3475040a8fe081b1b8609350186b779cc640fba4 2.0.0 +1df3f0702c621e65279af52d1f87725747ae8fa4 2.2.0 +640af4420c8eace7ee59a432bec54692f4808b20 2.4.0 +36530840a1d0dce354bbaa58ec849a409d306d83 2.6.0 +2893d6c3efd6df3759ab09a28ea16773a160118e 2.8.0 +759c6ff44b90b8c685e9d9a4124bcd85af204649 3.0.0 +b3d84aa2c3a6ed3b76bfb58a40fc687f68824c29 3.2.0 +f0a9fa755cde703be54efd747f376b096ea8316c 3.4.0 +1e4ba5a3f16e6afd59131b49841eb004e706619d 3.6.0 +0a29a9dba7f56fbdef067772eea3f037934999c9 3.8.0 +49a0caa894dae201ed4ec707f277d9859b5521fb 4.0.0 +eb8949ec5bcedba563b5799f1315a0cecfee61f6 4.2.0 +f253ce8ed02f4c46a69b8b2f29311ad8959698be 4.4.0 +e7a6d0e8002237f624ecc8a45a6a472f7baadd08 4.6.0 +321b0104a732419c11aa4926785502e0615b89c9 4.8.0 +e8cadc044d59edff8a2ca73932c723d507517ec8 5.0.0 +ef34e4e92d45ab2b2b2956bbb6aa8b3ca259eb13 5.2.0 +32170ff46339dbc8609225791ab737a0f3eb0291 5.4.0 +5738a22adbb45390167194e4089adc46c6b638a3 5.6.0 +e21456b81972188261b8a6fc876afc18f641c85b 5.8.0 +2164597ffa5f4f0443e4804944b30f5491070990 6.0.0 +12a321529713d3e0b04fa94883baf66bddf76b75 6.0.1 +10e05cdf4fb3fcd545d8b47d03df8cfb78b38a76 6.0.2 +7b3f3676cf9d72147edcdb0cd477b77b1af7af9e 6.0.3 +68ea8ab81fc3d67e3efe925c3694644a46b7c111 6.0.4 +133f0b26de213e0b5668ae891e176de8f79025fc 6.0.5 +1719ce1a669285333424c02c9e3e45fd636b995c 6.0.6 +67fe2d478dbf413873c0919cfd5d6f3f6f4c2275 6.0.7 +ed230154446f04aed350b7fd0d416a80145645ee 6.0.8 +df3e4a189c249ff54e118a4943c03ecaab5fee60 6.0.9 +32f14e8a77caa727f2dfcec93aa15e05f45ad0b6 6.0.10 +6cb11cbdabc3b93d9698fc17653e8cb24b8154d4 6.0.11 +f34c0f0f0010e95ba38d3378f2e86d7e7a966516 6.0.12 +c1e2890b414d6d9c0bae303577fb784c8e8c715b 6.0.13 +78607bfea2986fe335c98a6ef87905cded1f5b2d 6.0.14 +26fba5237ff3ec9aed2d8aebdc1115e595e76c0b 6.0.15 +c4cf78bb401aec7d52a007eb7bda958658edaf95 6.0.16 +246ad7a2addde11a7b3e828ace36cf5fb1bc6696 6.0.17 +ca63f7f2eef1998de82eae76636c00211f0e3a80 6.0.18 +2973349bc8ca02dc5aba4fbf6a2e4ba270af9780 6.0.19 +9d5f5e04e2b0105bf4ca644bf98811d267054514 6.0.20 +221212011e95b8004c93ec76d21f5ffa12e866ee 6.0.21 +3ff41e43408ddccd4ce91170b6536a2f5cd0112b 6.0.22 +7d81a0faef794489d63fb164d0fb2ba2196c878b 6.0.23 +9b36d68c67a48a2203ef3598f5379d708781dc9e 6.0.24 +0000000000000000000000000000000000000000 1.0.0 +951bb3311b916cb893adc5294cfb3216d2940169 trytond-1.0.0 +0000000000000000000000000000000000000000 1.2.0 +9f5ce178a7c403a0865fd4b6c1a82a911df0e998 trytond-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +e2d31d59de7745de70199b7c340d78b7c4775723 trytond-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +64691214959ac19983f3b3d1dbb89ff693d1545c trytond-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +af3a6063b46bf8739a513a06400fbb9858b5869b trytond-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +3475040a8fe081b1b8609350186b779cc640fba4 trytond-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +1df3f0702c621e65279af52d1f87725747ae8fa4 trytond-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +640af4420c8eace7ee59a432bec54692f4808b20 trytond-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +36530840a1d0dce354bbaa58ec849a409d306d83 trytond-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +2893d6c3efd6df3759ab09a28ea16773a160118e trytond-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +759c6ff44b90b8c685e9d9a4124bcd85af204649 trytond-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +b3d84aa2c3a6ed3b76bfb58a40fc687f68824c29 trytond-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +f0a9fa755cde703be54efd747f376b096ea8316c trytond-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +1e4ba5a3f16e6afd59131b49841eb004e706619d trytond-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +0a29a9dba7f56fbdef067772eea3f037934999c9 trytond-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +49a0caa894dae201ed4ec707f277d9859b5521fb trytond-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +eb8949ec5bcedba563b5799f1315a0cecfee61f6 trytond-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +f253ce8ed02f4c46a69b8b2f29311ad8959698be trytond-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +e7a6d0e8002237f624ecc8a45a6a472f7baadd08 trytond-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +321b0104a732419c11aa4926785502e0615b89c9 trytond-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +e8cadc044d59edff8a2ca73932c723d507517ec8 trytond-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +ef34e4e92d45ab2b2b2956bbb6aa8b3ca259eb13 trytond-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +32170ff46339dbc8609225791ab737a0f3eb0291 trytond-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +5738a22adbb45390167194e4089adc46c6b638a3 trytond-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +e21456b81972188261b8a6fc876afc18f641c85b trytond-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +2164597ffa5f4f0443e4804944b30f5491070990 trytond-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +12a321529713d3e0b04fa94883baf66bddf76b75 trytond-6.0.1 +0000000000000000000000000000000000000000 6.0.10 +32f14e8a77caa727f2dfcec93aa15e05f45ad0b6 trytond-6.0.10 +0000000000000000000000000000000000000000 6.0.11 +6cb11cbdabc3b93d9698fc17653e8cb24b8154d4 trytond-6.0.11 +0000000000000000000000000000000000000000 6.0.12 +f34c0f0f0010e95ba38d3378f2e86d7e7a966516 trytond-6.0.12 +0000000000000000000000000000000000000000 6.0.13 +c1e2890b414d6d9c0bae303577fb784c8e8c715b trytond-6.0.13 +0000000000000000000000000000000000000000 6.0.14 +78607bfea2986fe335c98a6ef87905cded1f5b2d trytond-6.0.14 +0000000000000000000000000000000000000000 6.0.15 +26fba5237ff3ec9aed2d8aebdc1115e595e76c0b trytond-6.0.15 +0000000000000000000000000000000000000000 6.0.16 +c4cf78bb401aec7d52a007eb7bda958658edaf95 trytond-6.0.16 +0000000000000000000000000000000000000000 6.0.17 +246ad7a2addde11a7b3e828ace36cf5fb1bc6696 trytond-6.0.17 +0000000000000000000000000000000000000000 6.0.18 +ca63f7f2eef1998de82eae76636c00211f0e3a80 trytond-6.0.18 +0000000000000000000000000000000000000000 6.0.19 +2973349bc8ca02dc5aba4fbf6a2e4ba270af9780 trytond-6.0.19 +0000000000000000000000000000000000000000 6.0.2 +10e05cdf4fb3fcd545d8b47d03df8cfb78b38a76 trytond-6.0.2 +0000000000000000000000000000000000000000 6.0.20 +9d5f5e04e2b0105bf4ca644bf98811d267054514 trytond-6.0.20 +0000000000000000000000000000000000000000 6.0.21 +221212011e95b8004c93ec76d21f5ffa12e866ee trytond-6.0.21 +0000000000000000000000000000000000000000 6.0.22 +3ff41e43408ddccd4ce91170b6536a2f5cd0112b trytond-6.0.22 +0000000000000000000000000000000000000000 6.0.23 +7d81a0faef794489d63fb164d0fb2ba2196c878b trytond-6.0.23 +0000000000000000000000000000000000000000 6.0.24 +9b36d68c67a48a2203ef3598f5379d708781dc9e trytond-6.0.24 +0000000000000000000000000000000000000000 6.0.3 +7b3f3676cf9d72147edcdb0cd477b77b1af7af9e trytond-6.0.3 +0000000000000000000000000000000000000000 6.0.4 +68ea8ab81fc3d67e3efe925c3694644a46b7c111 trytond-6.0.4 +0000000000000000000000000000000000000000 6.0.5 +133f0b26de213e0b5668ae891e176de8f79025fc trytond-6.0.5 +0000000000000000000000000000000000000000 6.0.6 +1719ce1a669285333424c02c9e3e45fd636b995c trytond-6.0.6 +0000000000000000000000000000000000000000 6.0.7 +67fe2d478dbf413873c0919cfd5d6f3f6f4c2275 trytond-6.0.7 +0000000000000000000000000000000000000000 6.0.8 +ed230154446f04aed350b7fd0d416a80145645ee trytond-6.0.8 +0000000000000000000000000000000000000000 6.0.9 +df3e4a189c249ff54e118a4943c03ecaab5fee60 trytond-6.0.9 +923b3073b686c6dc5a921d0561c934adf3eeb879 1.0.0 +9a6434d63616f46520b6fa1b2be31906ff6f4f6a 1.2.0 +de84c1443d4bad908eabb99c381578b988c2117f 1.4.0 +3976912b23dfc5db2525d4c2e55d17f099d9492d 1.6.0 +8aa050da53cbdfabe1353a37da91c011b7fff549 1.8.0 +1876747b3f963ba6011b4bcf6968e681624c6e24 2.0.0 +5364f8ca6cd2cccfb5f7f39c69bb20bae2b5f495 2.2.0 +fe15da23f7333e0e90d2693aadddf6bed53ed602 2.4.0 +d069f9f1cdc3fea39e71415268582abb2b333ea1 2.6.0 +21fbf8bd36096d926c472acfecd3963369204af8 2.8.0 +9197d90b0257ec7c4576a38092fd592b3e87f7a4 3.0.0 +9721289ee2fdaab8b990de9327c3eab87363c88c 3.2.0 +8e5cba59137f9d0a063fa6d7855e09a51bc5889c 3.4.0 +1ac658605d42d82988cfb232afebfe359aba7776 3.6.0 +f4b9c8a84cf61935afec788c3c639982731452ef 3.8.0 +44d8ed92ff90cf98c4c01d37f12d344d9d66e7f1 4.0.0 +94037cff031ef897c9533a579356977c8a3cf695 4.2.0 +763dc5d8e1d7e483edbf9977dd96afc114555555 4.4.0 +d7ed5002e47249d019fbc546f6ac562db44c54f2 4.6.0 +2a2b48ea60fbb5201ea12443000d3a106a2fa27c 4.8.0 +70ade9d1fe04c734fe2dd7d35dd75b13f1af902a 5.0.0 +d5652dee45a43fccc1f33d39050af6e00e073273 5.2.0 +9f3fbb33df184ca19350cc71054dd9afd55f1cb7 5.4.0 +45d3f736ffb4396ee0dac0e2110fcc17237337ba 5.6.0 +df9de0ceeb27b38b165da7526accad0ad6682e86 5.8.0 +d18d03f0c540dfd2aae81dfaac048378a62c0ef6 6.0.0 +6cdc11292120ffb6df929721adfd738c4916a594 6.0.1 +23df79b60988e64c45be329933d803e0add7ae20 6.0.2 +5ab29a68b330847559add6204df341aeec38c223 6.0.3 +4493ce6c2dfcebde5701360689c635dbd6253d10 6.0.4 +0a8b71b80cc781e88f6a5a7467be9cdb3de50562 6.0.5 +be96d41f66a7bae727ecaf072a955ada01cd73e8 6.0.6 +0d0d910f4edfa1e493d8526dea6bc5f2ad78c30e 6.0.7 +1f7935eb899fb1ccdd363a085ba3a7a24349a3be 6.0.8 +375c664763440caa3f3ac4cdff2f694eedab7f7c 6.0.9 +a8f9ff596e3476c4fa73002524a78011b62b7fb8 6.0.10 +986c3f1e1d5ee57983adf34bf84c348abdba5b42 6.0.11 +e2cd492204aa2dd300eaaad5caca022b0114bea2 6.0.12 +1cbf7901b52d92f993ceba19357085386475c08d 6.0.13 +1474928ec1aa12d34e5fd79675bb284890bafd76 6.0.14 +0ee8d81a43a12bdd3064bcc100ef4a35ab86bfdb 6.0.15 +d1f3f6a0d5722332cddd2cb0837a266e5f5a1881 6.0.16 +dd458525c9d4c92eca991b832f06ec46a639c3a4 6.0.17 +40c3f7f6d487197698ac644ef28fa09dbce7e46a 6.0.18 +bd7b3f9a3c2f9cda09c2d5f89ed1c1f92dd78ff3 6.0.19 +4b448222df4c6c37b0223112c0c2c14f09675d34 6.0.20 +90566b9897fd57fb36e427dd7d8f2bbfa0a9ed5f 6.0.21 +0000000000000000000000000000000000000000 1.0.0 +923b3073b686c6dc5a921d0561c934adf3eeb879 tryton-1.0.0 +0000000000000000000000000000000000000000 1.2.0 +9a6434d63616f46520b6fa1b2be31906ff6f4f6a tryton-1.2.0 +0000000000000000000000000000000000000000 1.4.0 +de84c1443d4bad908eabb99c381578b988c2117f tryton-1.4.0 +0000000000000000000000000000000000000000 1.6.0 +3976912b23dfc5db2525d4c2e55d17f099d9492d tryton-1.6.0 +0000000000000000000000000000000000000000 1.8.0 +8aa050da53cbdfabe1353a37da91c011b7fff549 tryton-1.8.0 +0000000000000000000000000000000000000000 2.0.0 +1876747b3f963ba6011b4bcf6968e681624c6e24 tryton-2.0.0 +0000000000000000000000000000000000000000 2.2.0 +5364f8ca6cd2cccfb5f7f39c69bb20bae2b5f495 tryton-2.2.0 +0000000000000000000000000000000000000000 2.4.0 +fe15da23f7333e0e90d2693aadddf6bed53ed602 tryton-2.4.0 +0000000000000000000000000000000000000000 2.6.0 +d069f9f1cdc3fea39e71415268582abb2b333ea1 tryton-2.6.0 +0000000000000000000000000000000000000000 2.8.0 +21fbf8bd36096d926c472acfecd3963369204af8 tryton-2.8.0 +0000000000000000000000000000000000000000 3.0.0 +9197d90b0257ec7c4576a38092fd592b3e87f7a4 tryton-3.0.0 +0000000000000000000000000000000000000000 3.2.0 +9721289ee2fdaab8b990de9327c3eab87363c88c tryton-3.2.0 +0000000000000000000000000000000000000000 3.4.0 +8e5cba59137f9d0a063fa6d7855e09a51bc5889c tryton-3.4.0 +0000000000000000000000000000000000000000 3.6.0 +1ac658605d42d82988cfb232afebfe359aba7776 tryton-3.6.0 +0000000000000000000000000000000000000000 3.8.0 +f4b9c8a84cf61935afec788c3c639982731452ef tryton-3.8.0 +0000000000000000000000000000000000000000 4.0.0 +44d8ed92ff90cf98c4c01d37f12d344d9d66e7f1 tryton-4.0.0 +0000000000000000000000000000000000000000 4.2.0 +94037cff031ef897c9533a579356977c8a3cf695 tryton-4.2.0 +0000000000000000000000000000000000000000 4.4.0 +763dc5d8e1d7e483edbf9977dd96afc114555555 tryton-4.4.0 +0000000000000000000000000000000000000000 4.6.0 +d7ed5002e47249d019fbc546f6ac562db44c54f2 tryton-4.6.0 +0000000000000000000000000000000000000000 4.8.0 +2a2b48ea60fbb5201ea12443000d3a106a2fa27c tryton-4.8.0 +0000000000000000000000000000000000000000 5.0.0 +70ade9d1fe04c734fe2dd7d35dd75b13f1af902a tryton-5.0.0 +0000000000000000000000000000000000000000 5.2.0 +d5652dee45a43fccc1f33d39050af6e00e073273 tryton-5.2.0 +0000000000000000000000000000000000000000 5.4.0 +9f3fbb33df184ca19350cc71054dd9afd55f1cb7 tryton-5.4.0 +0000000000000000000000000000000000000000 5.6.0 +45d3f736ffb4396ee0dac0e2110fcc17237337ba tryton-5.6.0 +0000000000000000000000000000000000000000 5.8.0 +df9de0ceeb27b38b165da7526accad0ad6682e86 tryton-5.8.0 +0000000000000000000000000000000000000000 6.0.0 +d18d03f0c540dfd2aae81dfaac048378a62c0ef6 tryton-6.0.0 +0000000000000000000000000000000000000000 6.0.1 +6cdc11292120ffb6df929721adfd738c4916a594 tryton-6.0.1 +0000000000000000000000000000000000000000 6.0.10 +a8f9ff596e3476c4fa73002524a78011b62b7fb8 tryton-6.0.10 +0000000000000000000000000000000000000000 6.0.11 +986c3f1e1d5ee57983adf34bf84c348abdba5b42 tryton-6.0.11 +0000000000000000000000000000000000000000 6.0.12 +e2cd492204aa2dd300eaaad5caca022b0114bea2 tryton-6.0.12 +0000000000000000000000000000000000000000 6.0.13 +1cbf7901b52d92f993ceba19357085386475c08d tryton-6.0.13 +0000000000000000000000000000000000000000 6.0.14 +1474928ec1aa12d34e5fd79675bb284890bafd76 tryton-6.0.14 +0000000000000000000000000000000000000000 6.0.15 +0ee8d81a43a12bdd3064bcc100ef4a35ab86bfdb tryton-6.0.15 +0000000000000000000000000000000000000000 6.0.16 +d1f3f6a0d5722332cddd2cb0837a266e5f5a1881 tryton-6.0.16 +0000000000000000000000000000000000000000 6.0.17 +dd458525c9d4c92eca991b832f06ec46a639c3a4 tryton-6.0.17 +0000000000000000000000000000000000000000 6.0.18 +40c3f7f6d487197698ac644ef28fa09dbce7e46a tryton-6.0.18 +0000000000000000000000000000000000000000 6.0.19 +bd7b3f9a3c2f9cda09c2d5f89ed1c1f92dd78ff3 tryton-6.0.19 +0000000000000000000000000000000000000000 6.0.2 +23df79b60988e64c45be329933d803e0add7ae20 tryton-6.0.2 +0000000000000000000000000000000000000000 6.0.20 +4b448222df4c6c37b0223112c0c2c14f09675d34 tryton-6.0.20 +0000000000000000000000000000000000000000 6.0.21 +90566b9897fd57fb36e427dd7d8f2bbfa0a9ed5f tryton-6.0.21 +0000000000000000000000000000000000000000 6.0.3 +5ab29a68b330847559add6204df341aeec38c223 tryton-6.0.3 +0000000000000000000000000000000000000000 6.0.4 +4493ce6c2dfcebde5701360689c635dbd6253d10 tryton-6.0.4 +0000000000000000000000000000000000000000 6.0.5 +0a8b71b80cc781e88f6a5a7467be9cdb3de50562 tryton-6.0.5 +0000000000000000000000000000000000000000 6.0.6 +be96d41f66a7bae727ecaf072a955ada01cd73e8 tryton-6.0.6 +0000000000000000000000000000000000000000 6.0.7 +0d0d910f4edfa1e493d8526dea6bc5f2ad78c30e tryton-6.0.7 +0000000000000000000000000000000000000000 6.0.8 +1f7935eb899fb1ccdd363a085ba3a7a24349a3be tryton-6.0.8 +0000000000000000000000000000000000000000 6.0.9 +375c664763440caa3f3ac4cdff2f694eedab7f7c tryton-6.0.9 diff --git a/modules/sale_supply/.drone.yml b/modules/sale_supply/.drone.yml new file mode 100644 index 0000000000..2049d30a49 --- /dev/null +++ b/modules/sale_supply/.drone.yml @@ -0,0 +1,68 @@ +clone: + hg: + image: plugins/hg + environment: + - HG_SHARE_POOL=/root/.cache/hg + volumes: + - cache:/root/.cache + +pipeline: + tox: + image: ${IMAGE} + environment: + - CFLAGS=-O0 + - DB_CACHE=/cache + - TOX_TESTENV_PASSENV=CFLAGS DB_CACHE CI_BUILD_NUMBER CI_JOB_NUMBER CI_JOB_ID + - POSTGRESQL_URI=postgresql://postgres@postgresql:5432/ + commands: + - echo "[extensions]" >> /root/.hgrc + - echo "hgext.share =" >> /root/.hgrc + - echo "[share]" >> /root/.hgrc + - echo "pool = /root/.cache/hg" >> /root/.hgrc + - pip install tox + - tox -e "${TOXENV}-${DATABASE}" + volumes: + - cache:/root/.cache + check_dist: + image: ${IMAGE} + commands: + - pip install twine + - python setup.py sdist + - twine check dist/* + +services: + postgresql: + image: postgres + environment: + - POSTGRES_HOST_AUTH_METHOD=trust + command: "-c fsync=off -c synchronous_commit=off -c full_page_writes=off" + when: + matrix: + DATABASE: postgresql + +matrix: + include: + - IMAGE: python:3.6 + TOXENV: py36 + DATABASE: sqlite + - IMAGE: python:3.6 + TOXENV: py36 + DATABASE: postgresql + - IMAGE: python:3.7 + TOXENV: py37 + DATABASE: sqlite + - IMAGE: python:3.7 + TOXENV: py37 + DATABASE: postgresql + - IMAGE: python:3.8 + TOXENV: py38 + DATABASE: sqlite + - IMAGE: python:3.8 + TOXENV: py38 + DATABASE: postgresql + - IMAGE: python:3.9 + TOXENV: py39 + DATABASE: sqlite + - IMAGE: python:3.9 + TOXENV: py39 + DATABASE: postgresql diff --git a/modules/sale_supply/.flake8 b/modules/sale_supply/.flake8 new file mode 100644 index 0000000000..fa6b4f66d1 --- /dev/null +++ b/modules/sale_supply/.flake8 @@ -0,0 +1,2 @@ +[flake8] +ignore=E123,E124,E126,E128,E741,W503 diff --git a/modules/sale_supply/CHANGELOG b/modules/sale_supply/CHANGELOG new file mode 100644 index 0000000000..2c33eed749 --- /dev/null +++ b/modules/sale_supply/CHANGELOG @@ -0,0 +1,60 @@ +Version 6.0.1 - 2022-10-17 +* Bug fixes (see mercurial logs for details) + +Version 6.0.0 - 2021-05-03 +* Bug fixes (see mercurial logs for details) + +Version 5.8.0 - 2020-11-02 +* Bug fixes (see mercurial logs for details) +* Remove support for Python 3.5 + +Version 5.6.0 - 2020-05-04 +* Bug fixes (see mercurial logs for details) +* Rename purchase request state into supply state + +Version 5.4.0 - 2019-11-04 +* Bug fixes (see mercurial logs for details) + +Version 5.2.0 - 2019-05-06 +* Bug fixes (see mercurial logs for details) + +Version 5.0.0 - 2018-10-01 +* Bug fixes (see mercurial logs for details) +* Remove support for Python 2.7 + +Version 4.8.0 - 2018-04-23 +* Bug fixes (see mercurial logs for details) +* Create requests depending on the shipment method + +Version 4.6.0 - 2017-10-30 +* Bug fixes (see mercurial logs for details) + +Version 4.4.0 - 2017-05-01 +* Bug fixes (see mercurial logs for details) + +Version 4.2.0 - 2016-11-28 +* Bug fixes (see mercurial logs for details) + +Version 4.0.0 - 2016-05-02 +* Bug fixes (see mercurial logs for details) +* Add Python3 support + +Version 3.8.0 - 2015-11-02 +* Bug fixes (see mercurial logs for details) + +Version 3.6.0 - 2015-04-20 +* Bug fixes (see mercurial logs for details) +* Add support for PyPy +* Add sale supplied move to shipment in state 'staging' + +Version 3.4.0 - 2014-10-20 +* Bug fixes (see mercurial logs for details) + +Version 3.2.0 - 2014-04-21 +* Bug fixes (see mercurial logs for details) + +Version 3.0.0 - 2013-10-21 +* Bug fixes (see mercurial logs for details) + +Version 2.8.0 - 2013-04-22 +* Initial release diff --git a/modules/sale_supply/COPYRIGHT b/modules/sale_supply/COPYRIGHT new file mode 100644 index 0000000000..51a574630e --- /dev/null +++ b/modules/sale_supply/COPYRIGHT @@ -0,0 +1,15 @@ +Copyright (C) 2011-2022 Cédric Krier. +Copyright (C) 2011-2022 B2CK SPRL. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/modules/sale_supply/LICENSE b/modules/sale_supply/LICENSE new file mode 100644 index 0000000000..94a9ed024d --- /dev/null +++ b/modules/sale_supply/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/modules/sale_supply/MANIFEST.in b/modules/sale_supply/MANIFEST.in new file mode 100644 index 0000000000..e88b2348a3 --- /dev/null +++ b/modules/sale_supply/MANIFEST.in @@ -0,0 +1,5 @@ +include CHANGELOG +include COPYRIGHT +include LICENSE +include README.rst +include doc/* diff --git a/modules/sale_supply/README.rst b/modules/sale_supply/README.rst new file mode 120000 index 0000000000..176d9c2695 --- /dev/null +++ b/modules/sale_supply/README.rst @@ -0,0 +1 @@ +doc/index.rst \ No newline at end of file diff --git a/modules/sale_supply/__init__.py b/modules/sale_supply/__init__.py new file mode 100644 index 0000000000..4f28e75d7b --- /dev/null +++ b/modules/sale_supply/__init__.py @@ -0,0 +1,23 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from trytond.pool import Pool +from . import sale +from . import purchase +from . import stock +from . import product + + +def register(): + Pool.register( + sale.Sale, + sale.Line, + purchase.Request, + purchase.Purchase, + stock.ShipmentIn, + product.Template, + product.Product, + module='sale_supply', type_='model') + Pool.register( + purchase.HandlePurchaseCancellationException, + module='sale_supply', type_='wizard') diff --git a/modules/sale_supply/doc/index.rst b/modules/sale_supply/doc/index.rst new file mode 100644 index 0000000000..1716c98903 --- /dev/null +++ b/modules/sale_supply/doc/index.rst @@ -0,0 +1,13 @@ +Sale Supply Module +################## + +The Sale Supply module adds a "supply on sale option" to purchasable products. +If checked, it will generate a purchase request for each sale line of this +product regardless of the stock levels. Once the purchased products are +received they are assigned on the customer shipments. +If the purchase is cancelled the sale goes back to the default supply method. + +.. warning:: + If the shiment method is *On Invoice Paid*, the purchase request will be + created only when all the invoice lines are paid +.. diff --git a/modules/sale_supply/locale/bg.po b/modules/sale_supply/locale/bg.po new file mode 100644 index 0000000000..161ba5c273 --- /dev/null +++ b/modules/sale_supply/locale/bg.po @@ -0,0 +1,42 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Заявка за покупка" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Заявки за покупки" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Отказване" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/ca.po b/modules/sale_supply/locale/ca.po new file mode 100644 index 0000000000..774da101cf --- /dev/null +++ b/modules/sale_supply/locale/ca.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Subministra a la venda" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Subministra a la venda" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Línies de venda" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Sol·licitud de compra" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Estat subministrament" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Sol·licituds de compra" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Sol·licitat" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "Subministrat" diff --git a/modules/sale_supply/locale/cs.po b/modules/sale_supply/locale/cs.po new file mode 100644 index 0000000000..9bd68d6629 --- /dev/null +++ b/modules/sale_supply/locale/cs.po @@ -0,0 +1,40 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Purchase Requests" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/de.po b/modules/sale_supply/locale/de.po new file mode 100644 index 0000000000..73d2176759 --- /dev/null +++ b/modules/sale_supply/locale/de.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Beschaffung bei Verkauf" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Beschaffung bei Verkauf" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Verkaufspositionen" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Bestellvorschlag" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Beschaffungsstatus" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Bestellvorschläge" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Angefragt" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "Beschafft" diff --git a/modules/sale_supply/locale/es.po b/modules/sale_supply/locale/es.po new file mode 100644 index 0000000000..5850b3fc33 --- /dev/null +++ b/modules/sale_supply/locale/es.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Suministrar en la venta" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Suministra en la venta" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Líneas de venta" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Solicitud de compra" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Estado suministro" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Solicitudes de compra" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Solicitado" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "Subministrado" diff --git a/modules/sale_supply/locale/es_419.po b/modules/sale_supply/locale/es_419.po new file mode 100644 index 0000000000..69bcdc82aa --- /dev/null +++ b/modules/sale_supply/locale/es_419.po @@ -0,0 +1,40 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Solicitado" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/et.po b/modules/sale_supply/locale/et.po new file mode 100644 index 0000000000..86a322cfeb --- /dev/null +++ b/modules/sale_supply/locale/et.po @@ -0,0 +1,42 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Müügitarne" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Müügitarne" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Müügirida" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Ostupäring" + +#, fuzzy +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Müügitarne" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Ostupäringud" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Tühista" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Päritud" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/fa.po b/modules/sale_supply/locale/fa.po new file mode 100644 index 0000000000..1520a61314 --- /dev/null +++ b/modules/sale_supply/locale/fa.po @@ -0,0 +1,42 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "عرضه در فروش" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "عرضه در فروش" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "سطرهای فروش" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "درخواست خرید" + +#, fuzzy +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "عرضه در فروش" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "درخواست های خرید" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "انصراف" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "درخواست شده" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/fi.po b/modules/sale_supply/locale/fi.po new file mode 100644 index 0000000000..9bd68d6629 --- /dev/null +++ b/modules/sale_supply/locale/fi.po @@ -0,0 +1,40 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Purchase Requests" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/fr.po b/modules/sale_supply/locale/fr.po new file mode 100644 index 0000000000..a078830a7e --- /dev/null +++ b/modules/sale_supply/locale/fr.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Approvisionnement sur vente" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Approvisionnement sur vente" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Lignes de vente" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Demande d'achat" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "État d'approvisionnement" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Demandes d'achat" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Annulé" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Demandé" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "Approvisionné" diff --git a/modules/sale_supply/locale/hu.po b/modules/sale_supply/locale/hu.po new file mode 100644 index 0000000000..8c7f80a451 --- /dev/null +++ b/modules/sale_supply/locale/hu.po @@ -0,0 +1,41 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Purchase Requests" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Mégse" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/id.po b/modules/sale_supply/locale/id.po new file mode 100644 index 0000000000..9ddc29749b --- /dev/null +++ b/modules/sale_supply/locale/id.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Dibatalkan" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/it.po b/modules/sale_supply/locale/it.po new file mode 100644 index 0000000000..ca758d7414 --- /dev/null +++ b/modules/sale_supply/locale/it.po @@ -0,0 +1,43 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "forniture in vendita" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "forniture in vendita" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "richiesta di acquisto" + +#, fuzzy +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "forniture in vendita" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "annulla" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Richiesto" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/lo.po b/modules/sale_supply/locale/lo.po new file mode 100644 index 0000000000..0e2a4a5007 --- /dev/null +++ b/modules/sale_supply/locale/lo.po @@ -0,0 +1,43 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "ສະໜອງການຂາຍ" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "ສະໜອງການຂາຍ" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "ລາຍການຂາຍ" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "ຕ້ອງການສັ່ງຊື້" + +#, fuzzy +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "ສະໜອງການຂາຍ" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "ຍົກເລີກ" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "ສັ່ງແລ້ວ" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/lt.po b/modules/sale_supply/locale/lt.po new file mode 100644 index 0000000000..9bd68d6629 --- /dev/null +++ b/modules/sale_supply/locale/lt.po @@ -0,0 +1,40 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Purchase Requests" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/nl.po b/modules/sale_supply/locale/nl.po new file mode 100644 index 0000000000..77cc91b5cc --- /dev/null +++ b/modules/sale_supply/locale/nl.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Levering in de uitverkoop" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Levering in de uitverkoop" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Verkooplijnen" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Aankoopverzoek" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Staat van levering" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Aankoopverzoeken" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Aangevraagd" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "Geleverde" diff --git a/modules/sale_supply/locale/pl.po b/modules/sale_supply/locale/pl.po new file mode 100644 index 0000000000..41b691bf2a --- /dev/null +++ b/modules/sale_supply/locale/pl.po @@ -0,0 +1,42 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Wiersze sprzedaży" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Purchase Requests" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Anuluj" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/pt.po b/modules/sale_supply/locale/pt.po new file mode 100644 index 0000000000..ab69bcde49 --- /dev/null +++ b/modules/sale_supply/locale/pt.po @@ -0,0 +1,43 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Abastecimento Na Venda" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Abastecimento Na Venda" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Linhas de Venda" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Pedido de Compra" + +#, fuzzy +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Abastecimento Na Venda" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Cancelar" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Solicitado" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/ro.po b/modules/sale_supply/locale/ro.po new file mode 100644 index 0000000000..a15443918e --- /dev/null +++ b/modules/sale_supply/locale/ro.po @@ -0,0 +1,39 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/ru.po b/modules/sale_supply/locale/ru.po new file mode 100644 index 0000000000..8dc0491029 --- /dev/null +++ b/modules/sale_supply/locale/ru.po @@ -0,0 +1,42 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Запрос на покупку" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Запросы на покупку" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Отменить" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/sl.po b/modules/sale_supply/locale/sl.po new file mode 100644 index 0000000000..4d68b89acb --- /dev/null +++ b/modules/sale_supply/locale/sl.po @@ -0,0 +1,43 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Dobava ob prodaji" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Dobava ob prodaji" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Prodajne postavke" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Nabavni zahtevek" + +#, fuzzy +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Dobava ob prodaji" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Preklicano" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Zahtevano" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/tr.po b/modules/sale_supply/locale/tr.po new file mode 100644 index 0000000000..ba4e0c62a0 --- /dev/null +++ b/modules/sale_supply/locale/tr.po @@ -0,0 +1,46 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +#, fuzzy +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Satış Tedariği" + +#, fuzzy +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "Satış Tedariği" + +#, fuzzy +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "Satış Kanalları" + +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Satınalma Talebi" + +#, fuzzy +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "Satış Tedariği" + +#, fuzzy +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "Purchase Requests" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "Vazgeç" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "Talep Edilen" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/locale/zh_CN.po b/modules/sale_supply/locale/zh_CN.po new file mode 100644 index 0000000000..54ab620499 --- /dev/null +++ b/modules/sale_supply/locale/zh_CN.po @@ -0,0 +1,41 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:product.product,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:product.template,supply_on_sale:" +msgid "Supply On Sale" +msgstr "" + +msgctxt "field:purchase.request,sale_lines:" +msgid "Sale Lines" +msgstr "" + +#, fuzzy +msgctxt "field:sale.line,purchase_request:" +msgid "Purchase Request" +msgstr "Purchase Requests" + +msgctxt "field:sale.line,supply_state:" +msgid "Supply State" +msgstr "" + +msgctxt "model:ir.action,name:act_purchase_request_form" +msgid "Purchase Requests" +msgstr "采购申请" + +#, fuzzy +msgctxt "selection:sale.line,supply_state:" +msgid "Cancelled" +msgstr "取消" + +msgctxt "selection:sale.line,supply_state:" +msgid "Requested" +msgstr "" + +msgctxt "selection:sale.line,supply_state:" +msgid "Supplied" +msgstr "" diff --git a/modules/sale_supply/product.py b/modules/sale_supply/product.py new file mode 100644 index 0000000000..b55c829008 --- /dev/null +++ b/modules/sale_supply/product.py @@ -0,0 +1,19 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.model import fields +from trytond.pool import PoolMeta +from trytond.pyson import Eval + + +class Template(metaclass=PoolMeta): + __name__ = 'product.template' + + supply_on_sale = fields.Boolean('Supply On Sale', + states={ + 'invisible': ~Eval('purchasable') | ~Eval('salable'), + }, + depends=['purchasable', 'salable']) + + +class Product(metaclass=PoolMeta): + __name__ = 'product.product' diff --git a/modules/sale_supply/product.xml b/modules/sale_supply/product.xml new file mode 100644 index 0000000000..70184cd889 --- /dev/null +++ b/modules/sale_supply/product.xml @@ -0,0 +1,12 @@ + + + + + + product.template + + template_form + + + diff --git a/modules/sale_supply/purchase.py b/modules/sale_supply/purchase.py new file mode 100644 index 0000000000..777a73cb2b --- /dev/null +++ b/modules/sale_supply/purchase.py @@ -0,0 +1,99 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from functools import wraps + +from trytond.model import ModelView, Workflow, fields +from trytond.pool import Pool, PoolMeta +from trytond.transaction import Transaction +from trytond.tools import grouped_slice + + +class Request(metaclass=PoolMeta): + __name__ = 'purchase.request' + + sale_lines = fields.One2Many( + 'sale.line', 'purchase_request', "Sale Lines", readonly=True) + + @classmethod + def _get_origin(cls): + return super()._get_origin() | {'sale.sale'} + + @classmethod + def delete(cls, requests): + pool = Pool() + Sale = pool.get('sale.sale') + SaleLine = pool.get('sale.line') + + with Transaction().set_context(_check_access=False): + reqs = cls.browse(requests) + sales = set(r.origin for r in reqs if isinstance(r.origin, Sale)) + sale_lines = [l for r in reqs for l in r.sale_lines] + if sale_lines: + SaleLine.write(sale_lines, { + 'purchase_request': None, + }) + + super().delete(requests) + + if sales: + Sale.__queue__.process(sales) + + +def process_sale_supply(func): + @wraps(func) + def wrapper(cls, purchases): + pool = Pool() + Request = pool.get('purchase.request') + Sale = pool.get('sale.sale') + + sales = set() + with Transaction().set_context(_check_access=False): + for sub_purchases in grouped_slice(purchases): + ids = [x.id for x in sub_purchases] + requests = Request.search([ + ('purchase_line.purchase.id', 'in', ids), + ('origin', 'like', 'sale.sale,%'), + ]) + sales.update(r.origin.id for r in requests) + func(cls, purchases) + if sales: + Sale.__queue__.process(sales) + return wrapper + + +class Purchase(metaclass=PoolMeta): + __name__ = 'purchase.purchase' + + @classmethod + @ModelView.button + @process_sale_supply + def process(cls, purchases): + super(Purchase, cls).process(purchases) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + @process_sale_supply + def cancel(cls, purchases): + super(Purchase, cls).cancel(purchases) + + +class HandlePurchaseCancellationException(metaclass=PoolMeta): + __name__ = 'purchase.request.handle.purchase.cancellation' + + def transition_cancel_request(self): + pool = Pool() + SaleLine = pool.get('sale.line') + Move = pool.get('stock.move') + + next_state = super(HandlePurchaseCancellationException, + self).transition_cancel_request() + moves = [] + for sub_ids in grouped_slice(list(map(int, self.records))): + sale_lines = SaleLine.search([ + ('purchase_request', 'in', sub_ids), + ]) + moves += [m for line in sale_lines for m in line.moves] + if moves: + Move.cancel(moves) + return next_state diff --git a/modules/sale_supply/sale.py b/modules/sale_supply/sale.py new file mode 100644 index 0000000000..11ddf8960f --- /dev/null +++ b/modules/sale_supply/sale.py @@ -0,0 +1,259 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.model import Model, fields +from trytond.pool import Pool, PoolMeta +from trytond.pyson import Eval +from trytond.transaction import Transaction + + +class Sale(metaclass=PoolMeta): + __name__ = 'sale.sale' + + def is_done(self): + done = super(Sale, self).is_done() + if done: + if any(l.supply_state in {'', 'requested'} + for l in self.lines if l.supply_on_sale): + return False + return done + + def create_shipment(self, shipment_type): + if shipment_type == 'out': + # purchase requests must be created before shipments to get + # information about requests during the shipments creation + # like the supplier + self.create_purchase_requests() + self.create_move_from_supply() + shipments = super(Sale, self).create_shipment(shipment_type) + return shipments + + def create_purchase_requests(self): + pool = Pool() + PurchaseRequest = pool.get('purchase.request') + Line = pool.get('sale.line') + requests = [] + lines = [] + for line in self.lines: + request = line.get_purchase_request() + if not request: + continue + requests.append(request) + assert not line.purchase_request + line.purchase_request = request + lines.append(line) + PurchaseRequest.save(requests) + Line.save(lines) + + def create_move_from_supply(self): + 'Set to draft move linked to supply' + pool = Pool() + Move = pool.get('stock.move') + ShipmentOut = pool.get('stock.shipment.out') + + moves = [] + for line in self.lines: + if line.supply_state in {'supplied', 'cancelled'}: + for move in line.moves: + if move.state == 'staging': + moves.append(move) + Move.draft(moves) + shipments = {m.shipment for m in moves + if isinstance(m.shipment, ShipmentOut)} + ShipmentOut.wait(shipments) + + +class Line(metaclass=PoolMeta): + __name__ = 'sale.line' + + purchase_request = fields.Many2One('purchase.request', 'Purchase Request', + ondelete='SET NULL', readonly=True) + supply_state = fields.Function(fields.Selection([ + ('', ""), + ('requested', "Requested"), + ('supplied', "Supplied"), + ('cancelled', "Cancelled"), + ], "Supply State", + states={ + 'invisible': ~Eval('supply_state'), + }), 'get_supply_state') + + @property + def has_supply(self): + return bool(self.purchase_request) + + def get_supply_state(self, name): + if self.purchase_request is not None: + purchase_line = self.purchase_request.purchase_line + if purchase_line is not None: + purchase = purchase_line.purchase + if purchase.state == 'cancelled': + return 'cancelled' + elif purchase.state in ('processing', 'done'): + return 'supplied' + return 'requested' + return '' + + @classmethod + def copy(cls, lines, default=None): + if default is None: + default = {} + else: + default = default.copy() + default.setdefault('purchase_request', None) + return super().copy(lines, default=default) + + @property + def supply_on_sale(self): + "Returns True if the sale line has to be supply by purchase request" + if (self.type != 'line' + or self.sale.shipment_method == 'manual' + or not self.product + or self.quantity <= 0 + or any(m.state not in ['staging', 'cancelled'] + for m in self.moves)): + return False + return self.product.supply_on_sale + + def get_move(self, shipment_type): + move = super().get_move(shipment_type) + if (move + and shipment_type == 'out' + and (self.supply_on_sale or self.has_supply)): + if self.supply_state in {'', 'requested'}: + move.state = 'staging' + return move + + def _get_purchase_request_product_supplier_pattern(self): + return { + 'company': self.sale.company.id, + } + + def get_purchase_request(self): + 'Return purchase request for the sale line' + pool = Pool() + Uom = pool.get('product.uom') + Request = pool.get('purchase.request') + + if (not self.supply_on_sale + or self.purchase_request + or not self.product.purchasable): + return + + # Ensure to create the request for the maximum paid + if self.sale.shipment_method == 'invoice': + invoice_skips = (set(self.sale.invoices_ignored) + | set(self.sale.invoices_recreated)) + invoice_lines = [l for l in self.invoice_lines + if l.invoice not in invoice_skips] + if (not invoice_lines + or any((not l.invoice) or l.invoice.state != 'paid' + for l in invoice_lines)): + return + + product = self.product + supplier, purchase_date = Request.find_best_supplier(product, + self.shipping_date, + **self._get_purchase_request_product_supplier_pattern()) + uom = product.purchase_uom or product.default_uom + quantity = self._get_move_quantity('out') + quantity = Uom.compute_qty(self.unit, quantity, uom) + return Request( + product=product, + party=supplier, + quantity=quantity, + uom=uom, + computed_quantity=quantity, + computed_uom=uom, + purchase_date=purchase_date, + supply_date=self.shipping_date, + company=self.sale.company, + warehouse=self.warehouse, + origin=self.sale, + ) + + def assign_supplied(self, quantities, grouping=('product',)): + ''' + Assign supplied move + + location_quantities will be updated according to assigned + quantities. + ''' + pool = Pool() + Uom = pool.get('product.uom') + Move = pool.get('stock.move') + + if self.supply_state != 'supplied': + return + + def get_key(move, location_id): + key = (location_id,) + for field in grouping: + value = getattr(move, field) + if isinstance(value, Model): + value = value.id + key += (value,) + return key + + def get_values(key, location_name): + yield location_name, key[0] + for field, value in zip(grouping, key[1:]): + if value is not None and '.' not in field: + yield field, value + + def match(key, pattern): + for k, p in zip(key, pattern): + if p is None or k == p: + continue + else: + return False + else: + return True + + moves = set() + for move in self.moves: + if move.shipment: + for inv_move in move.shipment.inventory_moves: + if inv_move.product.id == self.product.id: + moves.add(inv_move) + to_write = [] + to_assign = [] + for move in moves: + if move.state != 'draft': + continue + qties_converted = [] + for key, quantity in quantities.items(): + move_key = get_key(move, key[0]) + if match(key, move_key): + qty = Uom.compute_qty( + move.product.default_uom, quantity, move.uom, + round=False) + qties_converted.append((key, qty)) + to_pick = move.pick_product(qties_converted) + + picked_qties = sum(qty for _, qty in to_pick) + if picked_qties < move.quantity: + first = False + Move.write([move], { + 'quantity': move.quantity - picked_qties, + }) + else: + first = True + for key, qty in to_pick: + values = dict(get_values(key, 'from_location')) + values['quantity'] = move.uom.round(qty) + if first: + to_write.extend([[move], values]) + to_assign.append(move) + first = False + else: + with Transaction().set_context(_stock_move_split=True): + to_assign.extend(Move.copy([move], default=values)) + + qty_default_uom = Uom.compute_qty(move.uom, qty, + move.product.default_uom, round=False) + + quantities[key] -= qty_default_uom + if to_write: + Move.write(*to_write) + if to_assign: + Move.assign(to_assign) diff --git a/modules/sale_supply/sale.xml b/modules/sale_supply/sale.xml new file mode 100644 index 0000000000..334a6cb609 --- /dev/null +++ b/modules/sale_supply/sale.xml @@ -0,0 +1,36 @@ + + + + + + sale.line + + sale_line_form + + + + Purchase Requests + purchase.request + + + + form_relate + sale.sale,-1 + + + + + + + + + + + + diff --git a/modules/sale_supply/setup.py b/modules/sale_supply/setup.py new file mode 100755 index 0000000000..ae82a40eec --- /dev/null +++ b/modules/sale_supply/setup.py @@ -0,0 +1,149 @@ +#!/usr/bin/env python3 +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import io +import os +import re +from configparser import ConfigParser +from setuptools import setup, find_packages + + +def read(fname): + return io.open( + os.path.join(os.path.dirname(__file__), fname), + 'r', encoding='utf-8').read() + + +def get_require_version(name): + if minor_version % 2: + require = '%s >= %s.%s.dev0, < %s.%s' + else: + require = '%s >= %s.%s, < %s.%s' + require %= (name, major_version, minor_version, + major_version, minor_version + 1) + return require + + +config = ConfigParser() +config.read_file(open(os.path.join(os.path.dirname(__file__), 'tryton.cfg'))) +info = dict(config.items('tryton')) +for key in ('depends', 'extras_depend', 'xml'): + if key in info: + info[key] = info[key].strip().splitlines() +version = info.get('version', '0.0.1') +major_version, minor_version, _ = version.split('.', 2) +major_version = int(major_version) +minor_version = int(minor_version) +name = 'trytond_sale_supply' + +download_url = 'http://downloads.tryton.org/%s.%s/' % ( + major_version, minor_version) +if minor_version % 2: + version = '%s.%s.dev0' % (major_version, minor_version) + download_url = ( + 'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % ( + name[8:], name, version)) +local_version = [] +if os.environ.get('CI_JOB_ID'): + local_version.append(os.environ['CI_JOB_ID']) +else: + for build in ['CI_BUILD_NUMBER', 'CI_JOB_NUMBER']: + if os.environ.get(build): + local_version.append(os.environ[build]) + else: + local_version = [] + break +if local_version: + version += '+' + '.'.join(local_version) + +requires = [] +for dep in info.get('depends', []): + if not re.match(r'(ir|res)(\W|$)', dep): + requires.append(get_require_version('trytond_%s' % dep)) +requires.append(get_require_version('trytond')) + +tests_require = [get_require_version('proteus')] +dependency_links = [] +if minor_version % 2: + dependency_links.append( + 'https://trydevpi.tryton.org/?local_version=' + + '.'.join(local_version)) + +setup(name=name, + version=version, + description='Tryton module for sale supply', + long_description=read('README.rst'), + author='Tryton', + author_email='bugs@tryton.org', + url='http://www.tryton.org/', + download_url=download_url, + project_urls={ + "Bug Tracker": 'https://bugs.tryton.org/', + "Documentation": 'https://docs.tryton.org/', + "Forum": 'https://www.tryton.org/forum', + "Source Code": 'https://hg.tryton.org/modules/sale_supply', + }, + keywords='tryton sale supply', + package_dir={'trytond.modules.sale_supply': '.'}, + packages=( + ['trytond.modules.sale_supply'] + + ['trytond.modules.sale_supply.%s' % p for p in find_packages()] + ), + package_data={ + 'trytond.modules.sale_supply': (info.get('xml', []) + + ['tryton.cfg', 'view/*.xml', 'locale/*.po', 'tests/*.rst']), + }, + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Environment :: Plugins', + 'Framework :: Tryton', + 'Intended Audience :: Developers', + 'Intended Audience :: Financial and Insurance Industry', + 'Intended Audience :: Legal Industry', + 'License :: OSI Approved :: ' + 'GNU General Public License v3 or later (GPLv3+)', + 'Natural Language :: Bulgarian', + 'Natural Language :: Catalan', + 'Natural Language :: Chinese (Simplified)', + 'Natural Language :: Czech', + 'Natural Language :: Dutch', + 'Natural Language :: English', + 'Natural Language :: Finnish', + 'Natural Language :: French', + 'Natural Language :: German', + 'Natural Language :: Hungarian', + 'Natural Language :: Indonesian', + 'Natural Language :: Italian', + 'Natural Language :: Persian', + 'Natural Language :: Polish', + 'Natural Language :: Portuguese (Brazilian)', + 'Natural Language :: Romanian', + 'Natural Language :: Russian', + 'Natural Language :: Slovenian', + 'Natural Language :: Spanish', + 'Natural Language :: Turkish', + 'Operating System :: OS Independent', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: Implementation :: CPython', + 'Programming Language :: Python :: Implementation :: PyPy', + 'Topic :: Office/Business', + 'Topic :: Office/Business :: Financial :: Accounting', + ], + license='GPL-3', + python_requires='>=3.6', + install_requires=requires, + dependency_links=dependency_links, + zip_safe=False, + entry_points=""" + [trytond.modules] + sale_supply = trytond.modules.sale_supply + """, + test_suite='tests', + test_loader='trytond.test_loader:Loader', + tests_require=tests_require, + ) diff --git a/modules/sale_supply/stock.py b/modules/sale_supply/stock.py new file mode 100644 index 0000000000..4d2494489b --- /dev/null +++ b/modules/sale_supply/stock.py @@ -0,0 +1,54 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from collections import defaultdict + +from trytond.model import Model, ModelView, Workflow +from trytond.pool import Pool, PoolMeta + + +class ShipmentIn(metaclass=PoolMeta): + __name__ = 'stock.shipment.in' + + @classmethod + @ModelView.button + @Workflow.transition('done') + def done(cls, shipments): + super(ShipmentIn, cls).done(shipments) + + # Assigned sale move lines + for shipment in shipments: + shipment.assign_supplied() + + def assign_supplied(self, grouping=('product',), filter_=None): + pool = Pool() + SaleLine = pool.get('sale.line') + + def filter_func(move): + if filter_ is None: + return True + for fieldname, values in filter_: + value = getattr(move, fieldname) + if isinstance(value, Model): + value = value.id + if value not in values: + return False + + def get_key(move): + key = (move.to_location.id,) + for field in grouping: + value = getattr(move, field) + if isinstance(value, Model): + value = value.id + key += (value,) + return key + move_ids = [m.id for m in filter(filter_func, self.incoming_moves)] + sale_lines = SaleLine.search([ + ('purchase_request.purchase_line.moves', 'in', move_ids), + ('purchase_request.origin', 'like', 'sale.sale,%'), + ]) + pbl = defaultdict(lambda: defaultdict(int)) + for move in filter(filter_func, self.inventory_moves): + pbl[move.product][get_key(move)] += move.internal_quantity + for sale_line in sale_lines: + sale_line.assign_supplied( + pbl[sale_line.product], grouping=grouping) diff --git a/modules/sale_supply/tests/__init__.py b/modules/sale_supply/tests/__init__.py new file mode 100644 index 0000000000..140c68bcb1 --- /dev/null +++ b/modules/sale_supply/tests/__init__.py @@ -0,0 +1,9 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +try: + from trytond.modules.sale_supply.tests.test_sale_supply import suite +except ImportError: + from .test_sale_supply import suite + +__all__ = ['suite'] diff --git a/modules/sale_supply/tests/scenario_sale_supply.rst b/modules/sale_supply/tests/scenario_sale_supply.rst new file mode 100644 index 0000000000..f1b90c979a --- /dev/null +++ b/modules/sale_supply/tests/scenario_sale_supply.rst @@ -0,0 +1,261 @@ +==================== +Sale Supply Scenario +==================== + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules, set_user + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> from trytond.modules.account.tests.tools import create_fiscalyear, \ + ... create_chart, get_accounts + >>> from trytond.modules.account_invoice.tests.tools import \ + ... set_fiscalyear_invoice_sequences, create_payment_term + >>> today = datetime.date.today() + +Activate modules:: + + >>> config = activate_modules(['sale_supply', 'sale', 'purchase']) + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create sale user:: + + >>> User = Model.get('res.user') + >>> Group = Model.get('res.group') + >>> admin_user, = User.find([('login', '=', 'admin')]) + >>> sale_user = User() + >>> sale_user.name = 'Sale' + >>> sale_user.login = 'sale' + >>> sale_group, = Group.find([('name', '=', 'Sales')]) + >>> sale_user.groups.append(sale_group) + >>> sale_user.save() + +Create purchase user:: + + >>> purchase_user = User() + >>> purchase_user.name = 'Purchase' + >>> purchase_user.login = 'purchase' + >>> purchase_group, = Group.find([('name', '=', 'Purchase')]) + >>> purchase_user.groups.append(purchase_group) + >>> purchase_request_group, = Group.find( + ... [('name', '=', 'Purchase Request')]) + >>> purchase_user.groups.append(purchase_request_group) + >>> purchase_user.save() + +Create stock user:: + + >>> stock_user = User() + >>> stock_user.name = 'Stock' + >>> stock_user.login = 'stock' + >>> stock_group, = Group.find([('name', '=', 'Stock')]) + >>> stock_user.groups.append(stock_group) + >>> stock_user.save() + +Create fiscal year:: + + >>> fiscalyear = set_fiscalyear_invoice_sequences( + ... create_fiscalyear(company)) + >>> fiscalyear.click('create_period') + +Create chart of accounts:: + + >>> _ = create_chart(company) + >>> accounts = get_accounts(company) + >>> revenue = accounts['revenue'] + >>> expense = accounts['expense'] + +Create parties:: + + >>> Party = Model.get('party.party') + >>> supplier = Party(name='Supplier') + >>> supplier.save() + >>> customer = Party(name='Customer') + >>> customer.save() + +Create account category:: + + >>> ProductCategory = Model.get('product.category') + >>> account_category = ProductCategory(name="Account Category") + >>> account_category.accounting = True + >>> account_category.account_expense = expense + >>> account_category.account_revenue = revenue + >>> account_category.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> ProductTemplate = Model.get('product.template') + + >>> template = ProductTemplate() + >>> template.name = 'product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.purchasable = True + >>> template.salable = True + >>> template.list_price = Decimal('10') + >>> template.supply_on_sale = True + >>> template.account_category = account_category + >>> template.save() + >>> product, = template.products + +Create payment term:: + + >>> payment_term = create_payment_term() + >>> payment_term.save() + +Sale 250 products:: + + >>> set_user(sale_user) + >>> Sale = Model.get('sale.sale') + >>> sale = Sale() + >>> sale.party = customer + >>> sale.payment_term = payment_term + >>> sale_line = sale.lines.new() + >>> sale_line.product = product + >>> sale_line.quantity = 250 + >>> sale.click('quote') + >>> sale.click('confirm') + >>> sale.state + 'processing' + >>> shipment, = sale.shipments + >>> move, = shipment.outgoing_moves + >>> move.state + 'staging' + >>> move, = shipment.inventory_moves + >>> move.state + 'staging' + +Delete Purchase Request:: + + >>> set_user(purchase_user) + >>> PurchaseRequest = Model.get('purchase.request') + >>> purchase_request, = PurchaseRequest.find() + >>> purchase_request.quantity + 250.0 + >>> purchase_request.delete() + >>> purchase_request, = PurchaseRequest.find() + >>> purchase_request.quantity + 250.0 + +Create Purchase from Request:: + + >>> set_user(purchase_user) + >>> Purchase = Model.get('purchase.purchase') + >>> purchase_request, = PurchaseRequest.find() + >>> purchase_request.quantity + 250.0 + >>> create_purchase = Wizard('purchase.request.create_purchase', + ... [purchase_request]) + >>> create_purchase.form.party = supplier + >>> create_purchase.execute('start') + >>> purchase, = Purchase.find() + >>> purchase.payment_term = payment_term + >>> purchase.click('quote') + >>> purchase.click('confirm') + >>> purchase.state + 'processing' + >>> set_user(sale_user) + >>> sale.reload() + >>> shipment, = sale.shipments + >>> move, = shipment.outgoing_moves + >>> move.state + 'draft' + >>> move, = shipment.inventory_moves + >>> move.state + 'draft' + +Receive 100 products:: + + >>> set_user(stock_user) + >>> ShipmentIn = Model.get('stock.shipment.in') + >>> Move = Model.get('stock.move') + >>> shipment = ShipmentIn(supplier=supplier) + >>> move, = shipment.incoming_moves.find() + >>> shipment.incoming_moves.append(move) + >>> move.quantity = 100 + >>> shipment.click('receive') + >>> shipment.click('done') + >>> shipment.state + 'done' + >>> set_user(sale_user) + >>> sale.reload() + >>> shipment, = sale.shipments + >>> move, = [x for x in shipment.inventory_moves + ... if x.state == 'assigned'] + >>> move.quantity + 100.0 + >>> move, = [x for x in shipment.inventory_moves + ... if x.state == 'draft'] + >>> move.quantity + 150.0 + +Switching from not supplying on sale to supplying on sale for product should +not create a new purchase request:: + + >>> set_user(admin_user) + + >>> changing_template = ProductTemplate() + >>> changing_template.name = 'product' + >>> changing_template.default_uom = unit + >>> changing_template.type = 'goods' + >>> changing_template.purchasable = True + >>> changing_template.salable = True + >>> changing_template.list_price = Decimal('10') + >>> changing_template.account_category = account_category + >>> changing_template.supply_on_sale = False + >>> changing_template.save() + >>> changing_product, = changing_template.products + + >>> set_user(sale_user) + >>> Sale = Model.get('sale.sale') + >>> sale = Sale() + >>> sale.party = customer + >>> sale.payment_term = payment_term + >>> sale_line = sale.lines.new() + >>> sale_line.product = changing_product + >>> sale_line.quantity = 100 + >>> sale.click('quote') + >>> sale.click('confirm') + >>> sale.state + 'processing' + >>> shipment, = sale.shipments + >>> set_user(stock_user) + >>> Inventory = Model.get('stock.inventory') + >>> Location = Model.get('stock.location') + >>> storage, = Location.find([ + ... ('code', '=', 'STO'), + ... ]) + >>> inventory = Inventory() + >>> inventory.location = storage + >>> inventory.save() + >>> inventory_line = inventory.lines.new() + >>> inventory_line.product = changing_product + >>> inventory_line.quantity = 100.0 + >>> inventory_line.expected_quantity = 0.0 + >>> inventory.save() + >>> inventory.click('confirm') + >>> inventory.state + 'done' + >>> shipment.click('assign_try') + True + >>> shipment.click('pick') + >>> shipment.click('pack') + + >>> set_user(admin_user) + >>> changing_template.supply_on_sale = True + >>> changing_template.save() + + >>> set_user(stock_user) + >>> shipment.click('done') + >>> set_user(purchase_user) + >>> len(PurchaseRequest.find([('product', '=', changing_product.id)])) + 0 diff --git a/modules/sale_supply/tests/scenario_sale_supply_shipment_on_invoice.rst b/modules/sale_supply/tests/scenario_sale_supply_shipment_on_invoice.rst new file mode 100644 index 0000000000..67349f3484 --- /dev/null +++ b/modules/sale_supply/tests/scenario_sale_supply_shipment_on_invoice.rst @@ -0,0 +1,130 @@ +============================================= +Sale Supply with Shipment on Invoice Scenario +============================================= + +Imports:: + + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> from trytond.modules.account.tests.tools import create_fiscalyear, \ + ... create_chart, get_accounts + >>> from trytond.modules.account_invoice.tests.tools import \ + ... set_fiscalyear_invoice_sequences, create_payment_term + +Activate modules:: + + >>> config = activate_modules('sale_supply') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create fiscal year:: + + >>> fiscalyear = set_fiscalyear_invoice_sequences( + ... create_fiscalyear(company)) + >>> fiscalyear.click('create_period') + +Create chart of accounts:: + + >>> _ = create_chart(company) + >>> accounts = get_accounts(company) + + >>> Journal = Model.get('account.journal') + >>> PaymentMethod = Model.get('account.invoice.payment.method') + >>> cash_journal, = Journal.find([('type', '=', 'cash')]) + >>> cash_journal.save() + >>> payment_method = PaymentMethod() + >>> payment_method.name = 'Cash' + >>> payment_method.journal = cash_journal + >>> payment_method.credit_account = accounts['cash'] + >>> payment_method.debit_account = accounts['cash'] + >>> payment_method.save() + +Create parties:: + + >>> Party = Model.get('party.party') + >>> customer = Party(name='Customer') + >>> customer.save() + +Create account category:: + + >>> ProductCategory = Model.get('product.category') + >>> account_category = ProductCategory(name="Account Category") + >>> account_category.accounting = True + >>> account_category.account_expense = accounts['expense'] + >>> account_category.account_revenue = accounts['revenue'] + >>> account_category.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> ProductTemplate = Model.get('product.template') + + >>> template = ProductTemplate() + >>> template.name = 'product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.salable = True + >>> template.purchasable = True + >>> template.list_price = Decimal('10') + >>> template.supply_on_sale = True + >>> template.account_category = account_category + >>> template.save() + >>> product, = template.products + +Sale 5 products with shipment method on invoice:: + + >>> Sale = Model.get('sale.sale') + >>> sale = Sale() + >>> sale.party = customer + >>> sale.shipment_method = 'invoice' + >>> sale_line = sale.lines.new() + >>> sale_line.product = product + >>> sale_line.quantity = 5 + >>> sale.click('quote') + >>> sale.click('confirm') + >>> sale.click('process') + >>> sale.state + 'processing' + >>> len(sale.shipments) + 0 + >>> invoice, = sale.invoices + >>> sale_line, = sale.lines + >>> sale_line.purchase_request + +Pay for 4 products:: + + >>> invoice_line, = invoice.lines + >>> invoice_line.quantity = 4 + >>> invoice.click('post') + >>> pay = Wizard('account.invoice.pay', [invoice]) + >>> pay.form.payment_method = payment_method + >>> pay.execute('choice') + +Not yet a purchase request:: + + >>> sale_line.reload() + >>> sale_line.purchase_request + +Pay for remaining products:: + + >>> sale.reload() + >>> _, invoice = sale.invoices + >>> invoice.click('post') + >>> pay = Wizard('account.invoice.pay', [invoice]) + >>> pay.form.payment_method = payment_method + >>> pay.execute('choice') + +Check purchase request:: + + >>> sale_line.reload() + >>> bool(sale_line.purchase_request) + True + >>> sale_line.purchase_request.quantity + 5.0 diff --git a/modules/sale_supply/tests/test_sale_supply.py b/modules/sale_supply/tests/test_sale_supply.py new file mode 100644 index 0000000000..015b13389c --- /dev/null +++ b/modules/sale_supply/tests/test_sale_supply.py @@ -0,0 +1,29 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import unittest +import doctest +import trytond.tests.test_tryton +from trytond.tests.test_tryton import ModuleTestCase +from trytond.tests.test_tryton import doctest_teardown +from trytond.tests.test_tryton import doctest_checker + + +class SaleSupplyTestCase(ModuleTestCase): + 'Test SaleSupply module' + module = 'sale_supply' + + +def suite(): + suite = trytond.tests.test_tryton.suite() + suite.addTests(unittest.TestLoader().loadTestsFromTestCase( + SaleSupplyTestCase)) + suite.addTests(doctest.DocFileSuite('scenario_sale_supply.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_sale_supply_shipment_on_invoice.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + return suite diff --git a/modules/sale_supply/tox.ini b/modules/sale_supply/tox.ini new file mode 100644 index 0000000000..197496c0cb --- /dev/null +++ b/modules/sale_supply/tox.ini @@ -0,0 +1,15 @@ +[tox] +envlist = {py36,py37,py38,py39}-{sqlite,postgresql},pypy3-{sqlite,postgresql} + +[testenv] +commands = {envpython} setup.py test +deps = + {py36,py37,py38,py39}-postgresql: psycopg2 >= 2.5 + pypy3-postgresql: psycopg2cffi >= 2.5 + py36-sqlite: sqlitebck +setenv = + sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://} + postgresql: TRYTOND_DATABASE_URI={env:POSTGRESQL_URI:postgresql://} + sqlite: DB_NAME={env:SQLITE_NAME::memory:} + postgresql: DB_NAME={env:POSTGRESQL_NAME:test} +install_command = pip install --pre --find-links https://trydevpi.tryton.org/?local_version={env:CI_JOB_ID:{env:CI_BUILD_NUMBER}.{env:CI_JOB_NUMBER}} {opts} {packages} diff --git a/modules/sale_supply/tryton.cfg b/modules/sale_supply/tryton.cfg new file mode 100644 index 0000000000..6e08ac3590 --- /dev/null +++ b/modules/sale_supply/tryton.cfg @@ -0,0 +1,11 @@ +[tryton] +version=6.0.2 +depends: + ir + purchase + purchase_request + sale + stock +xml: + product.xml + sale.xml diff --git a/modules/sale_supply/view/sale_line_form.xml b/modules/sale_supply/view/sale_line_form.xml new file mode 100644 index 0000000000..e8e5d49b64 --- /dev/null +++ b/modules/sale_supply/view/sale_line_form.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/modules/sale_supply/view/template_form.xml b/modules/sale_supply/view/template_form.xml new file mode 100644 index 0000000000..243caf86b3 --- /dev/null +++ b/modules/sale_supply/view/template_form.xml @@ -0,0 +1,12 @@ + + + + + + diff --git a/modules/sale_supply_production/.drone.yml b/modules/sale_supply_production/.drone.yml new file mode 100644 index 0000000000..2049d30a49 --- /dev/null +++ b/modules/sale_supply_production/.drone.yml @@ -0,0 +1,68 @@ +clone: + hg: + image: plugins/hg + environment: + - HG_SHARE_POOL=/root/.cache/hg + volumes: + - cache:/root/.cache + +pipeline: + tox: + image: ${IMAGE} + environment: + - CFLAGS=-O0 + - DB_CACHE=/cache + - TOX_TESTENV_PASSENV=CFLAGS DB_CACHE CI_BUILD_NUMBER CI_JOB_NUMBER CI_JOB_ID + - POSTGRESQL_URI=postgresql://postgres@postgresql:5432/ + commands: + - echo "[extensions]" >> /root/.hgrc + - echo "hgext.share =" >> /root/.hgrc + - echo "[share]" >> /root/.hgrc + - echo "pool = /root/.cache/hg" >> /root/.hgrc + - pip install tox + - tox -e "${TOXENV}-${DATABASE}" + volumes: + - cache:/root/.cache + check_dist: + image: ${IMAGE} + commands: + - pip install twine + - python setup.py sdist + - twine check dist/* + +services: + postgresql: + image: postgres + environment: + - POSTGRES_HOST_AUTH_METHOD=trust + command: "-c fsync=off -c synchronous_commit=off -c full_page_writes=off" + when: + matrix: + DATABASE: postgresql + +matrix: + include: + - IMAGE: python:3.6 + TOXENV: py36 + DATABASE: sqlite + - IMAGE: python:3.6 + TOXENV: py36 + DATABASE: postgresql + - IMAGE: python:3.7 + TOXENV: py37 + DATABASE: sqlite + - IMAGE: python:3.7 + TOXENV: py37 + DATABASE: postgresql + - IMAGE: python:3.8 + TOXENV: py38 + DATABASE: sqlite + - IMAGE: python:3.8 + TOXENV: py38 + DATABASE: postgresql + - IMAGE: python:3.9 + TOXENV: py39 + DATABASE: sqlite + - IMAGE: python:3.9 + TOXENV: py39 + DATABASE: postgresql diff --git a/modules/sale_supply_production/.flake8 b/modules/sale_supply_production/.flake8 new file mode 100644 index 0000000000..fa6b4f66d1 --- /dev/null +++ b/modules/sale_supply_production/.flake8 @@ -0,0 +1,2 @@ +[flake8] +ignore=E123,E124,E126,E128,E741,W503 diff --git a/modules/sale_supply_production/CHANGELOG b/modules/sale_supply_production/CHANGELOG new file mode 100644 index 0000000000..c9a96d0d55 --- /dev/null +++ b/modules/sale_supply_production/CHANGELOG @@ -0,0 +1,12 @@ +Version 6.0.1 - 2022-03-01 +* Bug fixes (see mercurial logs for details) + +Version 6.0.0 - 2021-05-03 +* Bug fixes (see mercurial logs for details) + +Version 5.8.0 - 2020-11-02 +* Bug fixes (see mercurial logs for details) +* Remove support for Python 3.5 + +Version 5.6.0 - 2020-05-04 +* Initial release diff --git a/modules/sale_supply_production/COPYRIGHT b/modules/sale_supply_production/COPYRIGHT new file mode 100644 index 0000000000..d0b4a3655d --- /dev/null +++ b/modules/sale_supply_production/COPYRIGHT @@ -0,0 +1,15 @@ +Copyright (C) 2020-2022 B2CK +Copyright (C) 2020-2022 Cédric Krier + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/modules/sale_supply_production/LICENSE b/modules/sale_supply_production/LICENSE new file mode 100644 index 0000000000..94a9ed024d --- /dev/null +++ b/modules/sale_supply_production/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/modules/sale_supply_production/MANIFEST.in b/modules/sale_supply_production/MANIFEST.in new file mode 100644 index 0000000000..e88b2348a3 --- /dev/null +++ b/modules/sale_supply_production/MANIFEST.in @@ -0,0 +1,5 @@ +include CHANGELOG +include COPYRIGHT +include LICENSE +include README.rst +include doc/* diff --git a/modules/sale_supply_production/README.rst b/modules/sale_supply_production/README.rst new file mode 120000 index 0000000000..176d9c2695 --- /dev/null +++ b/modules/sale_supply_production/README.rst @@ -0,0 +1 @@ +doc/index.rst \ No newline at end of file diff --git a/modules/sale_supply_production/__init__.py b/modules/sale_supply_production/__init__.py new file mode 100644 index 0000000000..eba08d39e3 --- /dev/null +++ b/modules/sale_supply_production/__init__.py @@ -0,0 +1,24 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from trytond.pool import Pool + +from . import product +from . import production +from . import sale + +__all__ = ['register'] + + +def register(): + Pool.register( + product.Template, + product.Product, + production.Production, + sale.Sale, + sale.Line, + module='sale_supply_production', type_='model') + Pool.register( + module='sale_supply_production', type_='wizard') + Pool.register( + module='sale_supply_production', type_='report') diff --git a/modules/sale_supply_production/doc/index.rst b/modules/sale_supply_production/doc/index.rst new file mode 100644 index 0000000000..8777f63af2 --- /dev/null +++ b/modules/sale_supply_production/doc/index.rst @@ -0,0 +1,15 @@ +Sale Supply Production Module +############################# + +The Sale Supply Production module adds a "supply on sale" option to producible +products. +If checked, it will generate a production request for each sale line of this +product regardless of the stock levels. Once the products are produced they are +assigned to the customer shipments. +If the production request is cancelled, the sale goes back to the default +supply method. + +.. warning:: + If the shiment method is *On Invoice Paid*, the production request will be + created only when all the invoice lines are paid. +.. diff --git a/modules/sale_supply_production/locale/bg.po b/modules/sale_supply_production/locale/bg.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/bg.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/ca.po b/modules/sale_supply_production/locale/ca.po new file mode 100644 index 0000000000..0963821fef --- /dev/null +++ b/modules/sale_supply_production/locale/ca.po @@ -0,0 +1,19 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "Produccions" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "Produccions" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" +"No podeu restablir la producció \"%(production)s\" a esborrany perquè s'ha " +"generat a partir d'una venda." diff --git a/modules/sale_supply_production/locale/cs.po b/modules/sale_supply_production/locale/cs.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/cs.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/de.po b/modules/sale_supply_production/locale/de.po new file mode 100644 index 0000000000..782113c31b --- /dev/null +++ b/modules/sale_supply_production/locale/de.po @@ -0,0 +1,19 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "Produktionsaufträge" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "Produktionsaufträge" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" +"Produktionsauftrag \"%(production)s\" kann nicht auf Entwurf zurück gesetzt " +"werden, weil er durch einen Verkauf generiert wurde." diff --git a/modules/sale_supply_production/locale/es.po b/modules/sale_supply_production/locale/es.po new file mode 100644 index 0000000000..1c469ca2ef --- /dev/null +++ b/modules/sale_supply_production/locale/es.po @@ -0,0 +1,19 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "Producciones" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "Producciones" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" +"No puede restablecer la producción \"%(production)s\" a borrador ya que ha " +"sido generada por una venta." diff --git a/modules/sale_supply_production/locale/es_419.po b/modules/sale_supply_production/locale/es_419.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/es_419.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/et.po b/modules/sale_supply_production/locale/et.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/et.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/fa.po b/modules/sale_supply_production/locale/fa.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/fa.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/fi.po b/modules/sale_supply_production/locale/fi.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/fi.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/fr.po b/modules/sale_supply_production/locale/fr.po new file mode 100644 index 0000000000..fb3781ca94 --- /dev/null +++ b/modules/sale_supply_production/locale/fr.po @@ -0,0 +1,19 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "Productions" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "Productions" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" +"Vous ne pouvez pas réinitialiser à l'état brouillon la production " +"« %(production)s » car elle a été générée par une vente." diff --git a/modules/sale_supply_production/locale/hu.po b/modules/sale_supply_production/locale/hu.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/hu.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/id.po b/modules/sale_supply_production/locale/id.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/id.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/it.po b/modules/sale_supply_production/locale/it.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/it.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/lo.po b/modules/sale_supply_production/locale/lo.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/lo.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/lt.po b/modules/sale_supply_production/locale/lt.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/lt.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/nl.po b/modules/sale_supply_production/locale/nl.po new file mode 100644 index 0000000000..c382ecf3f0 --- /dev/null +++ b/modules/sale_supply_production/locale/nl.po @@ -0,0 +1,19 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "Producties" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "Producties" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" +"U kunt de productie \"%(production)s\" niet terugzetten naar concept omdat " +"deze is gegenereerd door een verkoop." diff --git a/modules/sale_supply_production/locale/pl.po b/modules/sale_supply_production/locale/pl.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/pl.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/pt.po b/modules/sale_supply_production/locale/pt.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/pt.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/ro.po b/modules/sale_supply_production/locale/ro.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/ro.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/ru.po b/modules/sale_supply_production/locale/ru.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/ru.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/sl.po b/modules/sale_supply_production/locale/sl.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/sl.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/tr.po b/modules/sale_supply_production/locale/tr.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/tr.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/locale/zh_CN.po b/modules/sale_supply_production/locale/zh_CN.po new file mode 100644 index 0000000000..dc3bf91b89 --- /dev/null +++ b/modules/sale_supply_production/locale/zh_CN.po @@ -0,0 +1,17 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:sale.line,productions:" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.action,name:act_production_form" +msgid "Productions" +msgstr "" + +msgctxt "model:ir.message,text:msg_production_reset_draft" +msgid "" +"You cannot reset production \"%(production)s\" to draft because it was " +"generated by a sale." +msgstr "" diff --git a/modules/sale_supply_production/message.xml b/modules/sale_supply_production/message.xml new file mode 100644 index 0000000000..368018a112 --- /dev/null +++ b/modules/sale_supply_production/message.xml @@ -0,0 +1,10 @@ + + + + + + You cannot reset production "%(production)s" to draft because it was generated by a sale. + + + diff --git a/modules/sale_supply_production/product.py b/modules/sale_supply_production/product.py new file mode 100644 index 0000000000..cee4a558f6 --- /dev/null +++ b/modules/sale_supply_production/product.py @@ -0,0 +1,19 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.pool import PoolMeta +from trytond.pyson import Eval + + +class Template(metaclass=PoolMeta): + __name__ = 'product.template' + + @classmethod + def __setup__(cls): + super().__setup__() + cls.supply_on_sale.states['invisible'] &= ( + ~Eval('producible') | ~Eval('salable')) + cls.supply_on_sale.depends.extend(['producible', 'salable']) + + +class Product(metaclass=PoolMeta): + __name__ = 'product.product' diff --git a/modules/sale_supply_production/product.xml b/modules/sale_supply_production/product.xml new file mode 100644 index 0000000000..70184cd889 --- /dev/null +++ b/modules/sale_supply_production/product.xml @@ -0,0 +1,12 @@ + + + + + + product.template + + template_form + + + diff --git a/modules/sale_supply_production/production.py b/modules/sale_supply_production/production.py new file mode 100644 index 0000000000..a16a55a595 --- /dev/null +++ b/modules/sale_supply_production/production.py @@ -0,0 +1,115 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from collections import defaultdict +from functools import wraps + +from trytond.i18n import gettext +from trytond.model import Model, ModelView, Workflow +from trytond.model.exceptions import AccessError +from trytond.pool import PoolMeta, Pool +from trytond.tools import grouped_slice +from trytond.transaction import Transaction + + +def process_sale_supply(func): + @wraps(func) + def wrapper(cls, productions): + pool = Pool() + Sale = pool.get('sale.sale') + + sales = set() + with Transaction().set_context(_check_access=False): + for sub_productions in grouped_slice(productions): + ids = [p.id for p in sub_productions] + sales.update([s.id for s in Sale.search([ + ('lines.productions', 'in', ids), + ])]) + func(cls, productions) + if sales: + Sale.__queue__.process(sales) + return wrapper + + +class Production(metaclass=PoolMeta): + __name__ = 'production' + + @classmethod + def _get_origin(cls): + return super()._get_origin() | {'sale.line'} + + @classmethod + @process_sale_supply + def delete(cls, productions): + super().delete(productions) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + @process_sale_supply + def cancel(cls, productions): + super().cancel(productions) + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, productions): + pool = Pool() + SaleLine = pool.get('sale.line') + for production in productions: + if (production.state == 'cancelled' + and isinstance(production.origin, SaleLine)): + raise AccessError( + gettext('sale_supply_production' + '.msg_production_reset_draft', + production=production.rec_name)) + super().draft(productions) + + @classmethod + @ModelView.button + @Workflow.transition('running') + @process_sale_supply + def run(cls, productions): + super().run(productions) + + @classmethod + @ModelView.button + @Workflow.transition('done') + @process_sale_supply + def done(cls, productions): + super().done(productions) + + for production in productions: + production.assign_supplied() + + def assign_supplied(self, grouping=('product',), filter_=None): + pool = Pool() + SaleLine = pool.get('sale.line') + + if isinstance(self.origin, SaleLine): + sale_line = self.origin + else: + return + + def filter_func(move): + if filter_ is None: + return True + for fieldname, values in filter_: + value = getattr(move, fieldname) + if isinstance(value, Model): + value = value.id + if value not in values: + return False + + def get_key(move): + key = (move.to_location.id,) + for field in grouping: + value = getattr(move, field) + if isinstance(value, Model): + value = value.id + key += (value,) + return key + + pbl = defaultdict(lambda: defaultdict(int)) + for move in filter(filter_func, self.outputs): + pbl[move.product][get_key(move)] += move.internal_quantity + sale_line.assign_supplied(pbl[sale_line.product], grouping=grouping) diff --git a/modules/sale_supply_production/sale.py b/modules/sale_supply_production/sale.py new file mode 100644 index 0000000000..2be6dc5669 --- /dev/null +++ b/modules/sale_supply_production/sale.py @@ -0,0 +1,106 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import datetime as dt + +from trytond.model import fields +from trytond.pool import PoolMeta, Pool + + +class Sale(metaclass=PoolMeta): + __name__ = 'sale.sale' + + def create_shipment(self, shipment_type): + if shipment_type == 'out': + self.create_productions() + return super().create_shipment(shipment_type) + + def create_productions(self): + pool = Pool() + Production = pool.get('production') + productions = [] + for line in self.lines: + production = line.get_production() + if not production: + continue + production.planned_start_date = ( + production.on_change_with_planned_start_date()) + productions.append(production) + assert not line.productions + Production.save(productions) + Production.set_moves(productions) + + +class Line(metaclass=PoolMeta): + __name__ = 'sale.line' + + productions = fields.One2Many( + 'production', 'origin', "Productions", readonly=True) + + @property + def has_supply(self): + return super().has_supply or bool(self.productions) + + def get_supply_state(self, name): + state = super().get_supply_state(name) + if self.productions: + states = {p.state for p in self.productions} + if states <= {'running', 'done', 'cancelled'}: + if states == {'cancelled'}: + state = 'cancelled' + else: + state = 'supplied' + else: + state = 'requested' + return state + + @classmethod + def copy(cls, lines, default=None): + if default is None: + default = {} + else: + default = default.copy() + default.setdefault('productions', None) + return super().copy(lines, default=default) + + def get_production(self): + "Return production for the sale line" + pool = Pool() + Production = pool.get('production') + Date = pool.get('ir.date') + today = Date.today() + + if (not self.supply_on_sale + or self.productions + or not self.product.producible): + return + + # Ensure to create the request for the maximum paid + if self.sale.shipment_method == 'invoice': + invoice_skips = (set(self.sale.invoices_ignored) + | set(self.sale.invoices_recreated)) + invoice_lines = [l for l in self.invoice_lines + if l.invoice not in invoice_skips] + if (not invoice_lines + or any((not l.invoice) or l.invoice.state != 'paid' + for l in invoice_lines)): + return + + date = self.shipping_date or today + if date <= today: + date = today + else: + date -= dt.timedelta(1) + product = self.product + quantity = self._get_move_quantity('out') + return Production( + planned_date=date, + company=self.sale.company, + warehouse=self.warehouse, + location=self.warehouse.production_location, + product=product, + bom=product.boms[0].bom if product.boms else None, + uom=self.unit, + quantity=quantity, + state='request', + origin=self, + ) diff --git a/modules/sale_supply_production/sale.xml b/modules/sale_supply_production/sale.xml new file mode 100644 index 0000000000..f06e48b217 --- /dev/null +++ b/modules/sale_supply_production/sale.xml @@ -0,0 +1,20 @@ + + + + + + Productions + production + + + + form_relate + sale.sale,-1 + + + + diff --git a/modules/sale_supply_production/setup.py b/modules/sale_supply_production/setup.py new file mode 100755 index 0000000000..499d01840e --- /dev/null +++ b/modules/sale_supply_production/setup.py @@ -0,0 +1,153 @@ +#!/usr/bin/env python3 +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import io +import os +import re +from configparser import ConfigParser +from setuptools import setup, find_packages + + +def read(fname, slice=None): + content = io.open( + os.path.join(os.path.dirname(__file__), fname), + 'r', encoding='utf-8').read() + if slice: + content = '\n'.join(content.splitlines()[slice]) + return content + + +def get_require_version(name): + if minor_version % 2: + require = '%s >= %s.%s.dev0, < %s.%s' + else: + require = '%s >= %s.%s, < %s.%s' + require %= (name, major_version, minor_version, + major_version, minor_version + 1) + return require + + +config = ConfigParser() +config.read_file(open(os.path.join(os.path.dirname(__file__), 'tryton.cfg'))) +info = dict(config.items('tryton')) +for key in ('depends', 'extras_depend', 'xml'): + if key in info: + info[key] = info[key].strip().splitlines() +version = info.get('version', '0.0.1') +major_version, minor_version, _ = version.split('.', 2) +major_version = int(major_version) +minor_version = int(minor_version) +name = 'trytond_sale_supply_production' + +download_url = 'http://downloads.tryton.org/%s.%s/' % ( + major_version, minor_version) +if minor_version % 2: + version = '%s.%s.dev0' % (major_version, minor_version) + download_url = ( + 'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % ( + name[8:], name, version)) +local_version = [] +if os.environ.get('CI_JOB_ID'): + local_version.append(os.environ['CI_JOB_ID']) +else: + for build in ['CI_BUILD_NUMBER', 'CI_JOB_NUMBER']: + if os.environ.get(build): + local_version.append(os.environ[build]) + else: + local_version = [] + break +if local_version: + version += '+' + '.'.join(local_version) + +requires = [] +for dep in info.get('depends', []): + if not re.match(r'(ir|res)(\W|$)', dep): + requires.append(get_require_version('trytond_%s' % dep)) +requires.append(get_require_version('trytond')) + +tests_require = [get_require_version('proteus')] +dependency_links = [] +if minor_version % 2: + dependency_links.append( + 'https://trydevpi.tryton.org/?local_version=' + + '.'.join(local_version)) + +setup(name=name, + version=version, + description='Tryton module to supply sales from production', + long_description=read('README.rst'), + author='Tryton', + author_email='bugs@tryton.org', + url='http://www.tryton.org/', + download_url=download_url, + project_urls={ + "Bug Tracker": 'https://bugs.tryton.org/', + "Documentation": 'https://docs.tryton.org/', + "Forum": 'https://www.tryton.org/forum', + "Source Code": 'https://hg.tryton.org/modules/sale_supply_production', + }, + keywords='tryton sale supply production', + package_dir={'trytond.modules.sale_supply_production': '.'}, + packages=( + ['trytond.modules.sale_supply_production'] + + ['trytond.modules.sale_supply_production.%s' % p + for p in find_packages()] + ), + package_data={ + 'trytond.modules.sale_supply_production': (info.get('xml', []) + + ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt', + 'icons/*.svg', 'tests/*.rst']), + }, + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Environment :: Plugins', + 'Framework :: Tryton', + 'Intended Audience :: Developers', + 'Intended Audience :: Financial and Insurance Industry', + 'Intended Audience :: Legal Industry', + 'License :: OSI Approved :: ' + 'GNU General Public License v3 or later (GPLv3+)', + 'Natural Language :: Bulgarian', + 'Natural Language :: Catalan', + 'Natural Language :: Chinese (Simplified)', + 'Natural Language :: Czech', + 'Natural Language :: Dutch', + 'Natural Language :: English', + 'Natural Language :: Finnish', + 'Natural Language :: French', + 'Natural Language :: German', + 'Natural Language :: Hungarian', + 'Natural Language :: Indonesian', + 'Natural Language :: Italian', + 'Natural Language :: Persian', + 'Natural Language :: Polish', + 'Natural Language :: Portuguese (Brazilian)', + 'Natural Language :: Romanian', + 'Natural Language :: Russian', + 'Natural Language :: Slovenian', + 'Natural Language :: Spanish', + 'Natural Language :: Turkish', + 'Operating System :: OS Independent', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: Implementation :: CPython', + 'Programming Language :: Python :: Implementation :: PyPy', + 'Topic :: Office/Business', + ], + license='GPL-3', + python_requires='>=3.6', + install_requires=requires, + dependency_links=dependency_links, + zip_safe=False, + entry_points=""" + [trytond.modules] + sale_supply_production = trytond.modules.sale_supply_production + """, # noqa: E501 + test_suite='tests', + test_loader='trytond.test_loader:Loader', + tests_require=tests_require, + ) diff --git a/modules/sale_supply_production/tests/__init__.py b/modules/sale_supply_production/tests/__init__.py new file mode 100644 index 0000000000..7d3f83a466 --- /dev/null +++ b/modules/sale_supply_production/tests/__init__.py @@ -0,0 +1,9 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +try: + from trytond.modules.sale_supply_production.tests.test_sale_supply_production import suite # noqa: E501 +except ImportError: + from .test_sale_supply_production import suite + +__all__ = ['suite'] diff --git a/modules/sale_supply_production/tests/scenario_sale_supply_production.rst b/modules/sale_supply_production/tests/scenario_sale_supply_production.rst new file mode 100644 index 0000000000..d0c5249b43 --- /dev/null +++ b/modules/sale_supply_production/tests/scenario_sale_supply_production.rst @@ -0,0 +1,161 @@ +=============================== +Sale Supply Production Scenario +=============================== + +Imports:: + + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import ( + ... create_company, get_company) + >>> from trytond.modules.account.tests.tools import ( + ... create_chart, get_accounts) + +Activate modules:: + + >>> config = activate_modules('sale_supply_production') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create chart of accounts:: + + >>> _ = create_chart(company) + >>> accounts = get_accounts(company) + +Create parties:: + + >>> Party = Model.get('party.party') + >>> customer = Party(name='Customer') + >>> customer.save() + +Create account category:: + + >>> ProductCategory = Model.get('product.category') + >>> account_category = ProductCategory(name="Account Category") + >>> account_category.accounting = True + >>> account_category.account_revenue = accounts['revenue'] + >>> account_category.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + + >>> template = ProductTemplate() + >>> template.name = "Product" + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.producible = True + >>> template.salable = True + >>> template.supply_on_sale = True + >>> template.list_price = Decimal(30) + >>> template.account_category = account_category + >>> product, = template.products + >>> product.cost_price = Decimal(20) + >>> template.save() + >>> product, = template.products + +Create components:: + + >>> template = ProductTemplate() + >>> template.name = "Component 1" + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal(5) + >>> component, = template.products + >>> component.cost_price = Decimal(1) + >>> template.save() + >>> component, = template.products + +Create bill of material:: + + >>> BOM = Model.get('production.bom') + >>> bom = BOM(name="Product") + >>> input = bom.inputs.new() + >>> input.product = component + >>> input.quantity = 5 + >>> output = bom.outputs.new() + >>> output.product = product + >>> output.quantity = 1 + >>> bom.save() + + >>> product_bom = product.boms.new() + >>> product_bom.bom = bom + >>> product.save() + +Sale 10 products:: + + >>> Sale = Model.get('sale.sale') + >>> sale = Sale() + >>> sale.party = customer + >>> line = sale.lines.new() + >>> line.product = product + >>> line.quantity = 10 + >>> sale.click('quote') + >>> sale.click('confirm') + >>> sale.state + 'processing' + >>> shipment, = sale.shipments + >>> move, = shipment.outgoing_moves + >>> move.state + 'staging' + >>> move, = shipment.inventory_moves + >>> move.state + 'staging' + +Check the production:: + + >>> Production = Model.get('production') + >>> production, = Production.find([]) + >>> production.state + 'request' + >>> production.origin == sale.lines[0] + True + >>> production.product == product + True + >>> production.bom == bom + True + >>> production.quantity + 10.0 + +Delete the production, recreate one:: + + >>> production.delete() + >>> production, = Production.find([]) + >>> production.quantity + 10.0 + +Start the production:: + + >>> production.click('draft') + >>> production.click('wait') + >>> production.click('assign_force') + >>> production.click('run') + >>> production.state + 'running' + + >>> shipment.reload() + >>> move, = shipment.outgoing_moves + >>> move.state + 'draft' + >>> move, = shipment.inventory_moves + >>> move.state + 'draft' + +Finish the production:: + + >>> production.click('done') + + >>> shipment.reload() + >>> move, = shipment.outgoing_moves + >>> move.state + 'draft' + >>> move, = shipment.inventory_moves + >>> move.state + 'assigned' diff --git a/modules/sale_supply_production/tests/test_sale_supply_production.py b/modules/sale_supply_production/tests/test_sale_supply_production.py new file mode 100644 index 0000000000..ab4054ff9a --- /dev/null +++ b/modules/sale_supply_production/tests/test_sale_supply_production.py @@ -0,0 +1,28 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import unittest + +import doctest + +from trytond.tests.test_tryton import ModuleTestCase +from trytond.tests.test_tryton import suite as test_suite +from trytond.tests.test_tryton import doctest_teardown +from trytond.tests.test_tryton import doctest_checker + + +class SaleSupplyProductionTestCase(ModuleTestCase): + 'Test Sale Supply Production module' + module = 'sale_supply_production' + + +def suite(): + suite = test_suite() + suite.addTests(unittest.TestLoader().loadTestsFromTestCase( + SaleSupplyProductionTestCase)) + suite.addTests(doctest.DocFileSuite( + 'scenario_sale_supply_production.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + return suite diff --git a/modules/sale_supply_production/tox.ini b/modules/sale_supply_production/tox.ini new file mode 100644 index 0000000000..197496c0cb --- /dev/null +++ b/modules/sale_supply_production/tox.ini @@ -0,0 +1,15 @@ +[tox] +envlist = {py36,py37,py38,py39}-{sqlite,postgresql},pypy3-{sqlite,postgresql} + +[testenv] +commands = {envpython} setup.py test +deps = + {py36,py37,py38,py39}-postgresql: psycopg2 >= 2.5 + pypy3-postgresql: psycopg2cffi >= 2.5 + py36-sqlite: sqlitebck +setenv = + sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://} + postgresql: TRYTOND_DATABASE_URI={env:POSTGRESQL_URI:postgresql://} + sqlite: DB_NAME={env:SQLITE_NAME::memory:} + postgresql: DB_NAME={env:POSTGRESQL_NAME:test} +install_command = pip install --pre --find-links https://trydevpi.tryton.org/?local_version={env:CI_JOB_ID:{env:CI_BUILD_NUMBER}.{env:CI_JOB_NUMBER}} {opts} {packages} diff --git a/modules/sale_supply_production/tryton.cfg b/modules/sale_supply_production/tryton.cfg new file mode 100644 index 0000000000..2fe8995c16 --- /dev/null +++ b/modules/sale_supply_production/tryton.cfg @@ -0,0 +1,10 @@ +[tryton] +version=6.0.2 +depends: + ir + production + sale_supply +xml: + sale.xml + product.xml + message.xml diff --git a/modules/sale_supply_production/view/template_form.xml b/modules/sale_supply_production/view/template_form.xml new file mode 100644 index 0000000000..02c368619d --- /dev/null +++ b/modules/sale_supply_production/view/template_form.xml @@ -0,0 +1,10 @@ + + + + + + diff --git a/modules/stock/.drone.yml b/modules/stock/.drone.yml new file mode 100644 index 0000000000..2049d30a49 --- /dev/null +++ b/modules/stock/.drone.yml @@ -0,0 +1,68 @@ +clone: + hg: + image: plugins/hg + environment: + - HG_SHARE_POOL=/root/.cache/hg + volumes: + - cache:/root/.cache + +pipeline: + tox: + image: ${IMAGE} + environment: + - CFLAGS=-O0 + - DB_CACHE=/cache + - TOX_TESTENV_PASSENV=CFLAGS DB_CACHE CI_BUILD_NUMBER CI_JOB_NUMBER CI_JOB_ID + - POSTGRESQL_URI=postgresql://postgres@postgresql:5432/ + commands: + - echo "[extensions]" >> /root/.hgrc + - echo "hgext.share =" >> /root/.hgrc + - echo "[share]" >> /root/.hgrc + - echo "pool = /root/.cache/hg" >> /root/.hgrc + - pip install tox + - tox -e "${TOXENV}-${DATABASE}" + volumes: + - cache:/root/.cache + check_dist: + image: ${IMAGE} + commands: + - pip install twine + - python setup.py sdist + - twine check dist/* + +services: + postgresql: + image: postgres + environment: + - POSTGRES_HOST_AUTH_METHOD=trust + command: "-c fsync=off -c synchronous_commit=off -c full_page_writes=off" + when: + matrix: + DATABASE: postgresql + +matrix: + include: + - IMAGE: python:3.6 + TOXENV: py36 + DATABASE: sqlite + - IMAGE: python:3.6 + TOXENV: py36 + DATABASE: postgresql + - IMAGE: python:3.7 + TOXENV: py37 + DATABASE: sqlite + - IMAGE: python:3.7 + TOXENV: py37 + DATABASE: postgresql + - IMAGE: python:3.8 + TOXENV: py38 + DATABASE: sqlite + - IMAGE: python:3.8 + TOXENV: py38 + DATABASE: postgresql + - IMAGE: python:3.9 + TOXENV: py39 + DATABASE: sqlite + - IMAGE: python:3.9 + TOXENV: py39 + DATABASE: postgresql diff --git a/modules/stock/.flake8 b/modules/stock/.flake8 new file mode 100644 index 0000000000..fa6b4f66d1 --- /dev/null +++ b/modules/stock/.flake8 @@ -0,0 +1,2 @@ +[flake8] +ignore=E123,E124,E126,E128,E741,W503 diff --git a/modules/stock/CHANGELOG b/modules/stock/CHANGELOG new file mode 100644 index 0000000000..4837975771 --- /dev/null +++ b/modules/stock/CHANGELOG @@ -0,0 +1,267 @@ +Version 6.0.18 - 2022-11-17 +--------------------------- +* Bug fixes (see mercurial logs for details) + +Version 6.0.17 - 2022-10-17 +* Bug fixes (see mercurial logs for details) + +Version 6.0.16 - 2022-09-06 +* Bug fixes (see mercurial logs for details) + +Version 6.0.15 - 2022-07-01 +* Bug fixes (see mercurial logs for details) + +Version 6.0.14 - 2022-06-03 +* Bug fixes (see mercurial logs for details) + +Version 6.0.13 - 2022-04-15 +* Bug fixes (see mercurial logs for details) + +Version 6.0.12 - 2022-03-01 +* Bug fixes (see mercurial logs for details) + +Version 6.0.11 - 2022-02-16 +* Bug fixes (see mercurial logs for details) + +Version 6.0.10 - 2022-01-15 +* Bug fixes (see mercurial logs for details) + +Version 6.0.9 - 2022-01-01 +* Bug fixes (see mercurial logs for details) + +Version 6.0.8 - 2021-11-04 +* Bug fixes (see mercurial logs for details) + +Version 6.0.7 - 2021-09-16 +* Bug fixes (see mercurial logs for details) + +Version 6.0.6 - 2021-09-01 +* Bug fixes (see mercurial logs for details) + +Version 6.0.5 - 2021-08-19 +* Bug fixes (see mercurial logs for details) + +Version 6.0.4 - 2021-08-05 +* Bug fixes (see mercurial logs for details) + +Version 6.0.3 - 2021-07-01 +* Bug fixes (see mercurial logs for details) + +Version 6.0.2 - 2021-06-17 +* Bug fixes (see mercurial logs for details) + +Version 6.0.1 - 2021-05-15 +* Bug fixes (see mercurial logs for details) + +Version 6.0.0 - 2021-05-03 +* Bug fixes (see mercurial logs for details) +* Allow shipments to be automatically assigned +* Rename inventory count quantity_added to quantity +* Add document source on move of product quantities by warehouse +* Add relate from assigned shipment to products quantities by warehouse +* Show quantities by warehouse for many products +* Default to ordering shipments by date +* Add delivery usage to contact mechanism +* Make customer's outgoing moves editable for same storage and output zone +* Add margin reporting +* Add products_by_locations Model + +Version 5.8.0 - 2020-11-02 +* Bug fixes (see mercurial logs for details) +* Remove support for Python 3.5 +* Add picked step to customer shipment workflow +* Add cron task to reschedule past shipments +* Allow lost and found on inventory moves of shipments +* Add waste locations on warehouses +* Add warning to prevent move in the future +* Add relate to open inventory lines +* Use simplified view for moves list on shipments +* Add a relate from product to its moves +* Factorize the cost price of move for cost computation +* Fill grouping values when assigning move +* Use a single assign wizard for all shipments +* Add access rules to product quantities by warehouse +* Add moves for product quantities by warehouse +* Enforce filling cost price of move +* Rename move state from cancel to cancelled +* Rename shipment states from cancel to cancelled +* Rename inventory state from cancel to cancelled +* Override warehouse with context value for current user + +Version 5.6.0 - 2020-05-04 +* Bug fixes (see mercurial logs for details) +* Add visual on product and location quantities +* Define one lost and found location per warehouse +* Show warehouse in user status if not unique +* Add cost price revision +* Add wizard to modify product cost price +* Add cron task to recompute product cost +* Update cost of moves when recomputing product cost + +Version 5.4.0 - 2019-11-04 +* Bug fixes (see mercurial logs for details) +* Add today record in Product Quantities By Warehouse +* Allow consumable product on inventories +* Let the user select a default warehouse +* Add method to get default warehouse +* Improve moves synchronisation on shipments +* Allow move as move's origin +* Open product quantities by warehouse to show moves + +Version 5.2.0 - 2019-05-06 +* Bug fixes (see mercurial logs for details) +* Don't set default unit price on stock move +* Prefer to pick product from the source location +* Change move attribute of ShipmentReport for a method +* Rename inventory count quantity_resulting to total_quantity + +Version 5.0.0 - 2018-10-01 +* Bug fixes (see mercurial logs for details) +* Add count wizard on inventory +* Remove support for Python 2.7 +* Prevent delete lines if inventory is not draft or canceled +* Manage same input and storage location in customer return shipment + +Version 4.8.0 - 2018-04-23 +* Bug fixes (see mercurial logs for details) +* Add _stock_move_split context keyword when copying move for split +* Manage same input and storage location in supplier shipment +* Check pending shipment to erase party +* Define how inventory non filled lines are managed +* Do not fill inventory quantity automatically +* Assign supplier return shipment using children when location is a view +* Duplicate "Locations Quantity" into tree and list +* Remove product_ids from products_by_location for grouping_filter +* Add quantities relates on Template +* Allow grouping per product columns to compute quantities + +Version 4.6.0 - 2017-10-30 +* Bug fixes (see mercurial logs for details) +* Add flat children option on location +* Raise single warning for move without origin +* Allow to set manual effective date on move +* Improve computation of cost price +* Limit move locations 'child_of' constraints to specific shipment states +* Allow to delete staging move +* Allow to deactivate only empty locations + +Version 4.4.0 - 2017-05-01 +* Bug fixes (see mercurial logs for details) +* Add employee on shipments for some states +* Add request state on internal shipment +* Manage same picking/storage and output location + +Version 4.2.0 - 2016-11-28 +* Bug fixes (see mercurial logs for details) +* Make inventory number always readonly +* Manage readonly state on Inventory Line +* Add lead time and transit location for internal shipments between warehouses + +Version 4.0.0 - 2016-05-02 +* Bug fixes (see mercurial logs for details) +* Rename Shipments code into number +* Add number to inventories +* Add supplier and delivery address on supplier return shipment +* Add Python3 support +* Add do button on stock move form & list +* Add warehouse address on internal shipment + +Version 3.8.0 - 2015-11-02 +* Bug fixes (see mercurial logs for details) +* Add drop location type +* Add buttons on stock move form & list +* Allow to use view location on staging and draft moves +* Add picking location on warehouse +* Always compute expected quantity in inventory +* Allow to change the destination of internal shipment's moves +* Allow to modify internal shipment moves in waiting state +* Compute inventory lines in complete_lines() using new grouping() method +* Allow to re-compute cost price +* Allow to change unit price of move done + +Version 3.6.0 - 2015-04-20 +* Bug fixes (see mercurial logs for details) +* Add support for PyPy +* Add 'staging' state to stock move +* Apply stock_assign of compute_quantity_query only on outgoing moves +* Add domain on location's parent and childs +* Do not filter out inactive products from stock computation + +Version 3.4.0 - 2014-10-20 +* Bug fixes (see mercurial logs for details) +* Always succeed assignation from lost and found on internal shipments +* Remove return shipment out wizard + +Version 3.2.0 - 2014-04-21 +* Bug fixes (see mercurial logs for details) +* Add warning for moves without origin +* Allow to define the effective date of shipments +* Prevent changing product type if stock moves exist +* Use new methods to compute quantities in StockMixin._search_quantity() +* Split products_by_location into two methods on Move: + compute_quantities_query and compute_quantities +* Use origin for inventory moves +* Allow partial assignation on Supplier Shipment Return + +Version 3.0.0 - 2013-10-21 +* Bug fixes (see mercurial logs for details) +* Add Mixin class with helper to setup stock quantity fields +* Allow to customize move creation of Inventory +* Allow to customize unique constraint on Inventory +* Allow specific grouping Period Cache +* Add grouping on products_by_location and assign_try + +Version 2.8.0 - 2013-04-22 +* Bug fixes (see mercurial logs for details) +* Merge all shipment Many2One into shipment Reference +* Add origin Reference on Stock Move +* Add workflow to stock move + +Version 2.6.0 - 2012-10-22 +* Bug fixes (see mercurial logs for details) +* Add Product Quantities By Warehouse + +Version 2.4.0 - 2012-04-24 +* Bug fixes (see mercurial logs for details) +* Remove special to_location_warehouse search clause +* Remove default from and to location and instead use domain +* Update cost_price only from supplier to storage + +Version 2.2.0 - 2011-10-25 +* Bug fixes (see mercurial logs for details) +* Ensure coherence between planned date of shipments and moves + +Version 2.0.0 - 2011-04-27 +* Bug fixes (see mercurial logs for details) +* Add period to reduce data computation +* Add internal_quantity on move to speedup computation + +Version 1.8.0 - 2010-11-01 +* Bug fixes (see mercurial logs for details) + +Version 1.6.0 - 2010-05-11 +* Bug fixes (see mercurial logs for details) +* Use model singleton to define shipment sequences +* Add default search value on inventory, move and shipments + +Version 1.4.0 - 2009-10-19 +* Bug fixes (see mercurial logs for details) +* Add new group "Stock Force Assignment" +* Migrate packing* objects and tables to shipment* +* Return move id in create_move of inventory line + +Version 1.2.0 - 2009-04-20 +* Bug fixes (see mercurial logs for details) +* Added return packings and a wizard to create customer return packing. +* Make assign_try to assign as much possible +* Move assign_try and pick_product from product.product to stock.move +* Added stock_skip_warehouse keyword for products_by_location + method. The default behaviour is now to compute quantities on all + child locations for a warehouse. +* Handle average price for products return to supplier +* Added stock_destinations keyword on products_by_location context to + filter moves to a set of destinations. +* Allow egg installation + +Version 1.0.0 - 2008-11-17 +* Initial release diff --git a/modules/stock/COPYRIGHT b/modules/stock/COPYRIGHT new file mode 100644 index 0000000000..e150f04d90 --- /dev/null +++ b/modules/stock/COPYRIGHT @@ -0,0 +1,18 @@ +Copyright (C) 2012 Openlabs Technologies & Consulting (P) LTD. +Copyright (C) 2008-2022 Cédric Krier. +Copyright (C) 2008-2013 Bertrand Chenal. +Copyright (C) 2008-2022 B2CK SPRL. +Copyright (C) 2004-2008 Tiny SPRL. + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . diff --git a/modules/stock/LICENSE b/modules/stock/LICENSE new file mode 100644 index 0000000000..94a9ed024d --- /dev/null +++ b/modules/stock/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/modules/stock/MANIFEST.in b/modules/stock/MANIFEST.in new file mode 100644 index 0000000000..94499680c6 --- /dev/null +++ b/modules/stock/MANIFEST.in @@ -0,0 +1,6 @@ +include CHANGELOG +include COPYRIGHT +include LICENSE +include README.rst +include doc/* +include icons/LICENSE diff --git a/modules/stock/README.rst b/modules/stock/README.rst new file mode 120000 index 0000000000..176d9c2695 --- /dev/null +++ b/modules/stock/README.rst @@ -0,0 +1 @@ +doc/index.rst \ No newline at end of file diff --git a/modules/stock/__init__.py b/modules/stock/__init__.py new file mode 100644 index 0000000000..88800a3920 --- /dev/null +++ b/modules/stock/__init__.py @@ -0,0 +1,83 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +from trytond.pool import Pool +from . import location +from . import shipment +from . import period +from . import move +from . import product +from . import inventory +from . import configuration +from . import party +from . import ir +from . import res +from . import stock_reporting_margin + +from .move import StockMixin + +__all__ = ['StockMixin', 'register'] + + +def register(): + Pool.register( + location.Location, + location.WarehouseWasteLocation, + location.Party, + location.PartyLocation, + location.ProductsByLocationsContext, + location.ProductsByLocations, + location.LocationLeadTime, + move.Move, + shipment.ShipmentIn, + shipment.ShipmentInReturn, + shipment.ShipmentOut, + shipment.ShipmentOutReturn, + shipment.ShipmentInternal, + shipment.AssignPartial, + party.Address, + party.ContactMechanism, + period.Period, + period.Cache, + product.Template, + product.Product, + product.ProductByLocationContext, + product.ProductQuantitiesByWarehouse, + product.ProductQuantitiesByWarehouseContext, + product.ProductQuantitiesByWarehouseMove, + product.RecomputeCostPriceStart, + product.CostPriceRevision, + product.ModifyCostPriceStart, + inventory.Inventory, + inventory.InventoryLine, + inventory.CountSearch, + inventory.CountQuantity, + configuration.Configuration, + configuration.ConfigurationSequence, + configuration.ConfigurationLocation, + ir.Cron, + res.User, + stock_reporting_margin.Context, + stock_reporting_margin.Product, + stock_reporting_margin.ProductTimeseries, + stock_reporting_margin.Category, + stock_reporting_margin.CategoryTimeseries, + stock_reporting_margin.CategoryTree, + module='stock', type_='model') + Pool.register( + shipment.Assign, + product.OpenProductQuantitiesByWarehouse, + product.OpenProductQuantitiesByWarehouseMove, + product.RecomputeCostPrice, + product.ModifyCostPrice, + inventory.Count, + party.Replace, + party.Erase, + module='stock', type_='wizard') + Pool.register( + shipment.DeliveryNote, + shipment.PickingList, + shipment.SupplierRestockingList, + shipment.CustomerReturnRestockingList, + shipment.InteralShipmentReport, + module='stock', type_='report') diff --git a/modules/stock/configuration.py b/modules/stock/configuration.py new file mode 100644 index 0000000000..d18a5afd5b --- /dev/null +++ b/modules/stock/configuration.py @@ -0,0 +1,241 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond import backend +from trytond.model import (ModelView, ModelSQL, ModelSingleton, ValueMixin, + fields) +from trytond.pool import Pool +from trytond.pyson import Eval, Id +from trytond.tools.multivalue import migrate_property +from trytond.modules.company.model import ( + CompanyMultiValueMixin, CompanyValueMixin) + +sequences = ['shipment_in_sequence', 'shipment_in_return_sequence', + 'shipment_out_sequence', 'shipment_out_return_sequence', + 'shipment_internal_sequence', 'inventory_sequence'] +shipment_internal_transit = fields.Many2One( + 'stock.location', "Internal Shipment Transit", required=True, + domain=[ + ('type', '=', 'storage'), + ], + help="The default location used for stock that is in transit between " + "warehouses.") + + +def default_func(field_name): + @classmethod + def default(cls, **pattern): + return getattr( + cls.multivalue_model(field_name), + 'default_%s' % field_name, lambda: None)() + return default + + +def default_sequence(name): + @classmethod + def default(cls): + pool = Pool() + ModelData = pool.get('ir.model.data') + try: + return ModelData.get_id('stock', name) + except KeyError: + return None + return default + + +class Configuration( + ModelSingleton, ModelSQL, ModelView, CompanyMultiValueMixin): + 'Stock Configuration' + __name__ = 'stock.configuration' + shipment_in_sequence = fields.MultiValue(fields.Many2One( + 'ir.sequence', "Supplier Shipment Sequence", required=True, + domain=[ + ('company', 'in', + [Eval('context', {}).get('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_in')), + ], + help="Used to generate the number given to supplier shipments.")) + shipment_in_return_sequence = fields.MultiValue(fields.Many2One( + 'ir.sequence', "Supplier Return Shipment Sequence", required=True, + domain=[ + ('company', 'in', + [Eval('context', {}).get('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_in_return')), + ], + help="Used to generate the number given to supplier return " + "shipments.")) + shipment_out_sequence = fields.MultiValue(fields.Many2One( + 'ir.sequence', "Customer Shipment Sequence", required=True, + domain=[ + ('company', 'in', + [Eval('context', {}).get('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_out')), + ], + help="Used to generate the number given to customer " + "shipments.")) + shipment_out_return_sequence = fields.MultiValue(fields.Many2One( + 'ir.sequence', "Customer Return Shipment Sequence", required=True, + domain=[ + ('company', 'in', + [Eval('context', {}).get('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_out_return')), + ], + help="Used to generate the number given to customer return " + "shipments.")) + shipment_internal_sequence = fields.MultiValue(fields.Many2One( + 'ir.sequence', "Internal Shipment Sequence", required=True, + domain=[ + ('company', 'in', + [Eval('context', {}).get('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_internal')), + ], + help="Used to generate the number given to internal " + "shipments.")) + inventory_sequence = fields.MultiValue(fields.Many2One( + 'ir.sequence', "Inventory Sequence", required=True, + domain=[ + ('company', 'in', + [Eval('context', {}).get('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_inventory')), + ], + help="Used to generate the number given to inventories.")) + shipment_internal_transit = fields.MultiValue(shipment_internal_transit) + + @classmethod + def multivalue_model(cls, field): + pool = Pool() + if field in sequences: + return pool.get('stock.configuration.sequence') + if field == 'shipment_internal_transit': + return pool.get('stock.configuration.location') + return super(Configuration, cls).multivalue_model(field) + + default_shipment_in_sequence = default_func('shipment_in_sequence') + default_shipment_in_return_sequence = default_func( + 'shipment_in_return_sequence') + default_shipment_out_sequence = default_func('shipment_out_sequence') + default_shipment_out_return_sequence = default_func( + 'shipment_out_return_sequence') + default_shipment_internal_sequence = default_func( + 'shipment_internal_sequence') + default_inventory_sequence = default_func('inventory_sequence') + default_shipment_internal_transit = default_func( + 'shipment_internal_transit') + + +class ConfigurationSequence(ModelSQL, CompanyValueMixin): + "Stock Configuration Sequence" + __name__ = 'stock.configuration.sequence' + shipment_in_sequence = fields.Many2One( + 'ir.sequence', "Supplier Shipment Sequence", required=True, + domain=[ + ('company', 'in', [Eval('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_in')), + ], + depends=['company']) + shipment_in_return_sequence = fields.Many2One( + 'ir.sequence', "Supplier Return Shipment Sequence", required=True, + domain=[ + ('company', 'in', [Eval('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_in_return')), + ], + depends=['company']) + shipment_out_sequence = fields.Many2One( + 'ir.sequence', "Customer Shipment Sequence", required=True, + domain=[ + ('company', 'in', [Eval('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_out')), + ], + depends=['company']) + shipment_out_return_sequence = fields.Many2One( + 'ir.sequence', "Customer Return Shipment Sequence", required=True, + domain=[ + ('company', 'in', [Eval('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_out_return')), + ], + depends=['company']) + shipment_internal_sequence = fields.Many2One( + 'ir.sequence', "Internal Shipment Sequence", required=True, + domain=[ + ('company', 'in', [Eval('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_shipment_internal')), + ], + depends=['company']) + inventory_sequence = fields.Many2One( + 'ir.sequence', "Inventory Sequence", required=True, + domain=[ + ('company', 'in', [Eval('company', -1), None]), + ('sequence_type', '=', + Id('stock', 'sequence_type_inventory')), + ], + depends=['company']) + + @classmethod + def __register__(cls, module_name): + exist = backend.TableHandler.table_exist(cls._table) + + super(ConfigurationSequence, cls).__register__(module_name) + + if not exist: + cls._migrate_property([], [], []) + + @classmethod + def _migrate_property(cls, field_names, value_names, fields): + field_names.extend(sequences) + value_names.extend(sequences) + fields.append('company') + migrate_property( + 'stock.configuration', field_names, cls, value_names, + fields=fields) + + default_shipment_in_sequence = default_sequence('sequence_shipment_in') + default_shipment_in_return_sequence = default_sequence( + 'sequence_shipment_in_return') + default_shipment_out_sequence = default_sequence('sequence_shipment_out') + default_shipment_out_return_sequence = default_sequence( + 'sequence_shipment_out_return') + default_shipment_internal_sequence = default_sequence( + 'sequence_shipment_internal') + default_inventory_sequence = default_sequence('sequence_inventory') + + +class ConfigurationLocation(ModelSQL, ValueMixin): + "Stock Configuration Location" + __name__ = 'stock.configuration.location' + shipment_internal_transit = shipment_internal_transit + + @classmethod + def __register__(cls, module_name): + exist = backend.TableHandler.table_exist(cls._table) + + super(ConfigurationLocation, cls).__register__(module_name) + + if not exist: + cls._migrate_property([], [], []) + + @classmethod + def _migrate_property(cls, field_names, value_names, fields): + field_names.append('shipment_internal_transit') + value_names.append('shipment_internal_transit') + migrate_property( + 'stock.configuration', field_names, cls, value_names, + fields=fields) + + @classmethod + def default_shipment_internal_transit(cls): + pool = Pool() + ModelData = pool.get('ir.model.data') + try: + return ModelData.get_id('stock', 'location_transit') + except KeyError: + return None diff --git a/modules/stock/configuration.xml b/modules/stock/configuration.xml new file mode 100644 index 0000000000..102f9dd620 --- /dev/null +++ b/modules/stock/configuration.xml @@ -0,0 +1,46 @@ + + + + + + stock.configuration + form + configuration_form + + + Configuration + stock.configuration + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/stock/customer_return_restocking_list.fodt b/modules/stock/customer_return_restocking_list.fodt new file mode 100644 index 0000000000..7e69d840fb --- /dev/null +++ b/modules/stock/customer_return_restocking_list.fodt @@ -0,0 +1,491 @@ + + + + LibreOffice/5.2.7.2$Linux_X86_64 LibreOffice_project/20m0$Build-2Bertrand Chenal2009-03-26T13:54:482016-03-21T16:02:20.53387491256PT7H2M27S + + + 0 + 0 + 43760 + 21691 + true + false + + + view2 + 2630 + 5313 + 0 + 0 + 43759 + 21689 + 0 + 0 + false + 100 + false + + + + + false + true + true + true + 0 + true + true + + false + false + false + false + false + false + false + false + false + false + false + false + false + true + false + true + true + false + false + false + false + + false + false + true + false + false + + false + false + false + false + true + 440606 + false + true + true + false + true + true + false + true + 0 + false + true + high-resolution + false + false + false + true + true + true + + true + false + false + true + false + false + false + + false + false + 68753 + false + 1 + true + false + false + 0 + false + false + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <if test="company and company.header"> + <for each="line in company.header.split('\n')"> + <line> + </for> + </if> + <company.rec_name if company else ''> + + + <if test="company and company.footer"> + <for each="line in company.footer.split('\n')"> + <line> + </for> + </if> + 2/2 + + + + + + + + + + + + + <for each="shipment in records"> + Restocking List + Shipment Number: <shipment.number> + Reference: <shipment.origins or ''><', ' if (shipment.origins and shipment.reference) else ''><shipment.reference or ''> + Customer: <shipment.customer.rec_name> + Planned Date: <shipment.planned_date and format_date(shipment.planned_date, user.language) or ''> + Warehouse: <shipment.warehouse.rec_name> + + + + + + + + From Location + + + To Location + + + Product + + + Quantity + + + + + + <for each="move in moves[shipment.id]"> + + + + + + + + + + + + <move.from_location.rec_name> + + + <move.to_location.rec_name> + + + <move.product.rec_name> + + + <format_number(move.quantity, user.language, digits=move.unit_digits)> <move.uom.symbol> + + + + + </for> + + + + + + + + + + + </for> + + + diff --git a/modules/stock/delivery_note.fodt b/modules/stock/delivery_note.fodt new file mode 100644 index 0000000000..f03d666a7e --- /dev/null +++ b/modules/stock/delivery_note.fodt @@ -0,0 +1,491 @@ + + + + LibreOffice/6.4.6.2$Linux_X86_64 LibreOffice_project/40$Build-22008-06-07T15:29:022009-03-26T18:33:131PT0S + + + 28998 + 0 + 26301 + 24026 + true + false + + + view2 + 4651 + 35512 + 0 + 28998 + 26300 + 53023 + 0 + 0 + false + 100 + false + false + + + + + false + true + true + true + 0 + true + true + + false + false + false + false + false + false + false + false + true + true + false + false + false + false + false + false + false + false + false + false + true + false + true + true + 1813180 + false + + false + true + false + false + false + true + false + false + false + true + 2809848 + + true + false + true + false + false + true + true + false + true + false + false + false + 0 + false + true + high-resolution + false + false + false + false + false + false + true + true + true + + true + false + false + true + false + false + false + + false + false + false + 1 + true + false + false + 0 + false + false + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <if test="company and company.header"> + <for each="line in company.header.split('\n')"> + <line> + </for> + </if> + <company.rec_name if company else ''> + + + <if test="company and company.footer"> + <for each="line in company.footer.split('\n')"> + <line> + </for> + </if> + 2/2 + + + + + + + + + + + + + + <for each="shipment in records"> + + <replace text:p="set_lang(shipment.delivery_address.party.lang)"> + <replace text:p="shipment.set_lang(shipment.delivery_address.party.lang)"> + <for each="line in shipment.delivery_address.full_address.split('\n')"> + <line> + </for> + Delivery Note + Shipment Number: <shipment.number>Customer Code: <shipment.customer.code>Reference: <shipment.origins or ''><', ' if (shipment.origins and shipment.reference) else ''><shipment.reference or ''>Date: <format_date(shipment.effective_date and shipment.effective_date or datetime.datetime.today(), shipment.delivery_address.party.lang)> + + + + + + + Product + + + Quantity + + + + + + <for each="move in shipment.outgoing_moves"> + + + + + + <move.product.rec_name> + + + <format_number(move.quantity, shipment.delivery_address.party.lang, digits=move.unit_digits)><move.uom.symbol> + + + + + </for> + + + + + </for> + + + \ No newline at end of file diff --git a/modules/stock/doc/conf.py b/modules/stock/doc/conf.py new file mode 100644 index 0000000000..8513b72dd2 --- /dev/null +++ b/modules/stock/doc/conf.py @@ -0,0 +1,61 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +modules_url = 'https://docs.tryton.org/projects/modules-{module}/en/{series}/' +trytond_url = 'https://docs.tryton.org/projects/server/en/{series}/' + + +def get_info(): + import configparser + import os + import subprocess + import sys + + module_dir = os.path.dirname(os.path.dirname(__file__)) + + config = configparser.ConfigParser() + config.read_file(open(os.path.join(module_dir, 'tryton.cfg'))) + info = dict(config.items('tryton')) + + result = subprocess.run( + [sys.executable, 'setup.py', '--name'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + info['name'] = result.stdout.decode('utf-8').strip() + + result = subprocess.run( + [sys.executable, 'setup.py', '--version'], + stdout=subprocess.PIPE, check=True, cwd=module_dir) + version = result.stdout.decode('utf-8').strip() + if 'dev' in version: + info['series'] = 'latest' + else: + info['series'] = '.'.join(version.split('.', 2)[:2]) + + for key in {'depends', 'extras_depend'}: + info[key] = info.get(key, '').strip().splitlines() + info['modules'] = set(info['depends'] + info['extras_depend']) + info['modules'] -= {'ir', 'res'} + + return info + + +info = get_info() + +master_doc = 'index' +project = info['name'] +release = version = info['series'] +default_role = 'ref' +highlight_language = 'none' +extensions = [ + 'sphinx.ext.intersphinx', + ] +intersphinx_mapping = { + 'trytond': (trytond_url.format(series=version), None), + } +intersphinx_mapping.update({ + m: (modules_url.format( + module=m.replace('_', '-'), series=version), None) + for m in info['modules'] + }) + +del get_info, info, modules_url, trytond_url diff --git a/modules/stock/doc/design/configuration.rst b/modules/stock/doc/design/configuration.rst new file mode 100644 index 0000000000..205e7671bd --- /dev/null +++ b/modules/stock/doc/design/configuration.rst @@ -0,0 +1,17 @@ +.. _model-stock.configuration: + +Configuration +============= + +The *Stock Configuration* contains settings that are used to configure the +behaviour and default values for stock related activities, including the +sequences used to generate `Shipment ` numbers. + +.. seealso:: + + The stock configuration can be found using the main menu item: + + |Inventory & Stock --> Configuration --> Stock Configuration|__ + + .. |Inventory & Stock --> Configuration --> Stock Configuration| replace:: :menuselection:`Inventory & Stock --> Configuration --> Stock Configuration` + __ https://demo.tryton.org/model/stock.configuration/1 diff --git a/modules/stock/doc/design/index.rst b/modules/stock/doc/design/index.rst new file mode 100644 index 0000000000..7d756ab618 --- /dev/null +++ b/modules/stock/doc/design/index.rst @@ -0,0 +1,16 @@ +****** +Design +****** + +The stock module introduces or extends the following concepts. + +.. toctree:: + :maxdepth: 1 + + location + move + shipment + inventory + period + configuration + product diff --git a/modules/stock/doc/design/inventory.rst b/modules/stock/doc/design/inventory.rst new file mode 100644 index 0000000000..b8bb24e7c3 --- /dev/null +++ b/modules/stock/doc/design/inventory.rst @@ -0,0 +1,48 @@ +.. _model-stock.inventory: + +Inventory +========= + +The *Inventory* concept is used to help check and correct the amount of +stock stored in a `Location `. + +Each inventory has a set of lines, one for each `Product ` +that is in, or is should be in, the location. +Each line has an expected quantity and an actual quantity. +The former is used to show how much stock is expected to be in the location +and the latter is used to record how much stock was actually found there. + +A option on the inventory specifies what to do with lines whose actual +quantity is left empty. + +When the *Inventory* is confirmed the stock in the location is updated by +creating a set of `Stock Moves `. +These moves correct the stock in the location. +They do this by transferring stock to and from the lost and found location +associated with location being checked. + +.. warning:: + + Do not use inventories when `Setting initial stock levels`. + +.. seealso:: + + The inventory checks can be found using the main menu item: + + |Inventory & Stock --> Inventories|__ + + .. |Inventory & Stock --> Inventories| replace:: :menuselection:`Inventory & Stock --> Inventories` + __ https://demo.tryton.org/model/stock.inventory + +Wizards +------- + +.. _wizard-stock.inventory.count: + +Inventory Count +^^^^^^^^^^^^^^^ + +The *Inventory Count* wizard helps users fill in inventories on a +`Product ` by product basis. +It takes a product and a quantity and adds this to the appropriate inventory +line. diff --git a/modules/stock/doc/design/location.rst b/modules/stock/doc/design/location.rst new file mode 100644 index 0000000000..2bbd226b01 --- /dev/null +++ b/modules/stock/doc/design/location.rst @@ -0,0 +1,59 @@ +.. _model-stock.location: + +Location +======== + +A location represents the place where stock is stored. +This may be a physical location, such as a shelf, or a virtual location such +as the location used for products that have gone missing. + +Locations are organised in to a structure with each location having a parent +location and zero or more sub-locations. +It is possible to restrict a location to only one level of children. +This enables the use of an optimisation that improves the performance of the +the stock quantity calculation. + +A location also has a set of properties that allow the :ref:`current and +forecasted amounts of stock ` in the location to be +obtained along with the stock's value. + +.. _concept-stock.location.warehouse: + +Warehouse +--------- + +Warehouses are special locations that represent a physical warehouse and as +such can have an `Address `. +They are also normally split up into a set of locations each with a particular +purpose, such as for the input, output or storage of stock. + +.. seealso:: + + Stock locations can be added, removed and changed from the main menu item: + + |Inventory & Stock --> Configuration --> Locations|__ + + .. |Inventory & Stock --> Configuration --> Locations| replace:: :menuselection:`Inventory & Stock --> Configuration --> Locations` + __ https://demo.tryton.org/model/stock.location + + The stock locations structure, and access to the stock levels in + a location can be found from the main menu item: + + :menuselection:`Inventory & Stock --> Locations` + +.. _model-stock.location.lead_time: + +Location Lead Time +================== + +A *Location Lead Time* is the amount of time that it normally takes to +transfer stock between two `Warehouses `. + +.. seealso:: + + Location lead times can be updated from the main menu item: + + |Inventory & Stock --> Configuration --> Locations --> Location Lead Times|__ + + .. |Inventory & Stock --> Configuration --> Locations --> Location Lead Times| replace:: :menuselection:`Inventory & Stock --> Configuration --> Locations --> Location Lead Times` + __ https://demo.tryton.org/model/stock.location.lead_time diff --git a/modules/stock/doc/design/move.rst b/modules/stock/doc/design/move.rst new file mode 100644 index 0000000000..b183437716 --- /dev/null +++ b/modules/stock/doc/design/move.rst @@ -0,0 +1,58 @@ +.. _model-stock.move: + +Move +==== + +In Tryton a stock *Move* represents the transfer of a given amount of a +`Product ` between two different +`Stock Locations `. +Often stock moves will be grouped together into a +`Shipment `. + +.. note:: + + Service products have no physical presence, so are not available for + use in stock moves. + +A stock move has some properties that record the planned date for the stock +move and also its effective date, which is when the move actually happened. + +Some stock moves are also associated with unit and cost prices. +These allow the value of stock to be calculated at any time, and for products' +cost prices to be updated based on the stock moves. + +Each `Company ` has its own stock moves which +are kept separate from other company's stock moves. + +.. seealso:: + + The stock moves can be listed by opening the main menu item: + + |Inventory & Stock --> Moves|__ + + .. |Inventory & Stock --> Moves| replace:: :menuselection:`Inventory & Stock --> Moves` + __ https://demo.tryton.org/model/stock.move + +.. _concept-stock.move.assign: + +Assign Concept +-------------- + +A stock move is assigned when the stock for the stock move has been found +and reserved and cannot be assigned by any other stock move. + +When attempting to assign a stock move Tryton looks at the stock move's source +locations and their sub-locations, and searches for the stock that is needed +to complete the stock moves. +If stock is found then the source location of the stock move is changed, +or the stock move is split up into several stock moves, each of which may +take stock from a different sub-location. + +If there is not enough stock available to fully assign the stock move then the +remainder is left in a stock move that is not assigned. + +.. note:: + + Consumable products always get assigned even when there is not enough + stock available for the stock move. + This is the key difference between goods and consumable products. diff --git a/modules/stock/doc/design/period.rst b/modules/stock/doc/design/period.rst new file mode 100644 index 0000000000..ecbb13ea3d --- /dev/null +++ b/modules/stock/doc/design/period.rst @@ -0,0 +1,32 @@ +.. _model-stock.period: + +Period +====== + +In Tryton a stock *Period* is used to group together the all stock moves that +happened up to a specific date and that were also done after the date of any +previous stock *Period*. + +This allows the stock levels for the `Products ` in all stock +`Locations ` to be calculated for the date of the period, +and stored in the `Stock Period Cache `. + +These cached values can then be used, where applicable, instead of having to +recalculate them each time they are needed. + +.. seealso:: + + The periods can be viewed and managed from the main menu item: + + |Inventory & Stock --> Configuration --> Periods|__ + + .. |Inventory & Stock --> Configuration --> Periods| replace:: :menuselection:`Inventory & Stock --> Configuration --> Periods` + __ https://demo.tryton.org/model/stock.period + +.. _model-stock.period.cache: + +Period Cache +============ + +The *Period Cache* is used to store the quantities of a product in a +particular location on the date defined by its `Period `. diff --git a/modules/stock/doc/design/product.rst b/modules/stock/doc/design/product.rst new file mode 100644 index 0000000000..3f72e03392 --- /dev/null +++ b/modules/stock/doc/design/product.rst @@ -0,0 +1,97 @@ +.. _concept-product: + +Product +======= + +When the *Stock Module* is activated, products gain some extra properties. +These include a product's stock and forecast quantities, which show its +current and predicted future stock situation, and the cost value of its +stock. + +.. seealso:: + + The `Product ` concept is introduced by the + :doc:`Product Module `. + +.. _concept-product.quantity: + +Product Quantity +---------------- + +The amount, and the value, of a product in a +`Stock Location ` is calculated by adding up all the +`Stock Moves ` in to that location and subtracting those +out of the same location. + +Some values from the +:attr:`Transaction context ` +are used to help determine which stock moves get included in this calculation +and which get left out. +These values include things like which locations to include in the +calculation, and what dates should be included. + +Normally, when calculating stock quantities for a date in the past, only moves +that are done are included in the calculation, and only if their effective +date is early enough. +This reflects the real situation based on completed stock moves. +For dates in the future, draft and `Assigned ` +moves are also included, but only if their planned date is between today's +date and the future date, inclusive. + +.. note:: + + The stock quantity of consumable products is calculated in exactly + the same way as any other product, even though consumable products + can always be assigned regardless of how much stock there is. + +Wizards +------- + +.. _wizard-product.recompute_cost_price: + +Recompute Cost Price +^^^^^^^^^^^^^^^^^^^^ + +The *Recompute Cost Price* wizard updates products' cost prices using their +cost price method. + +.. _wizard-product.modify_cost_price: + +Modify Cost Price +^^^^^^^^^^^^^^^^^ + +The *Modify Cost Price* wizard is only way in which a product's cost price +can be changed once it has stock moves. +The wizard takes a date and a fixed price or formula for the new cost price. +These changes are stored in the +`Cost Price Revision ` concept and are +applied at the beginning of the date that was selected when the cost price +of the product gets re-calculated. + +.. _model-stock.product_quantities_warehouse: + +Product Quantities by Warehouse +=============================== + +The idea of the *Product Quantities by Warehouse* concept is to provide +information about how the stock levels of one or more products have varied +over time in a particular `Warehouse `. + +.. _model-stock.product_quantities_warehouse.move: + +Product Quantities by Warehouse Move +==================================== + +The *Product Quantities by Warehouse Move* concept provides information about +how `Stock Moves ` have affected the stock levels in a +`Warehouse ` over time. + +.. _model-product.cost_price.revision: + +Cost Price Revision +=================== + +The *Cost Price Revision* records changes to a product's cost price. +These revisions are automatically created when the product's cost price is +changed using the `Modify Cost Price ` +wizard. diff --git a/modules/stock/doc/design/shipment.rst b/modules/stock/doc/design/shipment.rst new file mode 100644 index 0000000000..41904482a4 --- /dev/null +++ b/modules/stock/doc/design/shipment.rst @@ -0,0 +1,231 @@ +.. _concept-stock.shipment: + +Shipment +======== + +In Tryton the concept of a *Shipment* is used to help organise and manage +groups of related `Stock Moves `. +There are different types of shipment which are used for different purposes. +Some of these types of shipment may also be split up into stages. +In each stage stock is moved to or from an intermediate +`Location `. +Each stage's moves form a subset of the shipment's total moves. + +.. _model-stock.shipment.in: + +Supplier Shipment +----------------- + +A *Supplier Shipment* has a set of properties that hold details about the +shipment such as who the supplier is, what +`Warehouse ` it is going to and the date +when the shipment is expected to be delivered. + +It is made up from two sets of `Stock Moves `: + +* Incoming moves, these are used to move stock between a supplier + `Location ` and the warehouse's input location, and +* Inventory moves, these then put the stock away in the warehouse's storage + location, or one of its child locations. + +.. note:: + + If the warehouse's input location and storage location are the same then + the inventory moves are not created. + +.. seealso:: + + The supplier shipments can be found by opening the main menu item: + + |Inventory & Stock --> Supplier Shipments|__ + + .. |Inventory & Stock --> Supplier Shipments| replace:: :menuselection:`Inventory & Stock --> Supplier Shipments` + __ https://demo.tryton.org/model/stock.shipment.in + +Reports +^^^^^^^ + +.. _report-stock.shipment.in.restocking_list: + +Restocking List +""""""""""""""" + +The *Restocking List* report lists the items on an incoming shipment and the +destination locations for the stock based on the inventory moves. + +.. _model-stock.shipment.in.return: + +Supplier Return Shipment +------------------------ + +A *Supplier Return Shipment* has a set of properties that contain information +about the shipment such as who the supplier was, what +`Address ` the shipment is going to, and the date +the shipment is sent. + +It is made up from a single set of `Stock Moves ` that return +the stock directly back to a supplier `Location `. + +.. seealso:: + + The supplier shipments can be found by opening the main menu item: + + |Inventory & Stock --> Supplier Shipments --> Supplier Return Shipments|__ + + .. |Inventory & Stock --> Supplier Shipments --> Supplier Return Shipments| replace:: :menuselection:`Inventory & Stock --> Supplier Shipments --> Supplier Return Shipments` + __ https://demo.tryton.org/model/stock.shipment.in.return + +.. _model-stock.shipment.out: + +Customer Shipment +----------------- + +A *Customer Shipment* has a set of properties that contain information about +the shipment such as which `Warehouse ` it +is being sent from, what `Address ` it is being +delivered to, and the date it is being sent. + +A customer shipment is made up from two sets of +`Stock Moves `: + +* Inventory moves, these moves are used to pick the stock from the warehouse's + storage `Location ` and put it in the output location, + and +* Outgoing moves, these then take the picked stock and send it to a + customer location. + The outgoing moves are created first and define what stock needs to be sent + to the customer. + +.. note:: + + If the warehouse's picking location (or storage location if no picking + location is defined) is the same as its output location then only + outgoing moves are created and these moves do not get + `Assigned `. + +.. seealso:: + + The customer shipments can be found by opening the main menu item: + + |Inventory & Stock --> Customer Shipments|__ + + .. |Inventory & Stock --> Customer Shipments| replace:: :menuselection:`Inventory & Stock --> Customer Shipments` + __ https://demo.tryton.org/model/stock.shipment.out + +Reports +^^^^^^^ + +.. _report-stock.shipment.out.picking_list: + +Picking List +"""""""""""" + +The *Picking List* report lists the stock that is needed for a shipment. +For each item on the shipment it details the location the stock should be +taken from, and how much should be taken. + +.. _report-stock.shipment.out.delivery_note: + +Delivery Note +""""""""""""" + +The *Delivery Note* report contains information about where the shipment is +being sent, and when the delivery is happening. +It also lists all the items on the shipment. + +.. _model-stock.shipment.out.return: + +Customer Return Shipment +------------------------ + +A *Customer Return Shipment* has properties that contain information about +which customer the stock is being returned from, which +`Warehouse ` it is sent to and the date the +return is happening. + +It is made up from two sets of `Stock Moves `: + +* Incoming moves, these are used to move stock between a customer + `Location ` and the warehouse's input location, and +* Inventory moves, these then put the stock away in the warehouse's storage + location, or one of its child locations. + +.. note:: + + If the warehouse's input location and storage location are the same then + the inventory moves are not created. + +.. seealso:: + + The customer shipments can be found by opening the main menu item: + + |Inventory & Stock --> Customer Shipments --> Customer Return Shipments|__ + + .. |Inventory & Stock --> Customer Shipments --> Customer Return Shipments| replace:: :menuselection:`Inventory & Stock --> Customer Shipments --> Customer Return Shipments` + __ https://demo.tryton.org/model/stock.shipment.out.return + +Reports +^^^^^^^ + +.. _report-stock.shipment.out.return.restocking_list: + +Customer Return Restocking List +""""""""""""""""""""""""""""""" + +The *Customer Return Restocking List* report lists the items that were +returned by a customer. +For each item a destination location for the stock is also included based on +the inventory moves. + +.. _model-stock.shipment.internal: + +Internal Shipment +----------------- + +An internal shipment allows a group of `Stock Moves `, +between locations within the same `Company `, +to be managed as a single entity. + +For internal shipments that are planned to start and end on different dates it +is made up from two sets of moves. +The first set are outgoing moves that put the stock in a transit +`Location ` and the second set are incoming moves that +take the stock from the transit location and place it in the destination +location. + +.. seealso:: + + Internal shipments are available from the main menu item: + + |Inventory & Stock --> Internal Shipments|__ + + .. |Inventory & Stock --> Internal Shipments| replace:: :menuselection:`Inventory & Stock --> Internal Shipments` + __ https://demo.tryton.org/model/stock.shipment.internal + +Reports +^^^^^^^ + +.. _report-stock.shipment.internal.report: + +Internal Shipment Report +"""""""""""""""""""""""" + +The *Internal Shipment Report* provides a list of the items on the internal +shipment along with their quantities. +For shipments between `Warehouses ` it also +contains the `Address ` of the warehouse the stock +is being sent to. + +Wizards +------- + +.. _wizard-stock.shipment.assign: + +Assign Shipment +^^^^^^^^^^^^^^^ + +The *Assign Shipment* wizard is used to assign a shipment. +Assigning a shipment tries to `Assign ` the +`Stock Moves ` that take the stock for the shipment. +If not all the stock moves can be assigned then it provides the user with a +set of options of what to do next. diff --git a/modules/stock/doc/index.rst b/modules/stock/doc/index.rst new file mode 100644 index 0000000000..09829b9887 --- /dev/null +++ b/modules/stock/doc/index.rst @@ -0,0 +1,18 @@ +############ +Stock Module +############ + +The *Stock Module* provides the fundamental concepts required for managing +stock. +This includes keeping track of where the stock is, how much is available, +and checking and correcting stock levels. +It also allows stock to be moved from one place to another, and delivered to +and from customers and suppliers. + +.. toctree:: + :maxdepth: 2 + + setup + usage/index + design/index + reference diff --git a/modules/stock/doc/reference.rst b/modules/stock/doc/reference.rst new file mode 100644 index 0000000000..ca0f3a8492 --- /dev/null +++ b/modules/stock/doc/reference.rst @@ -0,0 +1,13 @@ +************* +API Reference +************* + +Stock Quantities +================ + +.. class:: trytond.modules.stock.StockMixin + + This mixin_ provides some common methods that are useful when creating + classes that provide quantity fields. + + .. _mixin: http://en.wikipedia.org/wiki/Mixin diff --git a/modules/stock/doc/setup.rst b/modules/stock/doc/setup.rst new file mode 100644 index 0000000000..d6f794a50e --- /dev/null +++ b/modules/stock/doc/setup.rst @@ -0,0 +1,69 @@ +***** +Setup +***** + +.. _Setting up stock locations: + +Setting up stock locations +========================== + +The *Stock Module* provides a set of default +`Stock Locations `, however it is likely that you will +want to customise them to suit your company. + +.. tip:: + + If you only have a small `Warehouse ` + you can use the same location for its storage, input and output locations. + This reduces the stock moves required to send and receive shipments. + +.. tip:: + + If you have a large number of locations in your warehouse you can + use the option to limit locations to only a single level of children. + This will improve the performance of Tryton when it is calculating + stock quantities. + +.. tip:: + + If you are altering your stock locations, and you have already used a + stock location then it cannot be deleted. + However, you can deactivate it which will hide it during normal use. + +.. _Setting initial stock levels: + +Setting initial stock levels +============================ + +When you start using Tryton you may already have some stock that you want to +bring into the system. + +In order to ensure the value of your stock is correctly calculated, and to +show that this stock has (at some point in the past) come from a supplier, +you must enter this initial stock in the correct way. + +The right way of doing this is to create a set of individual +`Stock Moves `. +These moves can be created in the view that is opened from the +|Inventory & Stock --> Moves|__ main menu item. +Each of the stock moves should move some stock of a `Product ` +from a supplier `Location ` to the appropriate storage +location. +These stock moves must have their unit prices set to their product's cost +price. + +.. |Inventory & Stock --> Moves| replace:: :menuselection:`Inventory & Stock --> Moves` +__ https://demo.tryton.org/model/stock.move + +.. note:: + + As these moves are for your initial stock they have no origin, and + when you try and do these moves Tryton will warn you about this. + Because this is for your initial stock this is not a problem, and you + can safely go ahead and finish doing the moves. + +.. tip:: + + If you create all the stock moves to start with, you can then select them + all in the list view, and use the :guilabel:`Do` item from the + :guilabel:`Launch Action` menu to do them all in one go. diff --git a/modules/stock/doc/usage/index.rst b/modules/stock/doc/usage/index.rst new file mode 100644 index 0000000000..72be41020a --- /dev/null +++ b/modules/stock/doc/usage/index.rst @@ -0,0 +1,14 @@ +***** +Usage +***** + +The [:menuselection:`Inventory & Stock`] main menu item allows access to the +items that allow you to view, manage and change things related to stock. + +.. toctree:: + :maxdepth: 1 + + shipment + quantity + value + period diff --git a/modules/stock/doc/usage/period.rst b/modules/stock/doc/usage/period.rst new file mode 100644 index 0000000000..c45d496c74 --- /dev/null +++ b/modules/stock/doc/usage/period.rst @@ -0,0 +1,16 @@ +.. _Using stock periods: + +Using stock periods +=================== + +You can use `Stock Periods ` to stop +`Stock Moves ` being created or updated before a specific +date, and to improve the performance of Tryton when looking at and using +`Product Quantities `. + +.. tip:: + + Depending on the number of stock moves that your + `Company ` generates you may find it useful + to create new stock periods as part of your accounting period end, or + fiscal year end, processes. diff --git a/modules/stock/doc/usage/quantity.rst b/modules/stock/doc/usage/quantity.rst new file mode 100644 index 0000000000..9cd58192f5 --- /dev/null +++ b/modules/stock/doc/usage/quantity.rst @@ -0,0 +1,98 @@ +.. _Viewing stock levels: + +Viewing stock levels +==================== + +In Tryton there are a few different ways of seeing +`Product Stock Quantities `. +You can also easily see what the stock situation was at any time in the past, +and get an idea of what the stock situation will be after any +`Stock Moves ` that are still being processed have been +completed. + +.. note:: + + Tryton is designed to allow you to create stock moves even if they + create negative stock. + For normal storage locations negative stock levels indicate that more + stock has been used than was available. + This suggests that there may be incoming moves to the location that + have not yet been done, or a mistake has been made that can be resolved + by `Checking and correcting stock levels`. + + However, although it is possible to create negative stock, you will + normally use `Shipments ` to help manage stock + moves, and a process to `assign them `. + These respect stock availability and wont allow you to create negative + stock unless you force them to. + +Depending on what you are trying to find out you can get information about +stock levels for either `Products ` or +`Locations `. + +If you are interested in finding out where some particular products are +stored, then once you have selected the products you are interested in, you +can use the menu items in the product's :guilabel:`Open related records` menu. + +To view how much stock is in one or more stock locations you first need to +select the locations you are interested in. +Once you have done this you can use the :guilabel:`Products` item from the +:guilabel:`Open related records` menu. +This then shows the total stock that is in all the selected locations. + +.. tip:: + + From the [:menuselection:`Inventory & Stock --> Locations`] main menu item + you can quickly get a list of stock in a single location by opening the + location you are interested in. + +.. tip:: + + If you have only selected a single location then the stock levels will + include all the stock in the location's children as well. + However, if you selected multiple locations then only the stock in the + selected locations is included, any stock in their child locations is + *not* included. + +.. _Checking and correcting stock levels: + +Checking and correcting stock levels +==================================== + +There are a range of things, such as mispicks, damages and theft, that can +cause the stock levels on Tryton to not match the actual amount of stock +available. + +Tryton allows you to check for and correct these discrepancies by performing +an `Inventory ` of a +`Stock Location `. +This process is sometimes also called a stocktake, stock count or inventory +check. +How often you need to do this, and to what extent, is very dependent on your +business. +You may do this once a year at the end of your fiscal year, or continuously +by means of a `cycle count`_. + +When you create a new inventory you can use the :guilabel:`Complete` button to +complete the creation of the inventory. +This adds a line to the inventory for each product that is expected to be in +the location. + +How you go about actually counting the stock will depend on how your stock +location is organised. +If each `Product ` is all together and is easy to count, +then you can enter the totals directly into the :guilabel:`Quantity` column. +If there are many different lines in the location, or not all of each product +is together, then you can start the `Count ` +wizard using the :guilabel:`Count` button to enter the quantities as you go. +In this case, multiple quantities for the same product will be automatically +added together. + +For each inventory you can choose how to deal with any lines where the quantity +has been left empty. +You can either keep the stock in the location, or empty it out. + +Once the inventory has been finished you use the :guilabel:`Confirm` button +to correct the stock levels on Tryton. + +.. _`cycle count`: https://en.wikipedia.org/wiki/Cycle_count diff --git a/modules/stock/doc/usage/shipment.rst b/modules/stock/doc/usage/shipment.rst new file mode 100644 index 0000000000..3813fd8472 --- /dev/null +++ b/modules/stock/doc/usage/shipment.rst @@ -0,0 +1,125 @@ +.. _Sending and receiving deliveries: + +Sending and receiving deliveries +================================ + +In Tryton you use `Shipments ` to send stock to your +customers and receive stock from your suppliers. +There are different kinds of shipments available depending on whether you're +dealing with customers or suppliers and whether you are sending or receiving +stock. + +Although each type of shipment helps you manage the delivery of some stock, +and encompasses the same set of ideas, each is tailored for a particular +type of delivery. + +From Suppliers +-------------- + +You use a `Supplier Shipment ` when receiving stock +from a supplier. + +* The supplier shipment is first received in to the + `Warehouse's ` + input `Location `. +* You can then use the + `Restocking List ` + to help you put the stock away in the right locations in the warehouse. + +To Suppliers +------------ + +If you need to send stock back to a supplier you use a +`Supplier Return Shipment `. + +To Customers +------------ + +You use a `Customer Shipment ` when sending stock +out to a customer. + +* When the customer shipment is waiting to be worked on, normally the first + thing you need to do is `Assign it `. +* You then pick the stock from the + `Warehouse `. + A `Picking List ` helps with this as + it details how much stock you need, and where it can be found. +* Once you've picked and packed the delivery you can dispatch it to the + customer from the warehouse's output `Location `. + It is common practice to send a + `Delivery Note ` along with your + customer's shipment. + +From Customers +-------------- + +Stock that is returned by customers is handled by using a +`Customer Return Shipment `. +It works in a similar way to supplier shipments. + +* You receive the stock in the warehouse's input location. +* Then you use the `Customer Return Restocking List + ` to help you put it away + in the warehouse. + +.. _Moving stock within your company: + +Moving stock within your company +================================ + +If you want to move stock between `Locations ` within a +`Warehouse `, or between warehouses that +belong to the same `Company ` you use an +`Internal Shipment `. + +The internal shipment helps you manage the processes of moving stock from one +place to another. + +* Once the internal shipment is waiting to be worked on, you need to go ahead + and `Assign it `. +* You can use the + `Internal Shipment Report ` + to help you find and pick, or move, the stock. +* If the stock is intended for another warehouse you then send the shipment + to it. +* Finally once you've put the stock away in the correct locations the internal + shipment is done. + +.. tip:: + + You can use the `Stock Location Lead Time ` + to setup how long it normally takes for shipments between two warehouses. + +.. note:: + + If an internal shipment is expected to take more than one day to complete + then when the stock is sent it gets put in a transit location until the + shipment is done. + +.. _Assigning shipments: + +Assigning shipments +=================== + +Any `Shipments ` types that normally take stock from +either a storage or view `Location ` must be assigned +before they can be done. +The aim of this process is to find and reserve the stock specifically for the +shipment. + +The `Assign Shipment ` wizard is used when +assigning shipments. +It tries to `Assign ` each of the shipment's +incoming `Stock Moves `. +In doing so it updates the stock moves based on what stock it managed to find. + +If there is not enough stock available to fully assign the shipment you can +force the remainder to be assigned, although this will result in some stock +locations having negative stock. + +.. note:: + + When stock moves from a view location are assigned the stock must always be + taken from one of its sub-locations, as view locations cannot be the + source or destination of a done move. + This also means moves from a view location cannot be forced. diff --git a/modules/stock/doc/usage/value.rst b/modules/stock/doc/usage/value.rst new file mode 100644 index 0000000000..6c46c7ae82 --- /dev/null +++ b/modules/stock/doc/usage/value.rst @@ -0,0 +1,66 @@ +.. _Finding the value of your stock: + +Finding the value of your stock +=============================== + +In Tryton you can easily find the value of stock that's in one, or more, +`Locations ` as the stock's cost value is included when +`Viewing stock levels` for the locations you are interested in. + +.. _Updating the value of your stock: + +Updating the value of your stock +================================ + +The value of the stock that your `Company ` +owns is based on the `Quantity ` of stock and its +cost price. + +You can correct the quantity of stock by +`Checking and correcting stock levels`. + +You can also change how much the stock is worth by +`Updating a product's cost price`. + +.. _Updating a product's cost price: + +Updating a product's cost price +=============================== + +A `Product's ` cost price is affected by various factors +including its cost price method and in some cases the value of stock received +or dispatched. + +The `Recompute Cost Price ` wizard is +used to update a product's cost price using the product's cost price method. + +.. tip:: + + Most of the time you will not need to run the wizard that recalculates your + products' cost prices, because, by default, there is a scheduled task that + runs once a day and does this for you. + + You can, however, also run the wizard at any time to ensure you are seeing + the most up to date information. + +Once there are some `Stock Moves ` for a +`Product ` you can make a manual adjustment to a product's +cost price using the `Modify Cost Price ` +wizard. +This allows you to do things like reduce the cost price, and consequently +stock value, of a product by ``10%`` from a certain date by using +``cost_price * 0.9``. + +.. note:: + + If you modify a cost price you may also need to run the *Recompute Cost + Price* wizard to see the changes reflected in the product's cost price. + +.. _Viewing cost price changes: + +Viewing cost price changes +========================== + +You can get a list of any manual cost price changes that have been applied +to a product by using the :guilabel:`Cost Price Revision` relate action from +the product's :guilabel:`Open Related Records` menu. diff --git a/modules/stock/exceptions.py b/modules/stock/exceptions.py new file mode 100644 index 0000000000..de1ece4150 --- /dev/null +++ b/modules/stock/exceptions.py @@ -0,0 +1,44 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.exceptions import UserError, UserWarning +from trytond.model.exceptions import ValidationError + + +class AssignError(UserError): + pass + + +class MoveValidationError(ValidationError): + pass + + +class LocationValidationError(ValidationError): + pass + + +class PeriodCloseError(UserError): + pass + + +class InventoryValidationError(ValidationError): + pass + + +class InventoryCountWarning(UserWarning): + pass + + +class MoveOriginWarning(UserWarning): + pass + + +class MoveFutureWarning(UserWarning): + pass + + +class InventoryFutureWarning(UserWarning): + pass + + +class ProductCostPriceError(ValidationError): + pass diff --git a/modules/stock/icons/LICENSE b/modules/stock/icons/LICENSE new file mode 100644 index 0000000000..7a4a3ea242 --- /dev/null +++ b/modules/stock/icons/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/modules/stock/icons/tryton-shipment-in.svg b/modules/stock/icons/tryton-shipment-in.svg new file mode 100644 index 0000000000..3559501b95 --- /dev/null +++ b/modules/stock/icons/tryton-shipment-in.svg @@ -0,0 +1 @@ + diff --git a/modules/stock/icons/tryton-shipment-out.svg b/modules/stock/icons/tryton-shipment-out.svg new file mode 100644 index 0000000000..1a17c766c0 --- /dev/null +++ b/modules/stock/icons/tryton-shipment-out.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/modules/stock/icons/tryton-stock.svg b/modules/stock/icons/tryton-stock.svg new file mode 100644 index 0000000000..0aacaac2dc --- /dev/null +++ b/modules/stock/icons/tryton-stock.svg @@ -0,0 +1,4 @@ + + + + diff --git a/modules/stock/internal_shipment.fodt b/modules/stock/internal_shipment.fodt new file mode 100644 index 0000000000..2ad81eb703 --- /dev/null +++ b/modules/stock/internal_shipment.fodt @@ -0,0 +1,528 @@ + + + + LibreOffice/6.4.6.2$Linux_X86_64 LibreOffice_project/40$Build-2Bertrand Chenal2009-03-26T13:54:482020-10-24T23:33:19.17812532962PT7H27M11S + + + 23186 + 0 + 26301 + 24026 + true + false + + + view2 + 4651 + 35512 + 0 + 23186 + 26300 + 47210 + 0 + 0 + false + 100 + false + false + + + + + false + true + true + true + 0 + true + true + + false + false + false + false + false + false + false + false + true + true + false + false + false + false + false + false + false + false + false + false + true + false + true + true + 1178252 + false + + false + true + false + false + false + true + false + false + false + true + 2029623 + + true + false + true + true + false + true + true + false + true + false + false + false + 0 + false + true + high-resolution + false + false + false + false + false + false + true + true + true + + true + false + false + true + false + false + false + + false + false + false + 1 + true + false + false + 0 + false + false + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <if test="company and company.header"> + <for each="line in company.header.split('\n')"> + <line> + </for> + </if> + <company.rec_name if company else ''> + + + <if test="company and company.footer"> + <for each="line in company.footer.split('\n')"> + <line> + </for> + </if> + 2/2 + + + + + + + + + + + + + + <for each="shipment in records"> + + <if test="shipment.to_location.warehouse and shipment.to_location.warehouse.address"> + <for each="line in shipment.to_location.warehouse.address.full_address.split('\n')"> + <line> + </for> + </if> + Internal Shipment + Shipment Number: <shipment.number> + Reference: <shipment.reference or ''> + From Location: <shipment.from_location.rec_name> + To Location: <shipment.to_location.rec_name> + Planned Date: <shipment.planned_date and format_date(shipment.planned_date, user.language) or ''> + + + + + + + + From Location + + + To Location + + + Product + + + Quantity + + + + + + <for each="move in moves[shipment.id]"> + + + + + + + + + + + + <move.from_location.rec_name> + + + <move.to_location.rec_name> + + + <move.product.rec_name> + + + <format_number(move.quantity, user.language, digits=move.unit_digits)><move.uom.symbol> + + + + + </for> + + + + + + + + + + + </for> + + + \ No newline at end of file diff --git a/modules/stock/inventory.py b/modules/stock/inventory.py new file mode 100644 index 0000000000..87f7f0f541 --- /dev/null +++ b/modules/stock/inventory.py @@ -0,0 +1,695 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import hashlib + +from sql import Null + +from trytond.i18n import gettext +from trytond.model import Workflow, Model, ModelView, ModelSQL, fields, Check +from trytond.model.exceptions import AccessError +from trytond.pyson import Eval, Bool, If +from trytond.transaction import Transaction +from trytond.pool import Pool +from trytond.wizard import Wizard, StateView, StateTransition, Button + +from .exceptions import ( + InventoryValidationError, InventoryCountWarning, InventoryFutureWarning) + + +class Inventory(Workflow, ModelSQL, ModelView): + 'Stock Inventory' + __name__ = 'stock.inventory' + _rec_name = 'number' + + _states = { + 'readonly': Eval('state') != 'draft', + } + _depends = ['state'] + + number = fields.Char('Number', readonly=True, + help="The main identifier for the inventory.") + location = fields.Many2One( + 'stock.location', 'Location', required=True, + domain=[('type', '=', 'storage')], states={ + 'readonly': (Eval('state') != 'draft') | Eval('lines', [0]), + }, + depends=['state'], + help="The location inventoried.") + date = fields.Date('Date', required=True, states={ + 'readonly': (Eval('state') != 'draft') | Eval('lines', [0]), + }, + depends=['state'], + help="The date of the stock count.") + lines = fields.One2Many( + 'stock.inventory.line', 'inventory', 'Lines', + states={ + 'readonly': (_states['readonly'] | ~Eval('location') + | ~Eval('date')), + }, + depends=['location', 'date'] + _depends) + empty_quantity = fields.Selection([ + (None, ""), + ('keep', "Keep"), + ('empty', "Empty"), + ], "Empty Quantity", states=_states, depends=_depends, + help="How lines without a quantity are handled.") + company = fields.Many2One('company.company', 'Company', required=True, + states={ + 'readonly': (Eval('state') != 'draft') | Eval('lines', [0]), + }, + depends=['state'], + help="The company the inventory is associated with.") + state = fields.Selection([ + ('draft', "Draft"), + ('done', "Done"), + ('cancelled', "Cancelled"), + ], "State", readonly=True, select=True, + help="The current state of the inventory.") + + del _states, _depends + + @classmethod + def __setup__(cls): + super(Inventory, cls).__setup__() + cls.create_date.select = True + cls._order.insert(0, ('date', 'DESC')) + cls._transitions |= set(( + ('draft', 'done'), + ('draft', 'cancelled'), + )) + cls._buttons.update({ + 'confirm': { + 'invisible': Eval('state').in_(['done', 'cancelled']), + 'depends': ['state'], + }, + 'cancel': { + 'invisible': Eval('state').in_(['cancelled', 'done']), + 'depends': ['state'], + }, + 'complete_lines': { + 'readonly': Eval('state') != 'draft', + 'depends': ['state'], + }, + 'count': { + 'readonly': Eval('state') != 'draft', + 'depends': ['state'], + }, + }) + + @classmethod + def __register__(cls, module_name): + super(Inventory, cls).__register__(module_name) + + cursor = Transaction().connection.cursor() + table = cls.__table_handler__(module_name) + sql_table = cls.__table__() + + # Migration from 5.4: remove lost_found + table.not_null_action('lost_found', 'remove') + + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + + @staticmethod + def default_state(): + return 'draft' + + @staticmethod + def default_date(): + Date = Pool().get('ir.date') + return Date.today() + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @classmethod + def view_attributes(cls): + return super().view_attributes() + [ + ('/tree', 'visual', If(Eval('state') == 'cancelled', 'muted', '')), + ] + + @classmethod + def delete(cls, inventories): + # Cancel before delete + cls.cancel(inventories) + for inventory in inventories: + if inventory.state != 'cancelled': + raise AccessError( + gettext('stock.msg_inventory_delete_cancel', + inventory=inventory.rec_name)) + super(Inventory, cls).delete(inventories) + + @classmethod + @ModelView.button + @Workflow.transition('done') + def confirm(cls, inventories): + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + Warning = pool.get('res.user.warning') + today_cache = {} + + def in_future(inventory): + if inventory.company not in today_cache: + with Transaction().set_context(company=inventory.company.id): + today_cache[inventory.company] = Date.today() + today = today_cache[inventory.company] + if inventory.date > today: + return inventory + future_inventories = sorted(filter(in_future, inventories)) + if future_inventories: + names = ', '.join(i.rec_name for i in future_inventories[:5]) + if len(future_inventories) > 5: + names + '...' + warning_name = ( + '%s.date_future' % hashlib.md5( + str(future_inventories).encode('utf-8')).hexdigest()) + if Warning.check(warning_name): + raise InventoryFutureWarning(warning_name, + gettext('stock.msg_inventory_date_in_the_future', + inventories=names)) + + moves = [] + for inventory in inventories: + keys = set() + for line in inventory.lines: + key = line.unique_key + if key in keys: + raise InventoryValidationError( + gettext('stock.msg_inventory_line_unique', + line=line.rec_name, + inventory=inventory.rec_name)) + keys.add(key) + move = line.get_move() + if move: + moves.append(move) + if moves: + Move.save(moves) + # Skip MoveFutureWarning as it is newly created moves + with Transaction().set_user(0): + Move.do(moves) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + def cancel(cls, inventories): + Line = Pool().get("stock.inventory.line") + Line.cancel_move([l for i in inventories for l in i.lines]) + + @classmethod + def create(cls, vlist): + pool = Pool() + Configuration = pool.get('stock.configuration') + config = Configuration(1) + vlist = [x.copy() for x in vlist] + default_company = cls.default_company() + for values in vlist: + if values.get('number') is None: + values['number'] = config.get_multivalue( + 'inventory_sequence', + company=values.get('company', default_company)).get() + inventories = super(Inventory, cls).create(vlist) + cls.complete_lines(inventories, fill=False) + return inventories + + @classmethod + def write(cls, *args): + super().write(*args) + inventories = cls.browse(set(sum(args[::2], []))) + cls.complete_lines(inventories, fill=False) + + @classmethod + def copy(cls, inventories, default=None): + pool = Pool() + Date = pool.get('ir.date') + + if default is None: + default = {} + else: + default = default.copy() + default.setdefault('date', Date.today()) + default.setdefault('lines.moves', None) + default.setdefault('number', None) + + new_inventories = super().copy(inventories, default=default) + cls.complete_lines(new_inventories, fill=False) + return new_inventories + + @staticmethod + def grouping(): + return ('product',) + + @classmethod + @ModelView.button + def complete_lines(cls, inventories, fill=True): + ''' + Complete or update the inventories + ''' + pool = Pool() + Line = pool.get('stock.inventory.line') + Product = pool.get('product.product') + + grouping = cls.grouping() + to_create, to_write = [], [] + for inventory in inventories: + # Once done computation is wrong because include created moves + if inventory.state == 'done': + continue + # Compute product quantities + if fill: + product_ids = None + else: + product_ids = [l.product.id for l in inventory.lines] + with Transaction().set_context(stock_date_end=inventory.date): + pbl = Product.products_by_location( + [inventory.location.id], + grouping=grouping, + grouping_filter=(product_ids,)) + + # Index some data + product2type = {} + product2consumable = {} + for product in Product.browse({line[1] for line in pbl}): + product2type[product.id] = product.type + product2consumable[product.id] = product.consumable + + # Update existing lines + for line in inventory.lines: + if line.product.type != 'goods': + Line.delete([line]) + continue + + key = (inventory.location.id,) + line.unique_key + if key in pbl: + quantity = pbl.pop(key) + else: + quantity = 0.0 + values = line.update_values4complete(quantity) + if values: + to_write.extend(([line], values)) + + if not fill: + continue + # Create lines if needed + for key, quantity in pbl.items(): + product_id = key[grouping.index('product') + 1] + if (product2type[product_id] != 'goods' + or product2consumable[product_id]): + continue + if not quantity: + continue + + values = Line.create_values4complete(inventory, quantity) + for i, fname in enumerate(grouping, 1): + values[fname] = key[i] + to_create.append(values) + if to_create: + Line.create(to_create) + if to_write: + Line.write(*to_write) + + @classmethod + @ModelView.button_action('stock.wizard_inventory_count') + def count(cls, inventories): + cls.complete_lines(inventories) + + +class InventoryLine(ModelSQL, ModelView): + 'Stock Inventory Line' + __name__ = 'stock.inventory.line' + _states = { + 'readonly': Eval('inventory_state') != 'draft', + } + _depends = ['inventory_state'] + + product = fields.Many2One('product.product', 'Product', required=True, + domain=[ + ('type', '=', 'goods'), + ], states=_states, depends=_depends) + uom = fields.Function(fields.Many2One('product.uom', 'UOM', + help="The unit in which the quantity is specified."), 'get_uom') + unit_digits = fields.Function(fields.Integer('Unit Digits'), + 'get_unit_digits') + expected_quantity = fields.Float('Expected Quantity', required=True, + digits=(16, Eval('unit_digits', 2)), readonly=True, + states={ + 'invisible': Eval('id', -1) < 0, + }, + depends=['unit_digits'], + help="The quantity the system calculated should be in the location.") + quantity = fields.Float('Quantity', + digits=(16, Eval('unit_digits', 2)), + states=_states, depends=['unit_digits'] + _depends, + help="The actual quantity found in the location.") + moves = fields.One2Many('stock.move', 'origin', 'Moves', readonly=True) + inventory = fields.Many2One('stock.inventory', 'Inventory', required=True, + ondelete='CASCADE', + states={ + 'readonly': _states['readonly'] & Bool(Eval('inventory')), + }, + depends=_depends, + help="The inventory the line belongs to.") + inventory_location = fields.Function( + fields.Many2One('stock.location', "Location"), + 'on_change_with_inventory_location', + searcher='search_inventory_location') + inventory_date = fields.Function( + fields.Date("Date"), + 'on_change_with_inventory_date', + searcher='search_inventory_date') + inventory_state = fields.Function( + fields.Selection('get_inventory_states', "Inventory State", + depends=['inventory']), + 'on_change_with_inventory_state') + + @classmethod + def __setup__(cls): + super(InventoryLine, cls).__setup__() + cls.__access__.add('inventory') + t = cls.__table__() + cls._sql_constraints += [ + ('check_line_qty_pos', Check(t, t.quantity >= 0), + 'stock.msg_inventory_line_quantity_positive'), + ] + cls._order.insert(0, ('product', 'ASC')) + + @classmethod + def __register__(cls, module_name): + transaction = Transaction() + cursor = transaction.connection.cursor() + update = transaction.connection.cursor() + pool = Pool() + Move = pool.get('stock.move') + sql_table = cls.__table__() + move_table = Move.__table__() + + super(InventoryLine, cls).__register__(module_name) + + table = cls.__table_handler__(module_name) + + # Migration from 3.0: use Move origin + if table.column_exist('move'): + cursor.execute(*sql_table.select(sql_table.id, sql_table.move, + where=sql_table.move != Null)) + for line_id, move_id in cursor: + update.execute(*move_table.update( + columns=[move_table.origin], + values=['%s,%s' % (cls.__name__, line_id)], + where=move_table.id == move_id)) + table.drop_column('move') + + # Migration from 4.6: drop required on quantity + table.not_null_action('quantity', action='remove') + + @staticmethod + def default_unit_digits(): + return 2 + + @staticmethod + def default_expected_quantity(): + return 0. + + @fields.depends('product') + def on_change_product(self): + self.unit_digits = 2 + if self.product: + self.uom = self.product.default_uom + self.unit_digits = self.product.default_uom.digits + + @fields.depends('inventory', '_parent_inventory.location') + def on_change_with_inventory_location(self, name=None): + if self.inventory and self.inventory.location: + return self.inventory.location.id + + @classmethod + def search_inventory_location(cls, name, clause): + nested = clause[0].lstrip(name) + return [('inventory.' + name + nested,) + tuple(clause[1:])] + + @fields.depends('inventory', '_parent_inventory.date') + def on_change_with_inventory_date(self, name=None): + if self.inventory: + return self.inventory.date + + @classmethod + def search_inventory_date(cls, name, clause): + return [('inventory.date',) + tuple(clause[1:])] + + @classmethod + def get_inventory_states(cls): + pool = Pool() + Inventory = pool.get('stock.inventory') + return Inventory.fields_get(['state'])['state']['selection'] + + @fields.depends('inventory', '_parent_inventory.state') + def on_change_with_inventory_state(self, name=None): + if self.inventory: + return self.inventory.state + return 'draft' + + def get_rec_name(self, name): + return self.product.rec_name + + @classmethod + def search_rec_name(cls, name, clause): + return [('product.rec_name',) + tuple(clause[1:])] + + def get_uom(self, name): + return self.product.default_uom.id + + def get_unit_digits(self, name): + return self.product.default_uom.digits + + @property + def unique_key(self): + key = [] + for fname in self.inventory.grouping(): + value = getattr(self, fname) + if isinstance(value, Model): + value = value.id + key.append(value) + return tuple(key) + + @classmethod + def cancel_move(cls, lines): + Move = Pool().get('stock.move') + moves = [m for l in lines for m in l.moves if l.moves] + Move.cancel(moves) + Move.delete(moves) + + def get_move(self): + ''' + Return Move instance for the inventory line + ''' + pool = Pool() + Move = pool.get('stock.move') + Uom = pool.get('product.uom') + + qty = self.quantity + if qty is None: + if self.inventory.empty_quantity is None: + raise InventoryValidationError( + gettext('stock.msg_inventory_missing_empty_quantity', + inventory=self.inventory.rec_name)) + if self.inventory.empty_quantity == 'keep': + return + else: + qty = 0.0 + + delta_qty = Uom.compute_qty(self.uom, + self.expected_quantity - qty, + self.uom) + if delta_qty == 0.0: + return + from_location = self.inventory.location + to_location = self.inventory.location.lost_found_used + if not to_location: + raise InventoryValidationError( + gettext('stock.msg_inventory_location_missing_lost_found', + inventory=self.inventory.rec_name, + location=self.inventory.location.rec_name)) + if delta_qty < 0: + (from_location, to_location, delta_qty) = \ + (to_location, from_location, -delta_qty) + + return Move( + from_location=from_location, + to_location=to_location, + quantity=delta_qty, + product=self.product, + uom=self.uom, + company=self.inventory.company, + effective_date=self.inventory.date, + origin=self, + ) + + def update_values4complete(self, quantity): + ''' + Return update values to complete inventory + ''' + values = {} + # if nothing changed, no update + if self.expected_quantity == quantity: + return values + values['expected_quantity'] = quantity + return values + + @classmethod + def create_values4complete(cls, inventory, quantity): + ''' + Return create values to complete inventory + ''' + return { + 'inventory': inventory.id, + 'expected_quantity': quantity, + } + + @classmethod + def delete(cls, lines): + for line in lines: + if line.inventory_state not in {'cancelled', 'draft'}: + raise AccessError( + gettext('stock.msg_inventory_line_delete_cancel', + line=line.rec_name, + inventory=line.inventory.rec_name)) + super(InventoryLine, cls).delete(lines) + + +class Count(Wizard): + "Stock Inventory Count" + __name__ = 'stock.inventory.count' + start_state = 'search' + + search = StateView( + 'stock.inventory.count.search', + 'stock.inventory_count_search_view_form', [ + Button("End", 'end', 'tryton-cancel'), + Button("Select", 'quantity', 'tryton-forward', default=True), + ]) + quantity = StateView( + 'stock.inventory.count.quantity', + 'stock.inventory_count_quantity_view_form', [ + Button("Cancel", 'search', 'tryton-cancel'), + Button("Add", 'add', 'tryton-ok', default=True), + ]) + add = StateTransition() + + def default_quantity(self, fields): + pool = Pool() + InventoryLine = pool.get('stock.inventory.line') + Warning = pool.get('res.user.warning') + values = {} + lines = InventoryLine.search( + self.get_line_domain(self.record), limit=1) + if not lines: + warning_name = '%s.%s.count_create' % ( + self.record, self.search.search) + if Warning.check(warning_name): + raise InventoryCountWarning(warning_name, + gettext('stock.msg_inventory_count_create_line', + search=self.search.search.rec_name)) + line, = InventoryLine.create([self.get_line_values(self.record)]) + else: + line, = lines + values['line'] = line.id + values['product'] = line.product.id + values['uom'] = line.uom.id + values['unit_digits'] = line.unit_digits + if line.uom.rounding == 1: + values['quantity'] = 1 + return values + + def get_line_domain(self, inventory): + pool = Pool() + Product = pool.get('product.product') + domain = [ + ('inventory', '=', inventory.id), + ] + if isinstance(self.search.search, Product): + domain.append(('product', '=', self.search.search.id)) + return domain + + def get_line_values(self, inventory): + pool = Pool() + Product = pool.get('product.product') + InventoryLine = pool.get('stock.inventory.line') + values = InventoryLine.create_values4complete(inventory, 0) + if isinstance(self.search.search, Product): + values['product'] = self.search.search.id + return values + + def transition_add(self): + if self.quantity.line and self.quantity.quantity: + line = self.quantity.line + if line.quantity: + line.quantity += self.quantity.quantity + else: + line.quantity = self.quantity.quantity + line.save() + return 'search' + + +class CountSearch(ModelView): + "Stock Inventory Count" + __name__ = 'stock.inventory.count.search' + + search = fields.Reference( + "Search", [ + ('product.product', "Product"), + ], + required=True, + domain=[If(Eval('search_model') == 'product.product', + [ + ('type', '=', 'goods'), + ('consumable', '=', False), + ], + [])], + depends=['search_model'], + help="The item that's counted.") + search_model = fields.Function(fields.Selection( + 'get_search_models', "Search Model"), + 'on_change_with_search_model') + + @classmethod + def default_search(cls): + return 'product.product,-1' + + @classmethod + def get_search_models(cls): + return cls.fields_get(['search'])['search']['selection'] + + @fields.depends('search') + def on_change_with_search_model(self, name=None): + if self.search: + return self.search.__name__ + + +class CountQuantity(ModelView): + "Stock Inventory Count" + __name__ = 'stock.inventory.count.quantity' + + line = fields.Many2One( + 'stock.inventory.line', "Line", readonly=True, required=True) + product = fields.Many2One('product.product', "Product", readonly=True) + uom = fields.Many2One('product.uom', "UOM", readonly=True, + help="The unit in which the quantities are specified.") + total_quantity = fields.Float( + "Total Quantity", digits=(16, Eval('unit_digits', 2)), + readonly=True, depends=['unit_digits'], + help="The total amount of the line counted so far.") + + quantity = fields.Float( + "Quantity", digits=(16, Eval('unit_digits', 2)), required=True, + depends=['unit_digits'], + help="The quantity to add to the existing count.") + + unit_digits = fields.Integer("Unit Digits", readonly=True) + + @fields.depends('quantity', 'line') + def on_change_quantity(self): + if self.line: + self.total_quantity = ( + (self.line.quantity or 0) + (self.quantity or 0)) diff --git a/modules/stock/inventory.xml b/modules/stock/inventory.xml new file mode 100644 index 0000000000..7b3d887176 --- /dev/null +++ b/modules/stock/inventory.xml @@ -0,0 +1,191 @@ + + + + + + + stock.inventory + form + inventory_form + + + stock.inventory + tree + inventory_tree + + + Inventories + stock.inventory + + + + + + + + + + + + + + Draft + + + + + + + All + + + + + + + + stock.inventory.line + form + inventory_line_form + + + stock.inventory.line + tree + + inventory_line_tree + + + stock.inventory.line + tree + + inventory_line_list_simple + + + + Inventory Lines + stock.inventory.line + + + + form_relate + stock.inventory,-1 + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + + confirm + Confirm + Are you sure you want to confirm the inventory? + + + + + + + + + cancel + Cancel + Are you sure you want to cancel the inventory? + + + + + + + + + complete_lines + Complete + Add an inventory line for each missing products + + + + + count + Count + Launch the wizard to count products + + + + + Count + stock.inventory.count + stock.inventory + + + + stock.inventory.count.search + form + inventory_count_search_form + + + + stock.inventory.count.quantity + form + inventory_count_quantity_form + + + + Inventory + + + + + + + + + + + + Inventory + + + + + diff --git a/modules/stock/ir.py b/modules/stock/ir.py new file mode 100644 index 0000000000..e6b83dd701 --- /dev/null +++ b/modules/stock/ir.py @@ -0,0 +1,25 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.pool import PoolMeta + + +class Cron(metaclass=PoolMeta): + __name__ = 'ir.cron' + + @classmethod + def __setup__(cls): + super().__setup__() + cls.method.selection.extend([ + ('product.product|recompute_cost_price_from_moves', + "Recompute Cost Price from Moves"), + ('stock.shipment.out|reschedule', + "Reschedule Customer Shipments"), + ('stock.shipment.in.return|reschedule', + "Reschedule Supplier Return Shipments"), + ('stock.shipment.internal|reschedule', + "Reschedule Internal Shipments"), + ('stock.shipment.out|assign_cron', + "Assign Customer Shipments"), + ('stock.shipment.internal|assign_cron', + "Assign Internal Shipments"), + ]) diff --git a/modules/stock/locale/bg.po b/modules/stock/locale/bg.po new file mode 100644 index 0000000000..c9100ee730 --- /dev/null +++ b/modules/stock/locale/bg.po @@ -0,0 +1,3492 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Доставка" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Доставка" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Местонахождение на клиент" + +#, fuzzy +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Местонахождения" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Местонахождение на доставчик" + +#, fuzzy +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Местонахождение на клиент" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "" + +#, fuzzy +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Местонахождение на доставчик" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Фирма" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Фабрична цена" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Фабрична цена" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Себестойност" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Планирано количество" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Себестойност" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Планирано количество" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Количество" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Склад" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Последователност за пратка върната на доставик" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Последователност за пратка на доставчик" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Последователност на вътрешна пратка" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Последователност за пратка върната от клиент" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Последователност на пратка за клиент" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Последователност за пратка върната на доставик" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Последователност за пратка на доставчик" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Последователност на вътрешна пратка" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Последователност за пратка върната от клиент" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Последователност на пратка за клиент" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Редове" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Местоположение" + +#, fuzzy +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Номер" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Състояние" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Редове" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Десетични единици" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "Мер. ед." + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Очаквано количество" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Местоположение" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Движения" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Десетични единици" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "Мер. ед." + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Адрес" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Наследници" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Код" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Себестойност" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Планирани количества" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Вход" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Ляв" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Загубени и намерени" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Име" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Изход" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Родител" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Количество" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Количество" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Десетични единици" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Десен" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Склад" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Вид местонахождение" + +#, fuzzy +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Склад" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Местонахождение на клиент" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Склад" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Склад" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Склад" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Местонахождение на клиент" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Склад" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Фабрична цена" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Единичната цена е задължителна" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Валута" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Ефективна дата" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "От местонахождение" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Вътрешно количество" + +#, fuzzy +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Източник" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Планирана дата" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Категория мер. ед. на продукт" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Количество" + +#, fuzzy +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Изпращания" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Състояние" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Към местонахождение" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Десетични единици" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Единична цена" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Единична цена" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Единичната цена е задължителна" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Единична цена" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Мер. ед." + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Пари в наличност" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Състояние" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Вътрешно количество" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Местоположение" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Период" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Фирма" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Количество" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Склад" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Движения" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Източник" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Себестойност" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Планирано количество" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Валута" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Валута" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Наследници" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Име" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Родител" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Фирма" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "От местонахождение" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Период" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Валута" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Вътрешно количество" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Десетични единици" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Валута" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Вътрешно количество" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Десетични единици" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Движения" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Адрес за контакт" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Ефективна дата" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Входящи движения" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Движения на инвентаризация" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Движения" + +#, fuzzy +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Източник" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Планирана дата" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Отпратка" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Състояние" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Доставчик" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Местонахождение на доставчик" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Склад" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Вход в склад" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Съхраняване в склад" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Фирма" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Адрес за доствка" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Ефективна дата" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "От местонахождение" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Движения" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Източник" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Назначен" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Планирана дата" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Отпратка" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Състояние" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Доставчик" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Към местонахождение" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Ефективна дата" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "От местонахождение" + +#, fuzzy +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Входящи движения" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Движения" + +#, fuzzy +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Изходящи движения" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Назначен" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Планирана дата" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Отпратка" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Състояние" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Към местонахождение" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Склад" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Клиент" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Местонахождение на клиент" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Адрес за доствка" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Ефективна дата" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Движения на инвентаризация" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Движения" + +#, fuzzy +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Източник" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Изходящи движения" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Опакован" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Планирана дата" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Отпратка" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Състояние" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Склад" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Изход от склад" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Съхраняване в склад" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Фирма" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Клиент" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Местонахождение на клиент" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Адрес за доствка" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Ефективна дата" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Входящи движения" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Движения на инвентаризация" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Движения" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Източник" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Планирана дата" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Отпратка" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Състояние" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Склад" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Вход в склад" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Изход от склад" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +#, fuzzy +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"Целта-местонахождение по подразбиране когато се изпращат продукти на " +"партньора." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +#, fuzzy +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"Целта-местонахождение по подразбиране когато се изпращат продукти на " +"партньора." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Фабрична цена" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Движение на наличност" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Продукт по местонахождение" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Движение на наличност" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Фабрична цена" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Назначаване на пратка върната от доставчик" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Проект" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Проект" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Получен" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Проект" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Очакване" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Проект" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Очакване" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Проект" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Опакован" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Опакован" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Очакване" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Проект" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Получен" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "Количествата на движение трябва да са положително число" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "Количествата на движение трябва да са положително число" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "Количеството на движение трябва да е положително число" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"Не може да променяте мер. ед. на продукт който е свързан с движения на " +"наличност." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"Не може да променяте мер. ед. на продукт който е свързан с движения на " +"наличност." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"Не може да променяте мер. ед. на продукт който е свързан с движения на " +"наличност." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Фирма" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Валута" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Номер" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Опакован" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Източник" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +#, fuzzy +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Продукт по местонахождение" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Фабрична цена" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Конфигуриране на наличност" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Инвентаризация на наличност" + +#, fuzzy +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Ред от наличност на продукт" + +#, fuzzy +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Ред от наличност на продукт" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Ред от наличност на продукт" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Местонахождение на наличност" + +#, fuzzy +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +#, fuzzy +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +#, fuzzy +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +#, fuzzy +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Съхраняване в склад" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Движение на наличност" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Период на наличност" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Продукт по местонахождение" + +#, fuzzy +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Продукт по местонахождение" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Пратка на доставчик" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Пратка върната от доставчик" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Вътрешно изпращане" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Пратка за клиент" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Пратка върната от клиент" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "От местонахождение" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Планирана дата:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Отпратка:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Списък за увеличаване наличност на продукт" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Номер на пратка:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Доставчик:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Към местонахождение" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Склад:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "От местонахождение" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "От местонахождение:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Вътрешно пратка" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Планирана дата:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Отпратка:" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Номер на пратка:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Към местонахождение" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Към местонахождение:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Код на клиент:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Дата:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Бележка към доставка" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Отпратка:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Номер на пратка:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Клиент:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "От местонахождение" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Списък за опаковане" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Планирана дата:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Отпратка:" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Номер на пратка:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Към местонахождение" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Склад:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Клиент" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "От местонахождение" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Номер" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Планирана дата:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Количество" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Отпратка:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Списък за увеличаване наличност на продукт" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Изпращания" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Към местонахождение" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Склад:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Отказан" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Приключен" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Проект" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Продукт" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Клиент" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Загубени и намерени" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Производство" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Склад" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Доставчик" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Изглед" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Склад" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Отказан" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Приключен" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Проект" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Приключен" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Проект" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Отказан" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Приключен" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Проект" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Получен" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Отказан" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Приключен" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Проект" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Изчакващ" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Отказан" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Приключен" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Проект" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Изчакващ" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Назначен" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Отказан" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Приключен" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Проект" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Опакован" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Опакован" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Изчакващ" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Отказан" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Приключен" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Проект" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Получен" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Наличност" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Изпращания" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Себестойност" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +#, fuzzy +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Не могат да бъдат назначени следните продукти:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Изходящи движения" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "Добре" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/ca.po b/modules/stock/locale/ca.po new file mode 100644 index 0000000000..9d9259f42d --- /dev/null +++ b/modules/stock/locale/ca.po @@ -0,0 +1,3303 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Enviament" + +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Enviament" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Ubicació del client" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Ubicacions" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Ubicació del proveïdor" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Ubicació del client" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Tercer" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Ubicació del proveïdor" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "A data" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "A data" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Nou preu de cost" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Variant" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Nou preu de cost" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Valor de cost" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantitat prevista" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "De" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Valor de cost" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantitat prevista" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Magatzem actual" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Seqüència d'inventari" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Seqüència d'albarà devolució proveïdor" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Seqüència d'albarà proveïdor" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Seqüència d'albarà intern" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Trànsit albarans interns" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Seqüència d'albarà devolució client" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Seqüència d'albarà client" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Trànsit albarans interns" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Seqüència d'inventari" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Seqüència d'albarà devolució proveïdor" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Seqüència d'albarà proveïdor" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Seqüència d'albarà intern" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Seqüència d'albarà devolució client" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Seqüència d'albarà client" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Quantitat en blanc" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Línies" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Ubicació" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Línia" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Quantitat total" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Dígits de la unitat" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "UdM" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Cerca" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Model de la cerca" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Quantitat esperada" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventari" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Ubicació" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Estat inventari" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Moviments" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Dígits de la unitat" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "UdM" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Adreça" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Fills" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Codi" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Valor de cost" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Fills plans" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantitat prevista" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Entrada" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Esquerra" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Perdut i trobat" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Sortida" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Pare" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Recollida" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "UdM quantitat" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Dígits de la UdM de la quantitat" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Dreta" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Intern" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Tipus d'ubicació" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Ubicacions residus" + +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Magatzems residus" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Temps d'espera" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Des del magatzem" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Al magatzem" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Ubicació residu" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Reserva obligatòria" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Preu de cost" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Preu de cost obligatori" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Data efectiva" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Des d'ubicació" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantitat interna" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Origen" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Data estimada" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Categoria UdM del producte" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Albarà" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "A la ubicació" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Dígits de la unitat" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Preu unitari" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Preu unitari" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Preu unitari obligatori" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Preu unitari actualitzat" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "UdM" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Precalculat" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantitat interna" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Ubicació" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Període" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Productes" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Només zona d'emmagatzematge" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "Diferència de quantitat acumulada" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "Quantitat final acumulada" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "Quantitat acumulada inicial" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "Document" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Moviment" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Origen" + +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "Consumible" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Valor de cost" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "UdM per defecte" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "Decimals de la UdM per defecte" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantitat prevista" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "A data" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "A data" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "Categoria" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "Sèries temporals" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "Categoria" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Fills" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Pare" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Des de la data" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "Inclou perduts" + +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Període" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Fins a la data" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantitat interna" + +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "Sèries temporals" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "Unitat" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Dígits de la unitat" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantitat interna" + +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "Unitat" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Dígits de la unitat" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Moviments" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Adreça de contacte" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Finalitzat per" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Data efectiva" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Moviments d'entrada" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Moviments interns" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Moviments" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Orígens" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Data estimada" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Rebut per" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referència" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Proveïdor" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Ubicació del proveïdor" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Magatzem entrada" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magatzem intern" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Reservat per" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adreça d'enviament" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Finalitzat per" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Data efectiva" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Des de la ubicació" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Moviments" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Orígens" + +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Reservat parcialment" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Data estimada" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referència" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Proveïdor" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "A la ubicació" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Rebut per" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Finalitzat per" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Data efectiva" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Inici data efectiva" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Des de la ubicació" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Moviments d'entrada" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Moviments" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Moviments de sortida" + +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Reservat parcialment" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Data estimada" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Data d'inici estimada" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referència" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Enviat per" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "A la ubicació" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Ubicació en tránsit" + +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Client" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Ubicació del client" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Adreça d'enviament" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Finalitzat per" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Data efectiva" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Moviments interns" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Moviments" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Orígens" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Moviments de sortida" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Empaquetat per" + +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Reservat parcialment" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Recollit per" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Data estimada" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referència" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Magatzem sortida" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magatzem intern" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Client" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Ubicació del client" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adreça d'enviament" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Finalitzat per" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Data efectiva" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Moviments d'entrada" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Moviments interns" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Moviments" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Orígens" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Data estimada" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Rebut per" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referència" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Estat" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Magatzem entrada" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magatzem intern" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Marqueu per enviar mercaderies a aquesta adreça." + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "Marqueu per utilitzar pels enviaments." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"La ubicació de destinació predeterminada per enviar productes al tercer." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "La ubicació origen predeterminada per rebre productes del tercer." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"La ubicació de destinació predeterminada per enviar productes al tercer." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "La ubicació origen predeterminada per rebre productes del tercer." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Data a la que es calcula la quantitat d'existències.\n" +"* Un valor buit realitza el càlcul el més llunya possible.\n" +"* Una data al passat proporcionarà valors històrics." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Expressió Python que s'evaluarà amb:\n" +"- cost_price: el preu de cost actual de producte" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Expressió Python que s'evaluarà amb:\n" +"- cost_price: el preu de cost actual de producte" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "El valor de les existències de la ubicació." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La quantitat d'existències que s'espera tenir a la ubicació." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "La quantitat d'existències a la ubicació." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "El valor de les existències de la ubicació." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La quantitat d'existències que s'espera tenir a la ubicació." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "La quantitat d'existències a la ubicació." + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "El magatzem al que treball l'usuari." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "Utilitzat per generar el nombre que es dona als inventaris." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" +"Utilitzat per generar el nombre que es dona als albarans de devolució de " +"proveïdor." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" +"Utilitzat per generar el nombre que es dona als albarans de proveïdor." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "Utilitzat per generar el nombre que es dona als albarans interns." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"La ubicació per defecte de les existències que estan en trànsit entre " +"magatzems." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" +"Utilitzat per generar el nombre que es dona als albarans de devolució de " +"client." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "Utilitzat per generar el nombre que es dona als albarans de client." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"La ubicació per defecte de les existències que estan en trànsit entre " +"magatzems." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "L'empresa amb la que està associada l'inventari." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "La data quan es fa el recompte de productes." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Com es gestionen les línies sense quantitat." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "La ubicació inventariada." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "L'identificador principal de l'inventari." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "L'estat actual del inventari." + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "La quantitat a afegir al recompte actual." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "La quantitat total de la línia comptada fins ara." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "La unitat amb la que s'especifiquen les quantitats." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "L'element que es compta." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "La quantitat que el sistema creu que ha d'haver a la ubicació." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "L'inventari al que pertany la línia." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "La quantitat real que es troba a la ubicació." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "La unitat en que s'especifica la quantitat." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Utilitzat per afegir una estructura per sota la ubicació." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "L'identificador intern utilitzat per la ubicació." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "El valor de les existències de la ubicació." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "Marqueu per forçar un sol nivell de fills sense nets." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La quantitat d'existències que s'espera tenir a la ubicació." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "D'on es reben les existències entrants." + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" +"Utilitzat pels inventaris per a corregir els nivells d'existències al " +"magatzem." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "On s'envien les existències sortints." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Utilitzat per afegir una estructura per sobre la ubicació." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"De d'on es recullen les existències.\n" +"Deixeu-ho en blanc per utilitzar la ubicació d'emmagatzematge." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "La quantitat d'existències a la ubicació." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "La ubicació superior on s'emmagatzemen les existències." + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" +"Les ubicacions que s'utilitzen pels residus de productes del magatzem." + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "El magatzem que utilitza la ubicació per residus de productes." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "El temps que es triga a moure les existències entre els magatzems." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "L'empresa a la que s'associa el moviment d'existències." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "La moneda en que s'especifica el preu unitari." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "Quan s'han enviat realment les existències." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "Des d'on es mouen les existències." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "El origen del moviment d'existències." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "Quan està previst moure les existències." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "El producte al que s'associa el moviment." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "La quantitat d'existències que es mouen." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "Utilitzat per agrupar varis moviments d'existències conjuntament." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "L'estat actual del moviment d'existències." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "On s'envien les existències." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "Preu unitari amb la divisa de l'empresa." + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "La unitat en la que s'especifica la quantitat." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "L'empresa amb la que s'associa el període d'existències." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "Quan finalitza el període d'existències." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "L'estat actual del període d'existències." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "Marqueu per utilitzar només la quantitat de la zona d'emmagatzematge." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "El magatzem pel qual es calculen les quantitats." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Data a la que es calcula la quantitat d'existències.\n" +"* Un valor buit realitza el càlcul més llunya possible.\n" +"* Una data al passat proporcionarà valors històrics." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" +"Si es marca, s'inclou el cost del producte que s'ha mogut a les ubicacions " +"de Perdut i trobat." + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "Els moviments que no s'han reservat." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "L'empresa a la que està associada l'albarà." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "La direcció a la que es pot contractar el proveïdor." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Quan s'han enviat realment les existències." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Els moviments que porten les existències al magatzem." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Els moviments que porten les existències a la zona d'emmagatzemament." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "L'identificador principal de l'albarà." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Quan s'espera rebre les existències." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "L'identificador del proveïdor per l'albarà." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "L'estat actual de l'albarà." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "El tercer que ha comprat les existències." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "On es reben les existències." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "L'empresa a la que està associada l'albarà." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "On s'envien les existències." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Quan s'han retornat realment les existències." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "Des d'on es mouen les existències." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "El moviments que retornen les existències al proveïdor." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "L'identificador principal de l'albarà." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Quan està previst que es retornin les existències." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "L'identificador del proveïdor per l'albarà." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "L'estat actual de l'albarà." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "El tercer que subministra les existències." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "On es mouen les existències." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "L'empresa a la que està associada l'albarà." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Quan s'ha completat realment l'albarà." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Quan s'han enviat realment les existències." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "Des d'on es mouen les existències." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "Els moviments que reben les existències." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "Els moviments que realitzen l'albarà." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "L'identificador principal de l'albarà." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "Els moviments que envien les existències." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Quan s'espera que es completi l'albarà." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Quan està previst que s'enviïn les existències." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "L'identificador extern de l'albarà." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "L'estat actual de l'albarà." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "On es mouen les existències." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "On es troben les existències mentre estan en trànsit entre magatzems." + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "Des d'on s'envien les existències." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "L'empresa a la que està associada l'albarà." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "El tercer que ha comprat les existències." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "On s'envien les existències." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Quan s'han enviat realment les existències." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" +"Els moviments que agafen les existències des de la zona d'emmagatzemament." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "L'identificador principal de l'albarà." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "Els moviments que envien les existències al client." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Quan està previst enviar les existències." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "L'identificador del client per l'albarà." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "L'estat actual de l'albarà." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "Des d'on s'envien les existències." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "L'empresa a la que està associada l'albarà." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "El tercer que ha comprat les existències." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "La direcció a la que es pot contactar el client." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "Quan s'han retornat les existències." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Els moviments que porten les existències al magatzem." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Els moviments que treuen les existències de la zona d'emmagatzematge." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "L'identificador principal de l'albarà." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Quan està previst que les existències es tornin." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "L'identificador del client per l'albarà." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "L'estat actual de l'albarà." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "On es retornen les existències." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventaris" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Línies d'inventari" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Ubicacions" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Temps d'espera entre ubicacions" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Quantitat per ubicacions (llistat)" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Quantitat per ubicacions" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Ubicacions" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moviments" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Períodes" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Revisió del preu de cost" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Moviments d'existències" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Quantitats de producte per magatzem" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Moviments per magatzem" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Producte per ubicacions" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "Marges per categoria" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "Marges per categoria" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "Marges per categoria" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "Marges per producte" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "Marges per producte" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Albarans de proveïdor" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "Devolucions" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Albarans interns" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Albarans de client" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Albarans de client" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Albarans de proveïdors" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "Devolucions" + +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuració" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Llista de proveïment" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Albarans interns" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Nota d'enviament" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Llista de recollida" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Llista de proveïment" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Recompte" + +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Quantitats de producte per magatzem" + +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Moviments d'existències" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Modificar el preu de cost" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recalcula preu de cost" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Reserva l'albarà de devolució de proveïdor" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Reserva l'abarà intern" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Reserva albarà de client" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Tot" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Tot" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "De proveïdors" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "De proveïdors en espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "A clients" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Tot" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Rebut" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Tot" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Reservat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Reservat parcialment" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "En espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Tot" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Reservat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Reservat parcialment" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Sol·licitud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Enviat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "En espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Tot" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Reservat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Reservat parcialment" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Empaquetat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Recollit" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "En espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Tot" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Rebut" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" +"No podeu eliminar el tercer \"%(party)s\" mentre tingui albarans pendents " +"amb l'empresa \"%(company)s\"." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" +"El preu de cost \"%(cost_price)s\" del producte \"%(producte)\" és invalid " +"amb l'excepció \"%(exception)s\"." + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "No s'ha trobat cap línia per la cerca %(search)s." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "Els inventaris \"%(inventories)s\" tenen dates al futur." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "Per eliminar l'inventari \"%(inventory)s\" l'heu de cancel·lar." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" +"Per eliminar la línia d'inventari \"%(line)s\" heu de cancel·lar l'inventari" +" \"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "La quantitat de la línia d'inventari ha de ser positiva." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" +"La línia d'inventari \"%(line)s\" no es única dins l'inventari " +"\"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" +"Per confirmar l'inventari \"%(inventory)s\" heu d'establir una ubicació de " +"perdut i trobat en algun dels pares de l'ubicació \"%(location)s\"." + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" +"Per confirmar l'inventari \"%(inventory)s\" heu de seleccionar una opció per" +" la quantitat buida." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" +"Per establir una ubicació \"%(location)s\" com a " +"emmagatzematge/entrada/sortida del magatzem \"%(warehouse)s\", ha d'estar al" +" magatzem." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "Per desactivar la ubicació \"%(location)s\" primer l'heu de buidar." + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" +"No podeu canviar el tipus d'ubicació de \"%(location)s\" a \"%(type)s\"\n" +"perquè el tipus no suporta moviments i la ubicació els te." + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" +"Per modificar el moviment d'existències \"%(move)s\" heu de cancel·lar-lo o " +"restablir el seu estat a esborrany." + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "Els moviments \"%(moves)s\" tenen una data efectiva al futur." + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" +"L'origen i la destinació del moviment d'existències ha de ser diferent." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "La quantitat interna del moviment intern ha de ser positiva." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" +"Per modificar el moviment d'existències \"%(move)s\" heu de restablir el seu" +" estat a esborrany." + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" +"No podeu modificar el moviment d'existències \"%(move)s\" perquè està " +"cancel·lat." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" +"No podeu modificar el moviment d'existències \"%(move)s\" perquè està " +"realitzat." + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" +"Per modificar el moviment d'existències \"%(move)s\" heu de tornar a obrir " +"el període \"%(period)s\"." + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "Els moviments d'existències \"%(moves)s\" no tenen origen." + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "La quantitat a moure ha de ser positiva." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "No podeu tancar períodes que conten moviments reservats." + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "No podeu tancar períodes amb data d'avui o en el futur." + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"No podeu canviar el preu de cost d'un producte que està associat amb moviments d'existències.\n" +"Heu d'executar l'assistent \"Modifica preu de cost\"." + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"No podeu canviar la UdM per defecte d'un producte que està associat amb " +"moviments d'existències." + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"No podeu canviar el tipus d'un producte que està associat amb moviments " +"d'existències." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "Per eliminar l'albarà \"%(shipment)s\" primer l'heu de cancel·lar." + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Empresa" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "Cost" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Decimals de la moneda" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "Marge" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "Tendència marge" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Número" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "Benefici" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "Ingressos" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "Segur que vols cancel·lar l'inventari?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "Segur que vols confirmar l'inventari?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "Segur que vols cancel·lar el moviment?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "Segur que vols finalitzar el moviment?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Segur que vols rebre l'albarà?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Segur que vols finalitzar l'albarà?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Segur que vols finalitzar l'albarà?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Segur que vols rebre l'albarà?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Afegeix una línia d'inventari per cada producte que falta" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "Obre el assistent per fer recompte de productes" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Completa" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirma" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Recompte" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Finalitza" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Restaura a esborrany" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Tanca" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Finalitza" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Restaura a esborrany" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Rebre" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Reserva" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Finalitza" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "En espera" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Reserva" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Finalitza" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Envia" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "En espera" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Reserva" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Finalitza" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Empaqueta" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Recull" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Finalitza" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Rebre" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "En espera" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Usuari a les empreses" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventari" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Albarà de proveïdor" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Albarà de devolució de proveïdor" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Albarà intern" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Albarà de client" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Albarà de devolució de client" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventari" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Albarà de proveïdor" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Albarà de devolució de proveïdor" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Albarà intern" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Albarà de client" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Albarà de devolució de client" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuració" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventaris" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Ubicacions" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Ubicacions" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Temps d'espera entre ubicacions" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Ubicacions" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moviments" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Períodes" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Informes" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Marges" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Albarans de proveïdor" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "Devolucions" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Albarans interns" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Albarans de client" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "Devolucions" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Logística" + +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuració" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Ubicació del tercer" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Producte per ubicacions" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "Revisió de preu de cost" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Modificar el preu de cost" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recalcula preu de cost" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Logística" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Administració de logística" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Forçar reserves a logística" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Configuració d'existències" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Configuració d'ubicacions d'existències" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Configuració de seqüencies d'existències" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Inventari d'existències" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Recompte d'inventari" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Recompte d'inventari" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Línia d'inventari d'existències" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Ubicació d'existències" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Client" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Zona d'entrada" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Perdut i trobat" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Zona de sortida" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Zona d'emmagatzematge" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Proveïdor" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Trànsit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Ubicació temps d'espera" + +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Ubicació de residus del magatzem" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Moviment d'existències" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Període d'existències" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Període d'existències precalculat" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Quantitats de producte per magatzem" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Quantitats de producte per magatzem" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Quantitats de producte per moviments de magatzem" + +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Productes per ubicacions" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Producte per ubicacions" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Informe de marges per categoria" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Informe de marges per categoria" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Informe de marges per categoria" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "Contexte dels informes de marges" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Informe de marges per producte" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Informe de marges per producte" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Reserva l'albarà" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Albarà de proveïdor" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Albarà devolució proveïdor" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Albarà intern" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Albarà client" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Albarà devolució client" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Des de la ubicació" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Data estimada:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Producte" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Referència:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Llista de proveïment" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Número d'albarà" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Proveïdor:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "A la ubicació" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Magatzem:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Des de la ubicació" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Des de la ubicació:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Albarà intern" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Data estimada:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Producte" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Referència:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Número d'albarà" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "A la ubicació" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "A la ubicació:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Codi de client:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Data:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Nota d'enviament" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Producte" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Referència:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Número d'albarà:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Client:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Des d'ubicació" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Llista de recollida" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Data estimada:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Producte" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Referència:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Número d'albarà" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "A la ubicació" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Magatzem:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Client" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "D'ubicació" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Número" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Data estimada:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Producte" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Quantitat" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Referència:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Llista de proveïment" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Albarà" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "A la ubicació" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Magatzem:" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Reserva els albarans de client" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Reserva els albarans interns" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recalcula preu de cost a partir dels moviments" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Replanifica els albarans de client" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Replanifica els albarans interns" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Replanifica els albarans de devolució de proveÏdor" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Buit" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Manté" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Finalitzat" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Producte" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Client" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Enviament directe" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Perdut i trobat" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Producció" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Intern" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Proveïdor" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Vista" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Magatzem" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Reservat" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Finalitzat" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "En procés" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Tancat" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Variant" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Producte" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Variant" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "Dia" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "Mes" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "Any" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Finalitzat" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Rebut" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Reservat" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Finalitzat" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "En espera" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Reservat" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Finalitzat" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Sol·licitud" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Enviat" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "En espera" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Reservat" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Finalitzat" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Empaquetat" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Recollit" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "En espera" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Cancel·lat" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Finalitzat" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Esborrany" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Rebut" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Logística" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "El magatzem al que estas treballant." + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventari" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Albarans" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Valor de cost" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "No es poden reservar aquests productes:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Informació addicional" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Informació addicional" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Informació addicional" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Informació addicional" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Informació addicional" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Moviments de sortida" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "D'acord" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recalcula" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Afegeix" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Finalitza" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Selecciona" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel·la" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Espera" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "Força" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "Ignora" diff --git a/modules/stock/locale/cs.po b/modules/stock/locale/cs.po new file mode 100644 index 0000000000..4cea904c5d --- /dev/null +++ b/modules/stock/locale/cs.po @@ -0,0 +1,3418 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Delivery Note" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "" + +#, fuzzy +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Locations" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Locations" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Locations" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Lost and Found" + +#, fuzzy +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Namu" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Warehouse" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Recompute Cost Price" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periods" + +#, fuzzy +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Moves" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Namu" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periods" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Packed" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Moves" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Warehouse" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +#, fuzzy +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Stock Configuration" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Warehouse" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Warehouse" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +#, fuzzy +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Supplier" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Customer" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Draft" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Close" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Products" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Stock" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/de.po b/modules/stock/locale/de.po new file mode 100644 index 0000000000..b877dec46b --- /dev/null +++ b/modules/stock/locale/de.po @@ -0,0 +1,3315 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Lieferadresse" + +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Lieferung" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Lagerort Kunde" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Lagerorte" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Lagerort Lieferant" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Lagerort Kunde" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Partei" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Lagerort Lieferant" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Ermittlungsdatum" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Ermittlungsdatum" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Neuer Einstandpreis" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Neuer Einstandspreis" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Voraussichtliche Menge" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "Ab" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Voraussichtliche Menge" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Aktuelles Warenlager" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Nummernkreis Inventur" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Nummernkreis Warenrückgabe (an Lieferanten)" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Nummernkreis Wareneingangslieferung" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Nummernkreis Interne Lieferungen" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transit Interne Lieferung" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Nummernkreis Warenrücknahme (von Kunden)" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Nummernkreis Warenausgangslieferungen" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transit Interne Lieferung" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Nummernkreis Inventur" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Nummernkreis Warenrückgabe (an Lieferanten)" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Nummernkreis Wareneingangslieferung" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Nummernkreis Interne Lieferung" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Nummernkreis Warenrücknahme (von Kunden)" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Nummernkreis Warenausgangslieferung" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Positionen ohne Erfassung" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Positionen" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Ort" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Position" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Gesamtmenge" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Nachkommastellen" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "Maßeinheit" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Suchen" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Gesuchtes Modell" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Erwartete Menge" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Lagerbestand" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Lagerort" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Inventurstatus" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Nachkommastellen" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "Maßeinheit" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Adresse" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Untergeordnet (Lagerorte)" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Code" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Hierarchielose Lagerplätze" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Voraussichtliche Menge" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Eingang" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Links" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Inventurdifferenz" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Name" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Ausgang" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Übergeordnet (Lagerort)" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Lagerort Picking" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Maßeinheit Menge" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Nachkommastellen Maßeinheit Menge" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Rechts" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Lager" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Lagertyp" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Reste Lagerort" + +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Reste Warenlager" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Beschaffungszeit" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Von Warenlager" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Zu Warenlager" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Reste Lagerort" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Reservierung erforderlich" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Einstandspreis" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Einstandspreis erforderlich" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Währung" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Effektives Datum" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Von Lagerort" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne Menge" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Herkunft" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Geplantes Datum" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Maßeinheitenkategorie" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Lieferposten" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Zu Lagerort" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Nachkommastellen" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Einzelpreis" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Einzelpreis" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Einzelpreis erforderlich" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Einzelpreis aktualisiert" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Einheit" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Cache-Speicher" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne Menge" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Lagerort" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Lagerbuchungszeiträume" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Nur Lagerzone" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "Kumulativer Mengenunterschied" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "Kumulative Menge Ende" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "Kumulative Menge Start" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "Dokument" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Lagerbewegung" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Herkunft" + +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "Verbrauchsmaterial" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "Standardeinheit" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "Standardmaßeinheit Nachkommastellen" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Voraussichtliche Menge" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Ermittlungsdatum" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Ermittlungsdatum" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "Kategorie" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Währung" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "Zeitreihe" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "Kategorie" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Währung" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Untergeordnet (Artikelkategorie)" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Name" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Übergeordnet (Artikelkategorie)" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Von Datum" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "Inklusive Inventurdifferenz" + +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Lagerzeiträume" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Bis Datum" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Währung" + +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne Menge" + +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "Zeitreihe" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "Einheit" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Nachkommastellen" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Währung" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne Menge" + +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "Einheit" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Nachkommastellen" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Kontaktadresse" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Erledigt durch" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Effektives Datum" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Eingehende Lagerbewegungen" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Bestandsänderungen" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Herkünfte" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Geplantes Datum" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Entgegen genommen von" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referenz" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Lieferant" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Lagerort Lieferant" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Warenlager Eingang" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Warenlager Lagerung" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Reserviert von" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Lieferadresse" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Erledigt durch" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Effektives Datum" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Von Lagerort" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Herkünfte" + +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Teilweise Reserviert" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Geplantes Datum" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referenz" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Lieferant" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Zu Lagerort" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Entgegen genommen von" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Erledigt durch" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Effektives Datum" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Effektives Startdatum" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Von Lagerort" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Eingehende Lagerbewegungen" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Ausgehende Lagerbewegungen" + +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Teilweise Reserviert" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Geplantes Datum" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Geplantes Startdatum" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referenz" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Versendet durch" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Zu Lagerort" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Transitlagerort" + +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Kunde" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Lagerort Kunde" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Lieferadresse" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Erledigt durch" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Effektives Datum" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Bestandsänderungen" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Herkünfte" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Ausgehende Lagerbewegungen" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Verpackt durch" + +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Teilweise Reserviert" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Kommissioniert durch" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Geplantes Datum" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referenz" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Warenlager Ausgang" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Warenlager Lagerung" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Kunde" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Lagerort Kunde" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Lieferadresse" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Erledigt durch" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Effektives Datum" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Eingehende Lagerbewegungen" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Bestandsänderungen" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Herkünfte" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Geplantes Datum" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Entgegen genommen von" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referenz" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Warenlager Eingang" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Warenlager Lagerung" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Aktivieren um die Lieferungen an diese Adresse zu versenden." + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" +"Aktivieren um die Kontaktinformation für die Kommunikation mit Bezug zu " +"Lieferungen zu nutzen." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Standardbestimmungsort für Lieferungen an die Partei." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "Standardherkunftsort für von der Partei erhaltene Lieferungen." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Standardbestimmungsort für Lieferungen an die Partei." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "Standardherkunftsort für von der Partei erhaltene Lieferungen." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Das Datum für das der Lagerbestand berechnet wird.\n" +"* Ein leerer Wert berechnet den Lagerbestand so weit voraus wie möglich.\n" +"* Ein Datum in der Vergangenheit berechnet historische Lagerbestände." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Ein Pythonausdruck, der ausgewertet wird mit:\n" +"- cost_price: Der aktuelle Einstandspreis des Artikels" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Ein Pythonausdruck, der ausgewertet wird mit:\n" +"- cost_price: Der aktuelle Einstandspreis des Artikels" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "Der Wert des Lagerbestands im Lagerort." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Der erwartete Lagerbestand im Lagerort." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "Der Lagerbestand im Lagerort." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "Der Wert des Lagerbestands im Lagerort." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Der erwartete Lagerbestand im Lagerort." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "Der Lagerbestand im Lagerort." + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "Das Warenlager in dem der Benutzer arbeitet." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "Wird zur Generierung von Nummern für Inventuren genutzt." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" +"Wird zur Generierung von Nummern für Rückgaben an Lieferanten genutzt." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" +"Wird zur Generierung von Nummern für Wareneingangslieferungen genutzt." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "Wird zur Generierung von Nummern für interne Lieferungen genutzt." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "Standardort der für Lieferungen zwischen Warenlagern benutzt wird." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" +"Wird zur Generierung von Nummern für Warenrücknahmen von Kunden genutzt." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" +"Wird zur Generierung von Nummern für Warenausgangslieferungen genutzt." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "Standardort der für Lieferungen zwischen Warenlagern benutzt wird." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "Das Unternehmen für das die Inventur angefertigt wird." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "Das Datum der Bestandszählung." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Bestimmt wie Positionen ohne erfasste Menge behandelt werden." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "Der Lagerort für den die Bestandsermittlung erfolgt." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "Das Hauptidentifizierungsmerkmal für die Inventur." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "Der aktuelle Status der Inventur." + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "Die Anzahl, die der aktuellen Zählung hinzugefügt wird." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "Die bisher gezählte Menge der Inventurpositionen." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "Die Maßeinheit in der die Menge angegeben wird." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "Das Element für das gezählt wird." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "Die vom System für den Lagerort berechnete Menge." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "Die Inventur zu der die Inventurposition gehört." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "Die tatsächliche gezählte Menge für den Lagerort." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Die Maßeinheit in der die Menge angegeben wird." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Wird zum Hinzufügen von untergeordneten Lagerorten genutzt." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "Das interne Identifizierungsmerkmal für den Lagerort." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "Der Wert des Lagerbestands im Lagerort." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "Aktivieren, um nur eine Stufe untergeordneter Lagerorte zuzulassen." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Der erwartete Lagerbestand im Lagerort." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "Wo eingehende Lieferungen angenommen werden." + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" +"Wird von Inventuren zur Korrektur des Warenbestands im Warenlager verwendet." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "Wo ausgehende Lieferungen versandt werden." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Wird zum Hinzufügen eines übergeordneten Lagerorts genutzt." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"Wo Warenbestand entnommen wird.\n" +"Leer lassen, um die Lagerzone zu verwenden." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "Der Lagerbestand im Lagerort." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "Die oberste Ebene der Lagerzone in der Ware gelagert wird." + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "Der Lagerort der für Reste aus dem Warenlager verwendet wird." + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "Die Warenlager die diesen Lagerort für Reste verwenden." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "Die Zeit, die für Lieferungen zwischen Warenlagern benötigt wird." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "Das Unternehmen für das die Lagerbewegung erfasst wird." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "In dieser Währung ist der Einzelpreis angegeben." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "Zeitpunkt an dem die Ware tatsächlich bewegt wurde." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "Lagerort aus dem die Ware entnommen wird." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "Die Herkunft der Lagerbewegung." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "Zeitpunkt an dem die Lagerbewegung voraussichtlich stattfinden soll." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "Der Artikel für den die Lagerwegung erfasst wird." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "Die Menge die im Lager bewegt wird." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "Wird zum Gruppieren mehrere Lagerbewegungen genutzt." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "Der aktuelle Status der Lagerbewegung." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "Lagerort zu dem die Ware bewegt wird." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "Einzelpreis in Unternehmenswährung." + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Die Maßheit in der die Menge angegeben ist." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "Das Unternehmen für das der Lagerbuchungszeitraum erfasst wird." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "Das Ende des Lagerbuchungszeitraums." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "Der aktuelle Status des Lagerbuchungszeitraums." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "Auswählen, um nur die Menge der Lagerzone zu verwenden." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "Das Warenlager für das die Mengen berechnet werden." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Das Datum für das der Lagerbestand berechnet wird.\n" +"* Ein leerer Wert berechnet den Lagerbestand so weit voraus wie möglich.\n" +"* Ein Datum in der Vergangenheit berechnet historische Lagerbestände." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" +"Bei Aktivierung werden die Kosten von Artikeln berücksichtigt, die über ein " +"Inventurdifferenzlager ausgebucht wurden." + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "Die Lagerbewegungen, die nicht reserviert wurden." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "Das Unternehmen für das der Lieferposten erfasst wird." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "Der Lieferant kann unter dieser Adresse kontaktiert werden." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Zeitpunkt an dem die Ware tatsächlich angenommen wurde." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Die Lagerbewegungen für den Wareneingang." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Die Lagerbewegungen zur Einlagerung in die Lagerzone." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "Das Hauptidentifizierungsmerkmal für den Lieferposten." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Zeitpunkt an dem der Wareneingang erwartet wird." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "Das Identifizierungsmerkmal des Lieferanten für den Lieferposten." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "Der aktuelle Status des Lieferpostens." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "Die Partei, die Waren an das Lager liefert." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "Wo die Ware angenommen wird." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "Das Unternehmen für das der Lieferposten erfasst wird." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Adresse an die Ware aus dem Lager geliefert wird." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Zeitpunkt an dem die Ware tatsächlich zurückgesandt wurde." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "Lagerort aus dem die Ware entnommen wird." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "Die Lagerbewegungen für die Warenrückgabe an den Lieferanten." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "Das Hauptidentifizierungsmerkmal für den Lieferposten." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" +"Zeitpunkt an dem die Warenrückgaben an den Lieferanten planmäßig erfolgen " +"soll." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "Das Identifizierungsmerkmal des Lieferanten für den Lieferposten." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "Der aktuelle Status der Lieferung." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "Die Partei die Waren in das Lager liefert." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "Der Lagerort zu dem die Ware bewegt wird." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "Das Unternehmen für das der Lieferposten erfasst wird." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Zeitpunkt an dem der Lieferposten tatsächlich erledigt wurde." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Zeitpunkt an dem die Ware tatsächlich versandt wurde." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "Lagerort aus dem die Ware entnommen wird." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "Die Lagerbewegungen für den Wareneingang." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "Die Lagerbewegungen für die Lieferung." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "Das Hauptidentifizierungsmerkmal für den Lieferposten." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "Die Lagerbewegungen für den Warenversand." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Zeitpunkt an dem der Lieferposten planmäßig erledigt sein soll." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Zeitpunkt an dem die Ware planmäßig versandt werden soll." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "Das externe Idenfizierungsmerkmal für den Lieferposten." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "Der aktuelle Status des Lieferpostens." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "Lagerort zu dem die Ware bewegt wird." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" +"Lagerort an dem die Ware während des Transit zwischen Warenlagern geführt " +"wird." + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "Warenlager aus dem die Ware versandt wird." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "Das Unternehmen für das der Lieferposten erfasst wird." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "Die Partei die Waren aus dem Lager kauft." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Adresse an die Ware aus dem Lager geliefert wird." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Zeitpunkt an dem die Ware tatsächlich versandt wurde." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" +"Die Lagerbewegungen mit denen die Ware aus der Lagerzone entnommen wird." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "Das Hauptidentifizierungsmerkmal für den Lieferposten." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "Die Lagerbewegungen mit denen die Ware an den Kunden versandt wird." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Zeitpunkt an dem die Ware planmäßig versandt werden soll." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "Das Identifizierungsmerkmal des Kunden für den Lieferposten." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "Der aktuelle Status des Lieferpostens." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "Warenlager aus dem die Ware versandt wird." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "Das Unternehmen für das der Lieferposten erfasst wird." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "Die Partei die Waren aus dem Lager kauft." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "Der Kunde kann unter dieser Adresse kontaktiert werden." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "Zeitpunkt an dem die Ware tatsächlich zurückgegeben wurde." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" +"Die Lagerbewegungen mit denen die Ware zurück im Warenlager zurückgenommen " +"wird." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" +"Die Lagerbewegungen mit denen die Ware in die Lagerzone eingelagert wird." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "Das Hauptidentifizierungsmerkmal für den Lieferposten." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Zeitpunkt an dem die Ware planmäßig zurückgegeben werden soll." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "Das Identifizierungsmerkmal des Kunden für den Lieferposten." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "Der aktuelle Status des Lieferpostens." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "Warenlager an das die Ware zurückgegeben wird." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventuren" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventurpositionen" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Lagerorte" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Beschaffungszeiten zwischen Lagerorten" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Lagerbestand je Lagerort" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Lagerbestand (Strukturansicht)" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Lagerorte" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Anwesenheitseintragszeiträume" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Einstandspreisänderung" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Lagerbewegungen" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Lagerbestand je Warenlager (Zeitreihe)" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Lagerbewegungen je Warenlager" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Artikel je Lagerort" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "Marge pro Artikelkategorie" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "Marge pro Artikelkategorie (Zeitreihe)" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "Marge pro Artikelkategorie" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "Margen pro Artikel" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "Margen pro Artikel" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Wareneingangslieferungen" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "Warenrückgaben" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Interne Lieferungen" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Warenausgangslieferungen" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Warenausgangslieferungen" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Wareneingangslieferungen" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "Warenrücknahmen" + +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Einstellungen" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Einlagerungsliste" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Interne Lieferung" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Lieferschein" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Pickliste" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Einlagerungsliste" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Anzahl" + +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Artikelanzahl je Warenlager" + +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Lagerbewegungen" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Einstandspreis ändern" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Einstandspreis neu berechnen" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Reservierung Warenrückgabe (an Lieferanten)" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Interne Lieferung reservieren" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Warenausgangslieferung reservieren" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "Von Lieferanten" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "Von Lieferanten wartend" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "Zu Kunden" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Erhalten" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Reserviert" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Teilweise Reserviert" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Wartend" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Reserviert" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Teilweise Reserviert" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Anforderungen" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Versendet" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Wartend" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Reserviert" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Teilweise Reserviert" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Verpackt" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Kommissioniert" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Wartend" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Erhalten" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" +"Partei \"%(party)s\" kann nicht gelöscht werden solange noch Lieferungen bei" +" Unternehmen \"%(company)s\" ausstehen." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" +"Ungültiger Einstandspreis \"%(cost_price)s\" für Artikel \"%(product)s\" mit" +" Ausnahme \"%(exception)s\"." + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "Keine Position für \"%(search)s\" gefunden." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "Die Inventuren \"%(inventories)s\" haben ein Datum in der Zukunft." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" +"Inventur \"%(inventory)s\" muss annullliert werden, damit sie gelöscht " +"werden kann." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" +"Inventur \"%(inventory)s\" muss annulliert werden, damit " +"Lagerbestandsposition \"%(line)s\" gelöscht werden kann." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "Menge des Lagerbestands muss positiv sein." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" +"Die Lagerbestandsposition \"%(line)s\" von Inventur \"%(inventory)s\" ist " +"nicht eindeutig." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" +"Damit die Inventur \"%(inventory)s\" bestätigt werden kann, muss zuerst eine" +" Einstellung für die Inventurdifferenz auf einem übergeordneten Lagerort von" +" \"%(location)s\" gesetzt werden." + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" +"Damit die Inventur \"%(inventory)s\" bestätigt werden kann, muss zuerst eine" +" Option zur Behandlung von leeren Mengen ausgewählt werden." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" +"Damit der Lagerort \"%(location)s\" as Lagerzone/Wareneingang/Warenausgang " +"für Warenlager \"%(warehouse)s\" verwendet werden kann, muss als Teil des " +"Warenlagers konfiguriert sein." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" +"Damit der Lagerort \"%(location)s\" deaktiviert werden kann, muss er leer " +"sein." + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" +"Der Typ des Lagerorts \"%(location)s\" kann nicht auf \"%(type)s\" gesetzt werden, \n" +"da der Typ keine Lagerbewegungen erlaubt und für den Lagerort bereits Lagerbewegungen existieren." + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" +"Damit die Lagerbewegung \"%(move)s\" gelöscht werden kann, muss sie entweder" +" annulliert werden oder auf den Entwurfsstatus zurückgesetzt werden." + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" +"Die Lagerbewegungen \"%(moves)s\" haben ein effektives Datum in der Zukunft." + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" +"Herkunfts- und Bestimmungsort der Lagerbewegung müssen unterschiedlich sein." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "Interne Menge der Lagerbewegung muss positiv sein." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" +"Um Lagerbewegung \"%(move)s\" ändern zu können, muss dessen Status auf " +"Entwurf zurückgesetzt werden." + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" +"Lagerbewegung \"%(move)s\" kann nicht geändert werden, weil sie bereits " +"annulliert ist." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" +"Lagerbewegung \"%(move)s\" kann nicht geändert werden, weil sie im erledigt " +"ist." + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" +"Um die Lagerbewegung \"%(move)s\" ändern zu können, muss der " +"Lagerbuchungszeitraum \"%(period)s\" wieder geöffnet werden." + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "Die Lagerbewegungen \"%(moves)s\" haben keine Herkunft." + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "Die zu bewegende Menge muss positiv sein." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" +"Lagerzeiträume mit reservierten Lagerbewegungen können nicht geschlossen " +"werden." + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" +"Lagerzeiträume mit einem Datum ab heute und in Zukunft, dürfen nicht " +"geschlossen werden." + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"Der Einstandspreis eines Artikels, dem Lagerbewegungen zugeordnet sind, kann nicht geändert werden.\n" +"Es muss der Assistent \"Einstandspreis ändern\" verwendet werden." + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"Die Standardmaßeinheit kann nicht für Artikel geändert werden, denen " +"Lagerbewegungen zugeordnet sind." + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"Der Typ eines Artikels, dem Lagerbewegungen zugeordnet sind, kann nicht " +"geändert werden." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" +"Damit die Lieferung \"%(shipment)s\" gelöscht werden kann, muss sie zuerst " +"annulliert werden." + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Unternehmen" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "Kosten" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Nachkommastellen Währung" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "Marge" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "Margenentwicklung" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Nummer" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "Gewinn" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "Ertrag" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "Sind Sie sicher, dass Sie die Inventur abbrechen wollen?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "Sind Sie sicher, dass Sie die Inventur bestätigen wollen?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "Sind Sie sicher, dass Sie die Lagerbewegung abbrechen wollen?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "Sind Sie sicher, dass Sie die Lagerbewegung fertigstellen wollen?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Sind Sie sicher, dass Sie die Lieferung empfangen wollen?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Sind Sie sicher, dass Sie die Lieferung fertigstellen wollen?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Sind Sie sicher, dass Sie die Lieferung fertigstellen wollen?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Sind Sie sicher, dass Sie die Lieferung zurücknehmen wollen?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Inventurpositionen für fehlende Artikel erstellen" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "Startet den Assistenten zum Zählen der Artikel" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Annullieren" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Durchführen" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Bestätigen" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Zählen" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Annullieren" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Durchführen" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Auf Entwurf zurücksetzen" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Schließen" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Annullieren" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Erledigt" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Auf Entwurf zurücksetzen" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Einlagern" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Reservieren" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Annullieren" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Erledigt" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Warten" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Reservieren" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Annullieren" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Erledigt" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Versenden" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Warten" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Reservieren" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Annullieren" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Erledigt" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packen" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Kommissionieren" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Annullieren" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Erledigt" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Einlagern" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Warten" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Benutzer im Unternehmen" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Lagerbestand" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Wareneingangslieferung" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Warenrückgabe (an Lieferanten)" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Interne Lieferung" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Warenausgangslieferung" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Warenrücknahme (von Kunden)" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Lagerbestand" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Wareneingangslieferung" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Warenrückgabe (an Lieferanten)" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Interne Lieferung" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Warenausgangslieferung" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Warenrücknahme (von Kunden)" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Einstellungen" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventuren" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Lagerorte" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Lagerorte" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Beschaffungszeiten zwischen Lagerorten" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Lagerorte" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Lagerbewegungen" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Anwesenheitseintragszeiträume" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Auswertungen" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Margen" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Wareneingang" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "Warenrückgaben" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Interne Lieferungen" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Warenausgang" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "Warenrücknahmen" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Lager & Inventur" + +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Einstellungen" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Partei Ort" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Artikel je Lagerort" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "Artikel Einstandspreis Änderung" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Einstandspreis ändern" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Einstandspreis neu berechnen" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Lager" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Lager Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Lager Reservierung erzwingen" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Einstellungen Lager" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Einstellungen Lager Lagerort" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Einstellungen Lager Nummernkreis" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Lager Lagerbestand" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Lagerbestand Anzahl" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Lagerbestand Anzahl" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Lagerbestandsposition" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Lager Lagerort" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Kunde" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Wareneingang" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Inventurdifferenz" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Warenausgang" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Lagerzone" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Lieferant" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Beschaffungszeit zwischen Lagerorten" + +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Warenlager Reste Lagerort" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Lagerbewegung" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Lagerbuchungszeitraum" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Lagerbuchungszeitraum Cache" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Lagerbestand je Warenlager (Zeitreihe)" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Lagerbestand je Warenlager (Zeitreihe)" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Artikelanzahl je Lagerbewegung je Warenlager" + +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Artikel je Lagerort" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Artikel je Lagerort" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Lager Auswertung Marge pro Artikelkategorie" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Lager Auswertung Marge Pro Artikelkategorie (Zeitreihe)" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Lager Auswertung Marge Pro Artikelkategorie" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "Lager Auswertung Marge Kontext" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Lager Auswertung Marge Pro Artikel" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Lager Auswertung Lager Pro Artikel (Zeitreihe)" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Lieferung reservieren" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Wareneingangslieferung" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Warenrückgabe (an Lieferanten)" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Interne Lieferung" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Warenausgangslieferung" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Warenrücknahme (von Kunden)" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Von Lagerort" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Geplantes Datum:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Artikel" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Referenz:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Einlagerungsliste" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Lieferscheinnummer" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Lieferant:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Zu Lagerort" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Warenlager:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Von Lagerort" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Von Lagerort:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Interne Lieferung" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Geplantes Datum:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Artikel" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Referenz:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Lieferscheinnummer" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Zu Lagerort" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Zu Lagerort:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Kundennr:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Datum:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Lieferschein" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Artikel" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Referenz:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Lieferposten Nr.:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Kunde:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Von Lagerort" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Pickliste" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Geplantes Datum:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Artikel" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Referenz:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Lieferscheinnummer" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Zu Lagerort" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Warenlager:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Kunde" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Von Lagerort" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Nummer" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Geplantes Datum:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Artikel" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Menge" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Referenz:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Einlagerungsliste" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Lieferposten" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Zu Lagerort" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Warenlager:" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Warenausgangslieferungen reservieren" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Interne Lieferungen reservieren" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Einstandspreis von Lagerbewegungen neu berechnen" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Warenausgangslieferungen neu planen" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Interne Lieferungen neu planen" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Warenrückgaben (an Lieferanten) neu planen" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Ausbuchen" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Beibehalten" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Erledigt" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Artikel" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Kunde" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Direktlieferung" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Inventurdifferenz" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Produktion" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Lager" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Lieferant" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Sicht" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Warenlager" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Reserviert" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Erledigt" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "Vorläufig" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Geschlossen" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Artikel" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "Tag" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "Monat" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "Jahr" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Erledigt" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Erhalten" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Reserviert" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Erledigt" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Wartend" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Reserviert" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Erledigt" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Angefordert" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Versendet" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Wartend" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Reserviert" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Erledigt" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Gepackt" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Kommissioniert" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Wartend" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Annulliert" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Erledigt" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Entwurf" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Erhalten" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Lager" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "Das Warenlager in dem Sie arbeiten." + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Lagerbestand" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Lieferposten" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Folgende Artikel können nicht reserviert werden:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Sonstiges" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Sonstiges" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Sonstiges" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Sonstiges" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Sonstiges" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Ausgehende Lagerbewegungen" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Abbrechen" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Abbrechen" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Neu berechnen" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Hinzufügen" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Abbrechen" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Fertig" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Auswählen" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Abbrechen" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Warten" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "Erzwingen" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "Ignorieren" diff --git a/modules/stock/locale/es.po b/modules/stock/locale/es.po new file mode 100644 index 0000000000..8367ac7000 --- /dev/null +++ b/modules/stock/locale/es.po @@ -0,0 +1,3303 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Envío" + +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Envío" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Ubicación de cliente" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Ubicaciones" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Ubicación de proveedor" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Ubicación de cliente" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Tercero" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Ubicación de proveedor" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "A la fecha" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "A la fecha" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Nuevo precio de coste" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Nuevo precio de coste" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Valor de coste" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Cantidad prevista" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "De" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Valor de coste" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Cantidad prevista" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Almacén actual" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Secuencia de inventario" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Secuencia de albarán devolución proveedor" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Secuencia de albarán proveedor" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Secuencia de albarán interno" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transito albaranes internos" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Secuencia de albarán devolución cliente" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Secuencia de albarán cliente" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transito albaranes internos" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Secuencia de inventario" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Secuencia de albarán devolución proveedor" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Secuencia de albarán proveedor" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Secuencia de albarán interno" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Secuencia de albarán devolución cliente" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Secuencia de albarán cliente" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Cantidad en blanco" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Líneas" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Ubicación" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Línea" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Cantidad total" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos de la unidad" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "UdM" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Buscar" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Modelo de la búsqueda" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Cantidad estimada" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventario" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Ubicación" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Estado inventario" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos de la unidad" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "UdM" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Dirección" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Hijos" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Código" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Valor de coste" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Hijos llanos" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Cantidad prevista" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Entrada" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Izquierda" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Perdido y encontrado" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nombre" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Salida" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Padre" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Recogida" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "UdM cantidad" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Dígitos de la UdM de la cantidad" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Derecha" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Interna" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Tipo de ubicación" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Ubicación residuos" + +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Almacén residuos" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Tiempo de espera" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Desde el almacén" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Hasta el almacén" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Ubicación residuos" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Reserva obligatoria" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Precio de coste" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Precio de coste obligatorio" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Fecha efectiva" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Desde ubicación" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantidad interna" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Origen" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Fecha estimada" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Categoría UdM del producto" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Albarán" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "A ubicación" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos de la unidad" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Precio unitario" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Precio unitario" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Precio unitario obligatorio" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Precio unitario actualizado" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "UdM" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Precalculado" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantidad interna" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Ubicación" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Período" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Solo zona de almacenamiento" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "Diferencia de cantidad acumulada" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "Cantidad final acumulada" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "Cantidad acumulada incial" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "Documento" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Movimiento" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Origen" + +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "Consumible" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Valor de coste" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "UdM por defecto" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "Decimales de la UdM por defecto" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Cantidad prevista" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "A la fecha" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "A la fecha" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "Categoría" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "Series temporales" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "Categoría" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Hijos" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nombre" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Padre" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Desde la fecha" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "Incluye perdidos" + +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Período" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Hasta la fecha" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantidad interna" + +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "Series temporales" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "Unidad" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos de la unidad" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Moneda" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Fecha" + +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantidad interna" + +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "Unidad" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos de la unidad" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Dirección de contacto" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Finalizado por" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Fecha efectiva" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Movimientos de entrada" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Movimientos internos" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Orígenes" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Fecha estimada" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Recibido por" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referencia" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Proveedor" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Ubicación de proveedor" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Almacén-ubicación de entrada" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Ubicación de almacenamiento" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Reservador por" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Dirección de envío" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Finalizado por" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Fecha efectiva" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Desde ubicación" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Orígenes" + +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Reservado parcialmente" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Fecha estimada" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referencia" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Proveedor" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "A ubicación" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Recibido por" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Finalizado por" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Fecha efectiva" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Fecha inicio efectiva" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Desde ubicación" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Movimientos de entrada" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Movimientos de salida" + +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Reservado parcialmente" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Fecha estimada" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Fecha inicio estimada" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referencia" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Enviado por" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "A ubicación" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Ubicación en tránsito" + +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Ubicación de cliente" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Dirección de envío" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Finalizado por" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Fecha efectiva" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Movimientos de inventario" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Origen" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Movimientos de salida" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Empaquetado por" + +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Reservado parcialmente" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Recogido por" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Fecha estimada" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referencia" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Ubicación de salida" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Ubicación de almacenamiento" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Ubicación de cliente" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Dirección de envío" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Finalizado por" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Fecha efectiva" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Movimientos de entrada" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Movimientos internos" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Orígenes" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Fecha estimada" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Recibido por" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referencia" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Ubicación de entrada" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Ubicación de almacenamiento" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Marcar para enviar mercancías a esta dirección." + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "Marcar para utlizar en los envíos." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "La ubicación de destino por defecto para enviar productos al tercero." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" +"La ubicación de origen por defecto para recibir productos del tercero." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "La ubicación de destino por defecto para envíar productos al tercero." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" +"La ubicación de origen por defecto para recibir productos del tercero." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Fecha en la que la cantidad de existencias es calculada.\n" +"* Un valor vacío realizará el cálculo lo mas lejos posible.\n" +"* Una fecha pasada proporcionará valores históricos." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Expresión Python que se evaluará con:\n" +"- cost_price: el precio de coste actual del producto" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Expresión Python que se evaluará con:\n" +"- cost_price: el precio de coste actual del producto" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "El valor de las existencias en la ubicación." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La cantidad de existencias que se espera tener en la ubicación." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "La cantidad de existencias en la ubicación." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "El valor de las existencias en la ubicación." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La cantidad de existencias que se espera tener en la ubicación." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "La cantidad de existencias en la ubicación." + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "Al almacén al que trabaja el usuario." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "Usado para generar el número asignado a los inventarios." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" +"Usado para generar el número asignado a los albaranes de devolución de " +"proveedor." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "Usado para generar el número asignado a los albaranes de proveedor." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "Usado para generar el número asignado a los albaranes internos." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"La ubicación por defecto usada para las existencias en tránsito entre " +"almacenes." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" +"Usado para generar el número asignado a los albaranes de devolución de " +"cliente." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "Usado para generar el número asignado a los albaranes de cliente." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"La ubicación por defecto usada para las existencias en tránsito entre " +"almacenes." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "La empresa a la que se le asocia el inventario." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "La fecha cuando se realiza el recuento de productos." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Como se gestionan las líneas sin cantidad." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "La ubicación inventariada." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "El identificador principal del inventario." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "El estado actual del inventario." + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "La cantidad a añadir al recuento actual." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "La cantidad total de la línea contada hasta el momento." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "La unidad en la que se especifican las cantidades." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "El elemento que ha sido contado." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "La cantidad que debería haber en la ubicación según el sistema." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "El inventario al que pertenece la línea." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "La cantidad actual que se encuentra en la ubicación." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "La unidad en la que se especifica la cantidad." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Usado para añadir estructura por debajo de la ubicación." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "El identificador interno usado para la ubicación." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "El valor de las existencias en la ubicación." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "Marcar para forzar un solo nivel de hijos sin nietos." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La cantidad de existencias que se espera tener en la ubicación." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "Donde se recibe las existencias entrantes." + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" +"Utilizado en los inventarios para corregir los niveles de existencias en el " +"almacén." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "Donde se envían las existencias salientes." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Utilizado para añadir estructura por encima de la ubicación." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"Desde donde se recogen las existencias.\n" +"Déjelo vacío para utilizar la ubicación de almacenamiento." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "La cantidad de existencias en la ubicación." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "La ubicación superior dónde se almacenan las existencias." + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "Las ubicaciones usadas para los residuos de productos del almacén." + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "Los almacenes que usan la ubicación de residuos de productos." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "El tiempo que lleva mover las existencias entre almacenes." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "La empresa con la que se asocia el movimiento de existencias." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "La moneda en la que se especifica el precio unitario." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "Cuando se movieran realmente las existencias." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "Desde donde se mueven las existencias." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "El origen del movimiento de existencias." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "Cuando esta previsto mover las existencias." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "El producto con el que se asocia el movimiento." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "La cantidad de existencias que se mueven." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "Usado para agrupar varios movimientos de existencias juntos." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "El estado actual del movimiento de existencias." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "A donde se mueven las existencias." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "Precio unitario en la moneda de la empresa." + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "La unidad en la que se especifica la cantidad." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "La empresa con la que se asocia el periodo de existencias." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "Cuando finaliza el periodo de existencias." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "El estado actual del periodo de existencias." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "Marcar para utilizar solo la cantidad de la zona de almacenaje." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "El almacén para el cual se calculan las cantidades." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"La fecha para calcular la cantidad de existencias.\n" +"* Un valor vacío calcula lo más adelantado posible.\n" +"* Una fecha pasada proporcionará valores históricos." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" +"Si se marca, se incluye el cost de los productos movidos a las ubicaciones " +"de Perdido y Encontrado." + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "Los movimientos que no fueron reservados." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "La empresa a la que está asociada el albarán." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "La dirección en la que puede contactarse con el proveedor." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Cuando las existencias fueron realmente recibidas." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Los movimientos que traen las existencias al almacén." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Los movimientos que traen las existencias al área de almacenamiento." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "El identificador principal del albarán." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Cuando se esperan recibir las existencias." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "El identificador del proveedor para el albarán." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "El estado actual del albarán." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "Tercero que proporciona las existencias." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "Donde se reciben las existencias." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "La empresa con la que está asociado el albarán." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "A donde se envían las existencias." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Cuando se han devuelto realmente las existencias." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "De donde se mueven las existencias." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "Los movimientos que devuelven las existencias al proveedor." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "El identificador principal del albarán." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Cuando se espera que se devuelvan las existencias." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "El identificador del proveedor para el albarán." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "El estado actual del albarán." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "El tercero que subministra las existencias." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "Donde se mueven las existencias." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "La empresa con la que está asociada el albarán." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Cuando se completo realmente el albarán." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Cuando se enviaron realmente las existencias." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "Desde donde se mueven las existencias." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "Los movimientos que reciben las existencias." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "Los movimientos que realizan el albarán." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "El identificador principal del albarán." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "Los movimientos que envían las existencias." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Cuando se espera completar el albarán." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Cuando se espera que las existencias sean enviadas." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "El identificador externo del albarán." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "El estado actual del albarán." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "A donde se mueven las existencias." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" +"Donde se encuentran las existencias mientras están en tránsito entre " +"almacenes." + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "Desde donde se envían las existencias." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "La empresa con la que el albarán está asociado." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "El tercero que compró las existencias." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "A donde se envía el sotck." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Cuando se han enviado realmente las existencias." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" +"Los movimientos que recogen las existencias desde el área de almacenamiento." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "El identificador principal del albarán." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "Los movimientos que envían las existencias al cliente." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Cuando se tiene previsto enviar las existencias." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "El identificador del cliente para el albarán." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "El estado actual del albarán." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "Desde donde se envían las existencias." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "La empresa con la que el albarán está asociado." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "El tercero que compró las existencias." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "La dirección en la que el cliente puede ser contactado." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "Cuando fueron devueltas las existencias." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Los movimientos que llevan las existencias al almacén." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Los movimientos que sacan las existencias del área de almacenamiento." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "El identificador principal del albarán." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Cuando se espera que las existencias sean devueltas." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "El identificador del cliente para el albarán." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "El estado actual del albarán." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "Donde se devuelven las existencias." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventarios" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Líneas de inventario" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Ubicaciones" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Tiempo de espera entre ubicaciones" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Cantidad por ubicaciones (listado)" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Cantidad por ubicaciones" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Ubicaciones" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Períodos" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Revisión del precio de coste" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Movimientos de existencias" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Cantidades de producto por almacén" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Movimientos por almacén" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Productos por ubicación" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "Márgenes por categoría" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "Márgenes por categoría" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "Márgenes por categoría" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "Márgenes por producto" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "Márgenes por producto" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Albaranes de proveedor" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "Devoluciones" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Albaranes internos" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Albaranes de cliente" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Albaranes de cliente" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Albaranes de proveedores" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "Devoluciones" + +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuración" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Lista de reabastecimiento" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Albaranes internos" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Nota de envío" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Lista recogida" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Lista de reabastecimiento" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Recuento" + +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Cantidades de producto por almacén" + +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Movimientos de existencias" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Modicar el precio de coste" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recalcular precio de coste" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Reservar el albarán de devolución de proveedor" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Reserva el albarán interno" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Reservar albarán de cliente" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Todo" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Borrador" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Todo" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "Desde proveedores" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "Desde proveedores en espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "Hacia clientes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Todo" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Borrador" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Recibido" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Todo" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Reservado" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Reservado parcialmente" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Borrador" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "En espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Todo" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Reservado" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Reservado parcialmente" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Borrador" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Solicitudes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Enviado" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "En espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Todo" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Reservado" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Reservado parcialmente" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Borrador" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Empaquetado" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Recogido" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "En espera" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Todo" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Borrador" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Recibido" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" +"No puede eliminar el tercero \"%(party)s\" mientras tengan albaranes " +"pendientes con la empresa \"%(company)s\"." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" +"El precio de coste \"%(cost_price)s\" para el producto \"%(product)s\" és " +"invalido amb la excepción \"%(exception)s\"." + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "No se ha encontrado ninguna línea existente para %(search)s." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "Los inventarios \"%(inventories)s\" tienen fecha en el futuro." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "Para eliminar el inventario \"%(inventory)s\" debe cancelarlo." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" +"Para eliminar la línea de inventario \"%(line)s\" debe cancelar el " +"inventario \"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "La cantidad de la linea de inventario debe ser positiva." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" +"La línea de inventario \"%(line)s\" no es única en el inventario " +"\"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" +"Para confirmar el inventario \"%(inventory)s\" debe seleccionar una " +"ubicación de perdido y encontrado para alguno de los padres de la ubicación " +"\"%(location)s\"." + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" +"Para confirmar el inventario \"%(inventory)s\" debe seleccionar una opción " +"para la cantidad vacía." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" +"Para establecer la ubicación \"%(location)s\" como " +"almacenamiento/entrada/salida del almacén \"%(warehouse)s\", debe estar en " +"el almacén." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "Para desactivar la ubicación \"%(location)s\", debe vaciarla." + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" +"No puede cambiar el tipo de ubicación \"%(location)s\" a \"%(type)s\"\n" +"porque el tipo no soporta movimientos y la ubicación los tiene." + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" +"Para eliminar el movimiento de existencias \"%(move)s\" debe cancelarlo o " +"restaurar su estado a borrador." + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "Los movimientos \"%(moves)s\" tienen fecha efectiva en el futuro." + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "El origen y destino del movimiento de existencias debe ser diferente." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "La cantidad interna del movimiento debe ser positiva." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" +"Para modificar el movimiento de exitencias \"%(move)s\" debe restaurar su " +"estado a borrador." + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" +"No puede modificar el movimiento de existencias \"%(move)s\" porque está " +"cancelado." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" +"No puede modificar el movimiento de existencias \"%(move)s\" porqué está " +"realizado." + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" +"Para modificar el movimiento de existencias \"%(move)s\" debe reabrir el " +"periodo \"%(period)s\"." + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "Los movimientos de existencias \"%(moves)s\" no tienen origen." + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "La cantidad del movimiento tiene que ser positiva." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "No puede cerrar periodos que contienen movimientos reservados." + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "No puede cerrar periodos con fecha de hoy o en el futuro." + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"No se puede cambiar el precio de coste de un producto que esta asociado con movimientos de existencias.\n" +"Debéis ejecutar el asistente \"Modificar precio de coste\"." + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"No puede cambiar la UdM por defecto de un producto que esta asociado con " +"movimientos de existencias." + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"No se puede cambiar el tipo de un producto que esta asociado con movimientos" +" de existencias." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "Para eliminar el albarán \"%(shipment)s\" debe cancelarlo." + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Empresa" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "Coste" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Decimales de la moneda" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "Margen" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "Tendencia del margen" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Número" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "Beneficio" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "Ingresos" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "Seguro que quieres cancelar el inventario?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "Seguro que quieres confirmar el inventario?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "Seguro que quieres cancelar el movimiento?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "Seguro que quieres finalizar el movimiento?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Seguro que quieres recibir el albarán?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Seguro que quieres finalizar el albarán?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Seguro que quieres finalizar el albarán?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Seguro que quieres recibir el albarán?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Añadir una línea de inventario por cada producto que falta" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "Abre el asistente para hacer recuento de productos" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Completar" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirmar" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Recuento" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Finalizar" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Restaurar a borrador" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Cerrar" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Borrador" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Finalizar" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Restaurar a borrador" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Recibir" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Reservar" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Finalizar" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Borrador" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "En espera" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Reservar" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Finalizar" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Borrador" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Enviar" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "En espera" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Reservar" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Finalizar" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Borrador" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Empaquetar" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Recoger" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Finalizar" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Borrador" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Recibir" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "En espera" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Usuario en las empresas" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventario" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Albarán de proveedor" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Albarán de devolución de proveedor" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Albarán interno" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Albarán de cliente" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Albarán de devolución de cliente" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventario" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Albarán de proveedor" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Albarán de devolución de proveedor" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Albarán interno" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Albarán de cliente" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Albarán de devolución de cliente" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuración" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventarios" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Ubicaciones" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Ubicaciones" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Tiempo de espera entre ubicaciones" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Ubicaciones" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Movimientos" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Períodos" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Informes" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Márgenes" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Albaranes de proveedor" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "Devoluciones" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Albaranes internos" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Albaranes de cliente" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "Devoluciones" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Logística" + +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuración" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Ubicación del tercero" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Productos por ubicación" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "Revisión del precio de coste" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Modifcar el precio de coste" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recalcular precio de coste" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Logística" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Administración de logística" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Forzar reserva en logística" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Configuración existencias" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Configuración de ubicaciones de existencias" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Configuración de secuencias de existencias" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Inventario de existencias" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Recuento de inventario" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Recuento de inventario" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Línea inventario de existencias" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Ubicación de existencias" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Cliente" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Zona de entrada" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Perdido y encontrado" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Zona de salida" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Zona de almacenamiento" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Proveedor" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Tránsito" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Ubicación tiempo de espera" + +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Ubicación de residuos del almacén" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Movimiento de existencias" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Período de existencias" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Período de existencias precalculado" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Cantidades de producto por almacén" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Cantidades de producto por almacén" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Cantidades de producto por movimientos de almacén" + +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Productos por ubicación" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Productos por ubicación" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Informe de márgenes por categoría" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Informe de márgenes por categoría" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Informe de márgenes por categoría" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "Contexto de los informes de Márgenes" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Informe de margenes por producto" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Informe de margenes por producto" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Reservar el albarán" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Albaranes proveedor" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Albarán devolución proveedor" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Albarán interno" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Albarán cliente" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Albarán devolución cliente" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Desde ubicación" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Fecha estimada:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Producto" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Referencia:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Lista de reabastecimiento" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Número de albarán" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Proveedor:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "A ubicación" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Almacén:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Desde ubicación" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Desde ubicación:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Albarán interno" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Fecha estimada:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Producto" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Referencia:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Número de albarán" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "A ubicación" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "A ubicación:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Código de cliente:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Fecha:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Nota de envío" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Producto" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Referencia:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Número de albarán:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Cliente:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Desde ubicación" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Lista recogida" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Fecha estimada:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Producto" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Referencia:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Número de albarán" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "A ubicación" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Almacén:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Desde ubicación" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Número" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Fecha estimada:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Producto" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Cantidad" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Referencia:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Lista de reabastecimiento" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Albarán" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "A ubicación" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Almacén:" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Reserva los albaranes de cliente" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Reserva los albaranes internos" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recalcular precio de coste a partir de los movimientos" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Replanificar los albaranes de cliente" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Replanificar los albaranes internos" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Replanifica los albaranes de devolución de proveedor" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Vacío" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Mantener" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Finalizar" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Producto" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Envío directo" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Perdido-encontrado" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Producción" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Interna" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Proveedor" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Vista" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Almacén" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Reservado" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Finalizado" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "En proceso" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Cerrado" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Producto" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "Día" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "Mes" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "Año" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Finalizado" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Recibido" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Reservado" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Finalizado" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "En espera" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Reservado" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Finalizado" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Solicitud" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Enviado" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "En espera" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Reservado" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Finalizado" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Empaquetado" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Recogido" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "En espera" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Finalizado" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Borrador" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Recibido" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Logística" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "El almacén al que estas trabajando." + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventario" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Albaranes" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Valor de coste" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "No se pueden reservar estos productos:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Información adicional" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Información adicional" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Información adicional" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Información adicional" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Información adicional" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Movimientos de salida" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "Aceptar" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recalcular" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Añadir" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Finalizar" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Seleccionar" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancelar" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Esperar" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "Forzar" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "Ignorar" diff --git a/modules/stock/locale/es_419.po b/modules/stock/locale/es_419.po new file mode 100644 index 0000000000..b884a681c7 --- /dev/null +++ b/modules/stock/locale/es_419.po @@ -0,0 +1,3340 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Remisión" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Costo" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Costo" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Costo" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +#, fuzzy +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Costo" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Secuencia de envío de devolución a proveedor" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Secuencia de envío de proveedor" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Secuencia de envío interna" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Tránsito de envíos internas" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Secuencia de envíos de devolución de cliente" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Secuencia de envíos a cliente" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Tránsito de envíos internos" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Secuencia de envíos de devolución a proveedor" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Secuencia de envíos de proveedor" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Secuencia de envío interno" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Secuencia de envío de devolución de cliente" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Secuencia de envíos a cliente" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Envío interno" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Costo" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Perdido y encontrado" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Almacenamiento" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Bodega" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Desde la bodega" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Hasta la bodega" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Costo" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Precio unitario requerido" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Envío" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Precio unitario" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Precio unitario" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Precio unitario requerido" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Precio unitario" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Costo" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Envío interno" + +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Envío interno" + +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Stock" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referencias:" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Bodega de entrada" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Bodega de almacenamiento" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Dirección de entrega" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referencias:" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Fecha de inicio efectiva" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referencias:" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Dirección de entrega" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Empacado" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referencias:" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Bodega de salida" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Bodega de almacenamiento" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Dirección de entrega" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referencias:" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Bodega de entrada" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Bodega de almacenamiento" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Línea de inventario de stock" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Costo" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Stock" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Cantidades de producto por bodega" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Cantidades de producto por bodega" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Bodega de almacenamiento" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Envío de proveedor" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Envío interno" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Envío a cliente" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Envío a cliente" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Envío de proveedor" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Envío interno" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Remisión" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Cantidades de producto por bodega" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Stock" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Costo" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Reservar devolución a proveedor" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Envío interno" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Empacado" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Empacado" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "La cantidad del movimiento debe ser positiva" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "La cantidad del movimiento debe ser positiva" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "La cantidad del movimiento debe ser positiva" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Realizar" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Realizar" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Realizar" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Realizar" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Empacado" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Realizar" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Envío de proveedor" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Devolución a proveedor" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Envío interno" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Envío a cliente" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Devolución de cliente" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Envío de proveedor" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Devolución a proveedor" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Envío interno" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Envío a cliente" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Devolución de cliente" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Envío de proveedor" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Envío interno" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Envío a cliente" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Costo" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Costo" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +#, fuzzy +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Línea de inventario de stock" + +#, fuzzy +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Línea de inventario de stock" + +#, fuzzy +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Línea de inventario de stock" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Línea de inventario de stock" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "" + +#, fuzzy +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Perdido y encontrado" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "" + +#, fuzzy +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Bodega de almacenamiento" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Cantidades de producto por bodega" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Cantidades de producto por bodega" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Cantidades de producto por bodega" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Bodega de almacenamiento" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Reservar envío interno" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Envío de proveedor" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Devolución a proveedor" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Envío interno" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Envío a cliente" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Devolución de cliente" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Referencias:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Número de envío" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Bodega:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Envío interno" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Referencias:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Número de Envío" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Remisión" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Referencias:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Número de Envío:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Referencias:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Número de Envío" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Bodega:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Referencias:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Envío" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Bodega:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Envío a cliente" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Envío interno" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Envío a cliente" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Envío interno" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Devolución a proveedor" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Realizar" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Rechazado" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Perdido y encontrado" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Almacenamiento" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Bodega" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Realizar" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Realizar" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Realizar" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Realizar" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Realizar" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Empacado" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Empacado" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Realizar" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "" + +#, fuzzy +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Stock" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Envíos" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Costo" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/et.po b/modules/stock/locale/et.po new file mode 100644 index 0000000000..1e07e6a746 --- /dev/null +++ b/modules/stock/locale/et.po @@ -0,0 +1,3389 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Tarne" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Tarne" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Kliendi asukoht" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Asukohad" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Hankija asukoht" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Kliendi asukoht" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Osapool" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Hankija asukoht" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Kuupäeval" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Kuupäeval" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Ettevõte" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Kuluväärtus" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Kuupäev" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Toode" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Kuluväärtus" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Kuupäev" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Kuluväärtus" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoositav kogus" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Kuluväärtus" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoositav kogus" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Kogus" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Ladu" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Varude järjestus" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Hankija tagastuse järjestus" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Tarnete järjestus" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Sisemise lähetuse järjestus" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Sisemine transiit" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Kliendi tagastuse järjestus" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Lähetuste järjestus" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Sisemine transiit" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Varude järjestus" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Hankija tagastuse järjestus" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Tarnete järjestus" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Sisemise lähetuse järjestus" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Kliendi tagastuse järjestus" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Lähetuste järjestus" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Kuupäev" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Nullkogus" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Read" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Asukoht" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Number" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Rida" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Toode" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Üldkogus" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Ühiku numbriline arv" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "Ühik" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Otsi" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Otsingu mudel" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Oodatav kogus" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Kaup" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Kuupäev" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Asukoht" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Kauba olek" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Toode" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Ühiku numbriline arv" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "Ühik" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Aadress" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Alamjaotis" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Kood" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Kuluväärtus" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Alamjaotise paraleel" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoositav kogus" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Sisend" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Vasak" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Leiunurk" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nimi" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Väljund" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Ülem" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Noppimine" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Kogus" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Kogus" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Ühiku numbriline arv" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Parem" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Hoiuala" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Asukoha tüüp" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Ladu" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Transiitasukoht" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Ladu" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Ooteaeg" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Laost" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Lattu" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Transiitasukoht" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Ladu" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Kohustuslik" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Kuluväärtus" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Ühiku hind nõutud" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Valuuta" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Kehtiv kuupäev" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Asukohast" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Sisemine kogus" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Päritolu" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Planeeritud kuupäev" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Toode" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Toote mõõtühiku kategooria" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Lähetus" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Asukohta" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Ühiku numbriline arv" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Ühiku hind" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Ühiku hind" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Ühiku hind nõutud" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Ühiku hind" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Mõõtühik" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Vahemälu" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Kuupäev" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Sisemine kogus" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Asukoht" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periood" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Toode" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Kuupäev" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Toode" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Kogus" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Hoiuala" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Ladu" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Kuupäev" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Liikumised" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Päritolu" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Toode" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Kuluväärtus" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoositav kogus" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Toode" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Kuupäeval" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Kuupäeval" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Valuuta" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Valuuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Kuupäev" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Alamjaotis" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nimi" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Ülem" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Ettevõte" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Asukohast" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periood" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Kuupäev" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Valuuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Sisemine kogus" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Toode" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Ühiku numbriline arv" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Valuuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Kuupäev" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Sisemine kogus" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Toode" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Ühiku numbriline arv" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Kontaktaadress" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Tehtud" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Kehtivusaeg" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Sissetulevad liikumised" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Varude liikumised" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Number" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Päritolu" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Planeeritud kuupäev" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Vastuvõtja" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Viide" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Hankija" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Hankija asukoht" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Ladu" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Lao saabumisala" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Lao hoiuala" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Omistatud" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Tarneaadress" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Tehtud" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Kehtivusaeg" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Asukohast" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Number" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Päritolu" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Määratud" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Planeeritud kuupäev" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Viide" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Hankija" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Asukohta" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Vastuvõtja" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Tehtud" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Kehtivusaeg" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Tegelik alguskuupäev" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Asukohast" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Sissetulevad liikumised" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Number" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Väljuvad liikumised" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Määratud" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Planeeritud kuupäev" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Planeeritud alguskuupäev" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Viide" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Lähetatud" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Asukohta" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Transiitasukoht" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Ladu" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Klient" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Kliendi asukoht" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Tarneaadress" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Tehtud" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Kehtivusaeg" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Varude liikumised" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Number" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Päritolu" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Väljuvad liikumised" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Pakitud" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Määratud" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Pakitud" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Planeeritud kuupäev" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Viide" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Ladu" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Lao väljastusala" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Lao hoiuala" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Klient" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Kliendi asukoht" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Tarneaadress" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "tehtud" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Kehtivusaeg" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Sissetulevad liikumised" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Sissetulevad liikumised" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Number" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Päritolu" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Planeeritud kuupäev" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Vastuvõtja" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Viide" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Olek" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Ladu" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Lao saabumisala" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Lao hoiuala" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Märgista, et saata tarned antud aadressile" + +#, fuzzy +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "Märgista, et saata tarned antud aadressile" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Osapoolele saadetud lao vaikimis asukoht." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "Hankijalt saadud kauba vaikimisi saabumise koht" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Osapoolele saadetud lao vaikimis sihtkoha asukoht." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "Hankijalt saadud kauba vaikimisi saabumise koht" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Lao koguse arvutamise kuupäev* tühi väärtus arvutab nii kaugele tulevikku " +"kui võimalik* mineviku kuupäev esitab ajaloolised väärtused" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "Lao väärtus asukohas." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Eeldatav kaubakogus asukohas." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "Kauba kogus asukohas." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "Kauba väärtus asukohas." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Eeldatav kaubakogus asukohas." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "Kauba kogus asukohas." + +#, fuzzy +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "Kanded mis liigutavad kauba välja" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "Kasutatakse varude numbri genereerimiseks" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "Kasutatakse hankija tarne tagastuse numbri genetreerimiseks" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "Kasuatakse hankija tarne numbri genereerimiseks" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "Kasutatakse sisemise tarne numbri genereerimiseks" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "Kaubale määratud vaikimisi asukoht kuniks toimub vedu ladude vahel" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "Kasutatakse kliendi tarne tagastuse numbri genereerimiseks" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "Kasutatakse kliendi tarne numbri genereerimiseks" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "Kaubale määratud vaikimisi asukoht kuniks toimub vedu ladude vahel" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "Ettevõte, kellega varud on seotud" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "Inventuuri kuupäev." + +#, fuzzy +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Kuidas käsitleda ilma koguseta ridasid." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "Inventeeritav asukoht." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "Varude peamine identifikaator" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "Varude hetke staatus" + +#, fuzzy +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "Hetkeväärtusele lisanduv kogus" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "Rea hetkeline koguväärtus" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "Koguste mõõtühik" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "Loendamisel olev üksus" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "Süsteemi poolt arvutatud kogus peaks olema selles asukohas" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "Varu mille juurde rida kuulub" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "Asukohas olev tegelik kogus" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Koguse mõõtühik" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Kasutatkse asukoha alla struktuuri lisamiseks" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "Asukoha sisemine idenifikaator" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "Kauba väärtus asukohas." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" +"Märgista et rakendada ühetasandiline alamjaotus ilma teie taseme " +"alajaotuseta" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Eeldatav kaubakogus asukohas" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "Asukoht kus võetakse vastu saabuv kaup" + +#, fuzzy +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "Kanded kauba lattu liigutamiseks" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "Asukoht kust väljastatakse lähetatav kaup" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Kasutatkse asukoha kohale struktuuri lisamiseks" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "Kauba noppimise asukohtJäta tühjaks et kasutada lao asukohta" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "Kauba kogus asukohas." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "Kõrgema taseme asukohta kus kaupa hoiustatakse" + +#, fuzzy +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "Kaubale määratud vaikimisi asukoht kuniks toimub vedu ladude vahel" + +#, fuzzy +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "Kanded mis liigutavad kauba välja" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "Aeg, mis kulub kauba liigutamiseks ladude vahel." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "Ettevõte, millega laoliikumine on seotud." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "Valuuta, milles ühiku hind on määratud" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "Kui kaupa tegelikult liigutati" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "Kuhu kaupa liigutati" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "Laokande allikas" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "Millal toimub eeldatav kauba liigutamine" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "Toode millega kanne on seotud" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "Liigutatava laoseisu väärtus" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "Kasutatakse mitme kauba liikumise grupeerimiseks" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "Laoliikumise olek." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "Kuhu kaup liigutatakse" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Koguse mõõtühik" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "Lao perioodiga seotud ettevõte" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "Millal laoperiood lõppeb." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "Lao perioodi hetkeseis" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "Koguste arvutamise aluseks oleva ladu" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Laokoguse arvutamise kuupäev* Tühi väärtus arvutab tulevikku nii pikalt kui " +"võimalik* Mineviku kuupäev kuvab ajaloolisi väärtusi" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +#, fuzzy +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "Kanded mis ei ole seotud" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "Ettevõte, kellega vedu on seotud" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "Hankija aadress" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Kauba tegelik vastuvõtmine" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Kanded kauba lattu liigutamiseks" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Kanded mis panevad kauba ära laokohtadele" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "Tarne peamine identifikaator" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Millal oodatakse kauba saabumist" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "Hankija tarne tunnus" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "Lähetuse olek." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "Tarnija." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "Kus kaup vastu võetakse" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "Ettevõte kellega tarne on seotud" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Kuhu kaup saadetakse" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Millal kaubad tegelikult tagastakse" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "Kaupade liigutamise algpunkt" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "Kanded mis tagatsavad kauba hankijale" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "Tarne peamine tunnus" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Millal toimub kauba eelduslik tagastamine" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "Tarnijapoolne tarne tunnus" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "Lähetuse olek." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "Tarnija." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "Kuhu kaup liigutatakse" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "Ettevõte, millega tarne on seotud" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Millal tarne tegelikult lõpetati" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Millal kaup tegelikult saadeti" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "Kauba liigutamise algkoht" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "Kanded mis võtavad kauba vastu" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "Tarne kanded" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "Tarne peamine tunnus" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "Kanded mis liigutavad kauba välja" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Millal tarne eelduslikult lõpetatakse" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Millal kaup eelduslikult saadetakse" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "Lähetuse väline viide." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "Lähetuse olek." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "Kuhu kaup liigutatakse" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "Kauba asukoht kuniks seda liigutatakse ladude vahel" + +#, fuzzy +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "Kauba saatmise lähtekoht" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "Ettevõte millega vedu on seotud" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "Osapool kes kauba soetas" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Kuhu kaup saadetakse" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Kuhu kaup tegelikult saadeti" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "Kanded mis nopivad kaubad laokohtadelt" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "Tarne peamine tunnus" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "Kanded mis liigutavad kauba kliendile" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Millal kaup eelduslikult saadetakse" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "Kliendipoolne tarne tunnus" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "Lähetuse olek." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "Kauba saatmise lähtekoht" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "Ettevõte kellega tarne on seotud" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "Kauba soetaja osapool" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "Kliendi aadress" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "Kauba tagastamise kuupäev" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Kanded mis liigutavad kauba lattu" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Kanded mis liigutavad kaubad laokohtadele" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "Tarne peamine tunnus" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Kauba eeldatav tagastuse kuupäev" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "Kliendipoole tarne tunnus" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "Lähetuse olek." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "Kuhu kaup tagastatakse" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventuurid" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventuurid" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Asukohad" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Asukoha viiteaeg" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "asukoha koguse nimekiri" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Asukoha koguse puu" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Asukohad" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Perioodid" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Kuluväärtus" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Laoliikumine" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Toote kogused ladude lõikes" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Toote kogused ladude lõikes" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Kaubad asukohtade järgi" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Tarned" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Sisemised lähetused" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Lähetused" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Lähetused" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Tarned" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Seadistus" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Ümberladustamise nimekiri" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Sisemine lähetus" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Saateleht" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Noppeleht" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Ümberladustamise nimekiri" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Loendus" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Toote kogused ladude lõikes" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Laoliikumine" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Kuluväärtus" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Omahinna ümberarvutus" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Omista hankija tagastus" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Sisemine lähetus" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Lisa kliendi lähetus" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Kõik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Mustand" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Kõik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "Hankijatelt" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "Hankijatelt ootel" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "Klientidele" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Kõik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Mustand" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Vastu võetud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Kõik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Määratud" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Määratud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Mustand" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Ootel" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Kõik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Määratud" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Määratud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Mustand" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Päringud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Lähetatud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Ootel" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Kõik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Määratud" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Määratud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Mustand" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Pakitud" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Pakitud" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Ootel" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Kõik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Mustand" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Vastu võetud" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "Kauba rida peab olema positiivne" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "Laokande lähtekoht ja sihtkoht peavad olema erinevad" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "Sisemise kande kogus peab olema positiivne" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "Kande kogus peab olema positiivne" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "Kannetega seotud perioode ei saa sulgeda" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "Tänase või tuleviku kuupäevaga perioode ei saa sulgeda" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "Laoliikumistel oleva toote tüüpi ei saa muuta." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "Laoliikumistel oleva toote ühikut ei saa muuta." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "Laoliikumistel oleva toote tüüpi ei saa muuta." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Ettevõte" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Valuuta" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Number" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "Oled kindel et tahad varu tühistada?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "Oled kindel et tahad varu lõpetada?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "Oled kindel et tahad kande tühistada?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "Oled kindel et tahad kande lõpetada?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Oled kindel et tahad tarne vastu võtta?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Oled kindel et tahad tarne lõpetada?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Oled kindel et tahad tarne lõpetada?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Oled kindel et tahad tarne vastu võtta?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Lisa puuduolevatele toodetele varu rida" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "Käivita viisard et loendada tooted" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Lõoetatud" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Kinnita" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Loenda" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Teha" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Lähtesta mustandiks" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Suletud" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Mustand" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Tehtud" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Lähtesta mustandiks" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Võta vastu" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Määratud" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Tehtud" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Mustand" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Oota" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Määratud" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Tehtud" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Mustand" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Tarni" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Oota" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Määratud" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Tehtud" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Mustand" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Pakitud" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Noppimine" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Tehtud" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Mustand" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Võta vastu" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Ootsa" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Kasutaja ettevõttes" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Kaup" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Tarne" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Hankija tagastus" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Sisemine lähetus" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Lähetus" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Kliendi tagastus" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Varud" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Tarne" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Hankija tagastus" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Sisemine lähetus" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Lähetus" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Kliendi tagastus" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Seadistus" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Kaubad" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Asukohad" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Asukohad" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Asukoha viiteaeg" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Asukohad" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Liikumised" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Perioodid" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Aruandlus" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Päritolu" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Tarned" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Sisemised lähetused" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Lähetused" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Varud & ladu" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Seadistus" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Osapoole asukoht" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Kaup asukoha järgi" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Kuluväärtus" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Omahinna ümberarvutus" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Varud" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Varude administreerimine" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Varude seadistus" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Lao inventuur" + +#, fuzzy +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Lao inventuuri rida" + +#, fuzzy +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Lao inventuuri rida" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Lao inventuuri rida" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Lao asukoht" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Klient" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Saabumisala" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Leiunurk" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Väljastusala" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Hoiuala" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Hankija" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transiit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Ladu" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Asukoha viiteaeg" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Transiitasukoht" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Laoliikumine" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Lao periood" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Lao perioodi vahemälu" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Toote kogused laos" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Toote kogused laos" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Toote kogused ladude lõikes" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Kaubad asukohtade järgi" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Kaubad asukohtade järgi" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Omista sisemine lähetus" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Tarne" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Hankija tagastus" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Sisemine lähetus" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Lähetus" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Kliendi tagastus" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Asukohast" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Planeeritud kuupäev:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Toode" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Viide:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Ümberladustamise nimekiri" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Lähetuse number" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Hankija:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Asukohta" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Ladu:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Asukohast" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Asukohast" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Sisemine lähetus" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Planeeritud kuupäev:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Toode" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Viide:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Lähetuse number" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Asukohta" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Asukohta" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Kliendikood:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Kuupäev:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Saateleht" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Toode" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Viide:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Lähetuse number" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Klient:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Asukohast" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Noppeleht" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Planeeritud kuupäev:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Toode" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Viide:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Lähetuse number" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Asukohta" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Ladu:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Klient" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Asukohast" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Number" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Planeeritud kuupäev:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Toode" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Kogus" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Viide:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Ümberladustamise nimekiri" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Lähetus" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Asukohta" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Ladu:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Lisa kliendi lähetus" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Sisemine lähetus" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Omahinna ümberarvutus" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Lähetused" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Sisemised lähetused" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Hankija tagastused" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Tühi" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Hoia" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Tühistatud" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Tehtud" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Mustand" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Toode" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Klient" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Leiunurk" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Tootmine" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Hoiuala" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Hankija" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Vaade" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Ladu" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Omistatud" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Tühistatud" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Tehtud" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Mustand" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Suletud" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Mustand" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Toode" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Toode" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Tühistatud" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Tehtud" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Mustand" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Vastu võetud" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Omistatud" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Tühistatud" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Tehtud" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Mustand" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Ootel" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Omistatud" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Tühistatud" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Tehtud" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Mustand" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Päring" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Lähetatud" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Ootel" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Omistatud" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Tühistatud" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Tehtud" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Mustand" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Pakitud" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Pakitud" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Ootel" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Tühistatud" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Tehtud" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Mustand" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Vastu võetud" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Varud" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Kaup" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Lähetused" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Kuluväärtus" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +#, fuzzy +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Ei saa lisada neid tooteid:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Täiendav info" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Täiendav info" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Täiendav info" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Täiendav info" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Muu info" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Väljuvad liikumised" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Tühista" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Tühista" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Omahinna ümberarvutus" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Lisa" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Tühista" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Lõpp" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Vali" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Tühista" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Oota" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/fa.po b/modules/stock/locale/fa.po new file mode 100644 index 0000000000..e4ae4a9dec --- /dev/null +++ b/modules/stock/locale/fa.po @@ -0,0 +1,3409 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "تحویل" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "تحویل" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "محل مشتری" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "مکان ها" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "محل تامین کننده" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "محل مشتری" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "نهاد/سازمان" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "محل تامین کننده" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "در تاریخ" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "در تاریخ" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "شرکت" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "ارزش بها" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "تاریخ" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "محصول" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "ارزش بها" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "تاریخ" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "مقدار هزینه" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "مقدار پیش بینی شده" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "مقدار هزینه" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "مقدار پیش بینی شده" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "انبار" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "ادامه فهرست دارایی" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "ادامه ارچاع محموله مرجوعی به تأمیین کننده" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "ادامه محموله تأمیین کننده" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "ادامه حمل محموله داخلی" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "حمل ونقل محموله داخلی" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "ادامه محموله مرجوعی مشتری" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "ادامه حمل و نقل مشتری" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "حمل ونقل محموله داخلی" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "ادامه فهرست دارایی" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "ادامه محموله مرجوعی به تأمیین کننده" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "ادامه محموله تأمیین کننده" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "ادامه محموله داخلی" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "ادامه محموله مرجوعی مشتری" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "ادامه حمل و نقل مشتری" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "تاریخ" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "مقدار خالی" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "سطرها" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "مکان" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "شماره" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "سطر" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "محصول" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "تعداد کل" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "ارقام واحد" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "واحد اندازی گیری" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "جستجو" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "مدل جستجو" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "مقدار مورد انتظار" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "دفتر دارایی" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "تاریخ" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "مکان" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "وضعیت دفتر دارایی" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "محصول" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "ارقام واحد" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "واحد اندازی گیری" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "آدرس" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "زیر مجموعه" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "کد" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "مقدار هزینه" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "مجموعه یکنواخت" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "مقدار پیش بینی شده" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "ورودی" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "چپ" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "گمشده ها و یافته ها" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "نام" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "خروجی" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "منبع" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "چیدن" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "مقدار/تعداد" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "ارقام واحد" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "راست" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "مخزن" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "نوع موقعیت" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "انبار" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "مکان حمل و نقل" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "انبار" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "زمان پیشبرد" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "از انبار" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "به انبار" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "مکان حمل و نقل" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "انبار" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "تخصیص ضروری است" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "ارزش بها" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "قیمت واحد مورد نیاز" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "واحد پول" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "تاریخ موثر" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "از مکان" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "مقدار داخلی" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "مبداء" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "تاریخ برنامه ریزی شده" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "محصول" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "دسته بندی واحد اندازه گیری محصول" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "محموله" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "به مکان" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "ارقام واحد" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "قیمت واحد" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "قیمت واحد" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "قیمت واحد مورد نیاز" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "قیمت واحد" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "واحد اندازی گیری" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "مخازن نگهداری" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "تاریخ" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "مقدار داخلی" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "مکان" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "دوره زمانی" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "محصول" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "تاریخ" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "محصول" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "منطقه ذخیره سازی" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "انبار" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "تاریخ" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "جابجایی ها" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "مبداء" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "محصول" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "مقدار هزینه" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "مقدار پیش بینی شده" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "محصول" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "در تاریخ" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "در تاریخ" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "واحد پول" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "واحد پول" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "تاریخ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "زیر مجموعه" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "نام" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "منبع" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "شرکت" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "از مکان" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "دوره زمانی" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "تاریخ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "واحد پول" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "مقدار داخلی" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "محصول" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "ارقام واحد" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "واحد پول" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "تاریخ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "مقدار داخلی" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "محصول" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "ارقام واحد" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "آدرس تماس" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "انجام شد توسط" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "تاریخ موثر" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "جابجایی های ورودی" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "دفتر دارایی جابجایی ها" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "شماره" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "مبداء" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "تاریخ برنامه ریزی شده" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "دریافت شده توسط" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "مرجع" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "تامین کننده" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "محل تامین کننده" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "انبار" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "انبار ورودی" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "انبار ذخیره سازی" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "اختصاص داده شده توسط" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "آدرس تحویل" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "انجام شد توسط" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "تاریخ موثر" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "از مکان" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "شماره" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "مبداء" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "تخصیص داده شده" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "تاریخ برنامه ریزی شده" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "مرجع" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "تامین کننده" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "به مکان" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "دریافت شده توسط" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "انجام شد توسط" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "تاریخ موثر" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "شروع تاریخ موثر" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "از مکان" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "جابجایی های ورودی" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "شماره" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "جابجایی های خروجی" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "تخصیص داده شده" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "تاریخ برنامه ریزی شده" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "شروع تاریخ برنامه ریزی شده" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "مرجع" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "حمل شد توسط" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "به مکان" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "مکان حمل و نقل" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "انبار" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "مشتری" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "محل مشتری" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "آدرس تحویل" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "انجام شد توسط" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "تاریخ موثر" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "دفتر دارایی جابجایی" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "شماره" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "مبداء" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "جابجایی های خروجی" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "بسته بندی شده توسط" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "بسته بندی شده توسط" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "تاریخ برنامه ریزی شده" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "مرجع" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "انبار" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "انبار خروجی" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "انبار ذخیره سازی" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "شرکت" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "مشتری" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "محل مشتری" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "آدرس تحویل" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "انجام شد توسط" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "تاریخ موثر" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "جابجایی های ورودی" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "دفتر دارایی جابجایی" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "شماره" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "مبداء" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "تاریخ برنامه ریزی شده" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "دریافت شده توسط" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "مرجع" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "وضعیت" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "انبار" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "انبار ورودی" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "انبار ذخیره سازی" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "برای ارسال تحویل ها به آدرس ها، بررسی کنید." + +#, fuzzy +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "برای ارسال تحویل ها به آدرس ها، بررسی کنید." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "مکان مقصد پیش فرض هنگام ارسال کردن محصولات به نهاد/سازمان." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "مکان منبع پیش فرض هنگام دریافت کردن محصولات از نهاد/سازمان." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "مکان مقصد پیش فرض هنگام ارسال کردن محصولات به نهاد/سازمان." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "مکان منبع پیش فرض هنگام دریافت کردن محصولات از نهاد/سازمان." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"تاریخی که مقدار محصولات محاسبه می شود.\n" +"* مقدار خالی محاسبه شده تا آنجا که امکان دارد.\n" +"* یک تاریخ در گذشته مقادیر تاریخی را ارائه می دهد." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "ارزش محصولات در محل." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "مقدار محصولاتی که انتظار می رود در محل باشد." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "مقدار محصولات در محل." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "ارزش محصولات در محل." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "مقدار محصولاتی که انتظار می رود در محل باشد." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "مقدار محصولات در محل." + +#, fuzzy +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "جابجایی هایی که سهام را خارج می کند." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "برای تولید تعداد داده شده به موجودی استفاده می شود." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" +"برای تولید تعداد داده شده برای برگشت کالا به تامین کننده استفاده می شود." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "برای تولید تعداد داده شده برای محموله های تامین کننده استفاده میشود." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "برای تولید تعداد داده شده برای محموله های داخلی استفاده میشود." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"محل پیش فرض مورد استفاده برای محصولات است که در حال حمل بین انبارها است." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "برای تولید تعداد داده شده برای برگشت کالا به مشتری استفاده می شود." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "برای تولید تعداد داده شده برای کالا به مشتری استفاده می شود." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"محل پیش فرض مورد استفاده برای محصولات است که در حال حمل بین انبارها است." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "شرکت موجودی مرتبط با آن است." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "تاریخ شمارش اموال." + +#, fuzzy +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "چگونه سطرهای بدون مقدار مورد استفاده قرار می گیرند." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "محل انبار شده است." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "شناسه اصلی موجودی." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "وضعیت جاری موجودی." + +#, fuzzy +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "مقدار اضافه کردن به تعداد موجود." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "مقدار کل سطر که تا کنون محاسبه شده است." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "واحد که مقدار آن مشخص شده است." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "مورد شمارش شده است." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "مقدار سیستم محاسبه شده باید در محل باشد." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "موجودی سطر به آن تعلق دارد." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "مقدار واقعی موجود در محل." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "واحد که مقدار آن مشخص شده است." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "استفاده می شود برای اضافه کردن ساختار زیر محل." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "شناسه داخلی مورد استفاده برای مکان." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "مقدار اموال در محل." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "برای تکمیل یک سطح تک فرزندی که هیچ نوه نداشته باشد، بررسی کنید." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "مقدار اموال که انتظار می رود در محل باشد." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "جایی که اموال ورودی دریافت شده است." + +#, fuzzy +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "جابجایی که سهام را به انبار می آورد." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "جایی که اموال خروجی از آنجا ارسال میشود." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "استفاده می شود برای اضافه کردن ساختار در بالای محل." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"جایی که اموال از آن گرفته شده است.\n" +"برای استفاده مکان ذخیره سازی، خالی بگذارید." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "مقدار اموال در محل." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "سطح بالای محل ذخیره سازی اموال." + +#, fuzzy +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" +"محل پیش فرض مورد استفاده برای محصولات است که در حال حمل بین انبارها است." + +#, fuzzy +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "جابجایی هایی که سهام را خارج می کند." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "زمان لازم برای جابجایی اموال بین انبارها است." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "شرکت جابجایی اموال با آن مرتبط است." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "ارزی که در آن واحد قیمت مشخص شده است." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "زمانی که اموال واقعاً جابجا شده است." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "جایی که اموال از آنجا جابجا شده است." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "منبع جابجایی اموال." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "زمان مورد انتظار جابجایی اموال." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "محصولی که جابجایی با آن ارتباط دارد." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "مقدار اموال جابجا شده." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "برای گروه بندی چندین جابجایی اموال با هم استفاده میشود." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "وضعیت جاری جابجایی اموال." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "جایی که اموال به آن جابجا شده است." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "واحد که مقدار آن مشخص شده است." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "دوره اموال با شرکت مرتبط است." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "زمانی که دوره اموال به پایان می رسد." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "وضعیت جاری دوره اموال." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "انباری که مقدار آن محاسبه خواهد شد." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"تاریخی که مقدار اموال محاسبه می شود.\n" +"* مقدار خالی محاسبه شده تا آنجا که امکان دارد.\n" +"* یک تاریخ در گذشته مقادیر تاریخی را ارائه می دهد." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +#, fuzzy +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "جابجایی هایی که اختصاصی نبودند." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "شرکت حمل و نقل با آن مرتبط است." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "آدرس که در آن فروشنده می تواند با آن تماس بگیرد." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "هنگامی که اموال در واقع دریافت شد." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "جابجایی که سهام را به انبار می آورد." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "جابجایی که اموال را به محل ذخیره سازی منتقل می کند." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "شناسه اصلی برای حمل و نقل." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "زمانی که انتظار می رود اموال دریافت شود." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "شناسه تامین کننده برای حمل و نقل." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "وضعیت فعلی حمل و نقل." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "نهاد/سازمان که اموال را تامین کرد." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "جایی که اموال دریافت می شود." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "شرکت حمل و نقل با آن مرتبط است." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "جایی که اموال ارسال میشود." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "زمانی که اموال واقعاً برگشت شده است." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "جایی که اموال از آن جابجا شده است." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "جابجایی که اموال به تأمین کننده عودت می شود." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "شناسه اصلی برای حمل و نقل." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "زمانی که انتظار میرود اموال بازگشت شود." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "شناسه تأمین کننده برای حمل و نقل." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "وضعیت جاری حمل و نقل." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "نهاد/سازمانی که اموال را تآمین کرده است." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "جایی که اموال به ان جابجا شده است." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "شرکت حمل و نقل مرتبط با آن." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "هنگامی که حمل و نقل در واقع انجام شد." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "هنگامی که اموال در واقع فرستاده شد." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "جایی که اموال از آن جابجا شد." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "جابجایی هایی که اموال را دریافت می کند." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "جابجایی هایی که حمل ونقل را انجام می دهند." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "شناسه اصلی برای حمل و نقل." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "جابجایی هایی که سهام را خارج می کند." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "زمانی که انتظار می رود حمل و نقل تکمیل شود." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "زمانی که انتظار می رود اموال فرستاده شود." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "شناسه های خارجی برای حمل و نقل." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "وضعیت فعلی حمل و نقل." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "جایی که اموال به آن جابجا شده است." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "جایی که اموال موجود است، در حالی که در حال حمل و نقل بین انبارها است." + +#, fuzzy +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "جایی که اموال از آن فرستاده شده." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "شرکت حمل و نقل با آن مرتبط است." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "نهاد/سازمانی که اموال را خریداری کرده است." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "جایی که اموال به آن ارسال می شود." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "زمانی که اموال در واقع فرستاده شد." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "جابجایی که اموال را از منطقه ذخیره سازی انتخاب می کند." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "شناسه اصلی برای حمل و نقل." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "جابجایی که اموال را به مشتری ارسال می کند." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "زمانی که انتظار می رود اموال فرستاده شود." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "شناسه مشتری برای حمل و نقل." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "وضعیت فعلی حمل و نقل." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "جایی که اموال از آن فرستاده شده." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "شرکت حمل و نقل با آن مرتبط است." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "نهاد/سازمانی که اموال را خریداری کرده است." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "آدرس مشتری که می توان با آن تماس گرفت." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "هنگامی که اموال بازگشت." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "جابجایی که اموال را به انبار می آورد." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "جابجایی هایی که اموال را به محل ذخیره سازی منتقل می کند." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "شناسه اصلی برای حمل و نقل." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "زمانی که انتظار می رود اموال بازگردانده شود." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "شناسه مشتری برای حمل و نقل." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "وضعیت فعلی حمل و نقل." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "جایی که اموال بازگشته است." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "فهرست موجودی" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "فهرست موجودی" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "مکان ها" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "مکان آماده سازی" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "مکان ها" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "دوره ها" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "ارزش بها" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "جابجایی موجودی" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "مقادیر محصول توسط انبار" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "مقادیر محصول توسط انبار" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "محصولات توسط مکان ها" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "محموله تامین کننده" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "محموله های داخلی" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "محموله های مشتری" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "محموله های مشتری" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "محموله تامین کننده" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "پیکربندی" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "فهرست درحال تأمیین" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "حمل و نقل داخلی" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "متن تحویل" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "لیست انتخاب" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "فهرست درحال تأمیین" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "شمردن" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "مقادیر محصول توسط انبار" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "جابجایی موجودی" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "ارزش بها" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "محاسبه مجدد ارزش بها" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "تخصیص محموله برگشتی به تامین کننده" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "حمل و نقل داخلی" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "تخصیص حمل و نقل مشتری" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "همه" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "همه" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "از تامین کنندگان" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "از تامین کنندگان منتظر" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "به مشتریان" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "همه" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "دریافت شده" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "همه" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "تخصیص داده شده" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "در انتظار" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "همه" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "تخصیص داده شده" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "درخواست ها" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "ارسال شد" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "در انتظار" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "همه" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "تخصیص داده شده" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "بسته بندي شده" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "بسته بندي شده" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "در انتظار" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "همه" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "دریافت شده" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" +"شما نمی توانید نهاد/سازمان :\"%(party)s\"را حذف کنید در حالی که آنها محموله " +"در حال انتظار با شرکت :\"%(company)s\" دارد." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "هیچ سطرایجاد شده ای برای \"%(search)s\"پیدا نشد ." + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "برای حذف موجودی :\"%(inventory)s\" شما باید آن را لغو کنید." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "برای حذف موجودی :\"%(inventory)s\" شما باید آن را لغو کنید." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" +"برای حذف موجودی سطر:\"%(line)s\" شما باید موجودی :\"%(inventory)s\"را لغو " +"کنید." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "مقدار سطر موجودی باید مثبت باشد." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "سطرموجودی :\"%(line)s\" در موجودی :\"%(inventory)s\" منحصر بفرد نیست." + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" +"برای تایید موجودی :\"%(inventory)s\" شما باید یک گزینه برای مقدار خالی را " +"انتخاب کنید." + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" +"برای تایید موجودی :\"%(inventory)s\" شما باید یک گزینه برای مقدار خالی را " +"انتخاب کنید." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" +"برای تعیین مکان :\"%(location)s\" به عنوان انبار/ ورودی / خروجی از انبار " +":\"%(warehouse)s\"، آن باید در انبار باشد." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "برای غیرفعال کردن مکان :\"%(location)s\"، باید آن را خالی کنید." + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" +"شما نمیتوانید نوع مکان :\"%(location)s\"را به \"%(type)s\" تغییر دهید\n" +"چراکه نوع جابجایی را پشتیبانی نمی کند و مکان جابجایی هایی موجود دارد." + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" +"برای حذف جابجایی اموال :\"%(move)s\"شما باید آن را لغو یا به حالت پیش نویس " +"بازنشانی کنید." + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "منبع و مقصد جابجایی اموال باید متفاوت باشد." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "مقدار جابجایی داخلی باید مثبت باشد." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" +"برای تغییر جابجایی اموال :\"%(move)s\" شما باید آنرا به حالت پیش نویس " +"بازنشانی کنید." + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" +"شما نمی توانید جابجایی اموال :\"%(move)s\"را تغییر دهید، زیرا آن لغو شده " +"است." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" +"شما نمی توانید جابجایی اموال :\"%(move)s\"را تغییر دهید، زیرا آن انجام شده " +"است." + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" +"برای تغییرجابجایی اموال :\"%(move)s\"شما باید دوره :\"%(period)s\" را مجدداً" +" باز کنید." + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "جابجایی اموال :\"%(move)s\" هیچ منشأی ندارد." + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "مقدار جابجایی باید مثبت باشد." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" +"شما نمی توانید دوره هایی را با جابجایی های مشخص شده در آن، تعطیل کنید." + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "شما نمیتوانید دوره هایی با یک تاریخ در آینده یا امروز تعطیل کنید." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"برای یك محصول که به جابجایی موجودی مرتبط شده است، شما نمی توانید نوع آن را " +"تغییر دهید." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"برای یك محصول که به جابجایی موجودی مرتبط شده است، شما نمی توانید واحد " +"مقدارپیش فرض را تغییر دهید." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"برای یك محصول که به جابجایی موجودی مرتبط شده است، شما نمی توانید نوع آن را " +"تغییر دهید." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "برای حذف حمل ونقل :\"%(shipment)s\" شما باید آن را لغو کنید." + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "شرکت" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "واحد پول" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "شماره" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "اجرای ویزارد برای شمارش محصولات" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "کامل" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "شمردن" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "بسته بندي شده" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "چیدن" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "فهرست موجودی" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "محموله تامین کننده" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "محموله برگشتی به تامین کننده" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "محموله داخلی" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "محموله مشتری" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "محموله مرجوعی مشتری" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "فهرست موجودی" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "محموله تامین کننده" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "محموله برگشتی به تامین کننده" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "محموله داخلی" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "محموله مشتری" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "محموله مرجوعی مشتری" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "پیکربندی" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "فهرست موجودی" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "مکان ها" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "مکان آماده سازی" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "مکان ها" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "جابجایی ها" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "دوره ها" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "گزارش گیری" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "مبداء" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "محموله های تأمین کننده" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "محموله های داخلی" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "محموله های مشتری" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "دفتر دارایی انبار & موجودی" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "پیکربندی" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "مکان نهاد/سازمان" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "محصول توسط محل" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "ارزش بها" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "محاسبه مجدد ارزش بها" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "موجودی" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "اداره کردن موجودی" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "تخصیص زوری موجودی" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "پیکربندی موجودی" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "پیکره بندی مکان موجودی" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "ادامه پیکربندی موجودی" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "موجودی انبار" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "تعداد موجودی انبار" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "تعداد موجودی انبار" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "سطر موجودی انبار" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "مکان انبار" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "مشتری" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "منطقه ورودی" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "گمشده ها و یافته ها" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "منطقه خروجی" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "منطقه ذخیره سازی" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "تأمین کننده" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "حمل و نقل" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "انبار" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "مکان آماده سازی" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "مکان حمل و نقل" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "جابجایی موجودی" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "دوره موجودی" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "دوره موجودی انبار" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "مقادیر محصول توسط انبار" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "مقادیر محصول توسط انبار" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "مقادیر محصول توسط انبار" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "محصولات توسط مکان ها" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "محصولات توسط مکان ها" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "تخصیص حمل محموله داخلی" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "محموله تامین کننده" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "محموله برگشتی به تامین کننده" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "محموله داخلی" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "محموله مشتری" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "محموله مرجوعی مشتری" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "از مکان" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "تاریخ برنامه ریزی شده :" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "محصول" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "ارجاع :" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "فهرست درحال تأمیین" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "شماره محموله" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "تامین کننده :" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "به مکان" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "انبار :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "از مکان" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "از مکان :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "محموله داخلی" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "تاریخ برنامه ریزی شده :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "محصول" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "ارجاع :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "شماره محموله" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "به مکان" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "به مکان :" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "کد مشتری :" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "تاریخ:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "متن تحویل" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "محصول" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "ارجاع :" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "شماره محموله :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "مشتری :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "از مکان" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "لیست انتخاب" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "تاریخ برنامه ریزی شده :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "محصول" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "ارجاع :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "شماره محموله" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "به مکان" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "انبار :" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "مشتری" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "از مکان" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "شماره" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "تاریخ برنامه ریزی شده :" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "محصول" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "مقدار/تعداد" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "ارجاع :" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "فهرست درحال تأمیین" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "محموله" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "به مکان" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "انبار :" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "تخصیص حمل و نقل مشتری" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "حمل و نقل داخلی" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "محاسبه مجدد ارزش بها" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "محموله های مشتری" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "محموله های داخلی" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "محموله برگشتی به تامین کننده" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "خالی" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "نگه داشتن" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "لغو شده" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "انجام شد" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "محصول" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "مشتری" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "دراپ" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "گمشده ها و یافته ها" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "تهیه کننده" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "مخزن" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "تامین کننده" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "مشاهده" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "انبار" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "لغو شده" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "انجام شد" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "استقرار" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "بسته شده" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "محصول" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "محصول" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "لغو شده" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "انجام شد" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "دریافت شده" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "لغو شده" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "انجام شد" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "در انتظار" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "لغو شده" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "انجام شد" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "درخواست" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "حمل شد" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "در انتظار" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "تخصیص داده شده" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "لغو شده" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "انجام شد" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "بسته بندی شده" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "بسته بندی شده" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "در انتظار" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "لغو شده" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "انجام شد" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "پیش‌نویس" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "دریافت شده" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "موجودی" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "فهرست موجودی" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "محموله ها" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "مقدار هزینه" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +#, fuzzy +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "این محصولات قابل اختصاص دادن نیستند :" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "سایر اطلاعات" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "سایر اطلاعات" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "سایر اطلاعات" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "سایر اطلاعات" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "سایر اطلاعات" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "جابجایی های خروجی" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "قبول" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "محاسبه مجدد ارزش بها" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "افزودن" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "لغو" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "پایان" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "انتخاب" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/fi.po b/modules/stock/locale/fi.po new file mode 100644 index 0000000000..79a26a9d93 --- /dev/null +++ b/modules/stock/locale/fi.po @@ -0,0 +1,3416 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Delivery Note" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "" + +#, fuzzy +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Locations" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Locations" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Locations" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Warehouse" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Recompute Cost Price" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periods" + +#, fuzzy +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Moves" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periods" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Packed" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Moves" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Warehouse" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +#, fuzzy +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Stock Configuration" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Warehouse" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Warehouse" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +#, fuzzy +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Supplier" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Customer" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Draft" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Close" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Products" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Stock" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/fr.po b/modules/stock/locale/fr.po new file mode 100644 index 0000000000..88728f7c4b --- /dev/null +++ b/modules/stock/locale/fr.po @@ -0,0 +1,3301 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Livraison" + +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Livraison" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Emplacement client" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Emplacements" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Emplacement fournisseur" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Emplacement client" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Tiers" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Emplacement fournisseur" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "À la date" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "À la date" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Nouveau prix de revient" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Nouveau prix de revient" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Valeur du coût" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantités prévisionnelles" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "Depuis" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Valeur du coût" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantité prévisionnelle" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Entrepôt actuel" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Séquence d'inventaire" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Séquence de retour d'expédition fournisseur" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Séquence d'expédition fournisseur" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Séquence d'expédition interne" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transit d'expédition interne" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Séquence de retour d'expédition cliente" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Séquence d'expédition cliente" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transit d'expédition interne" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Séquence d'inventaire" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Séquence de retour d'expédition fournisseur" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Séquence d'expédition fournisseur" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Séquence d'expédition interne" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Séquence de retour d'expédition cliente" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Séquence d'expédition cliente" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Quantité vide" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Lignes" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Emplacement" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Numéro" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Ligne" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Quantité Totale" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Décimales de l'unité" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "UDM" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Recherche" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Modèle recherché" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Quantité attendue" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventaire" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Emplacement" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "État de l'inventaire" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Décimales de l'unité" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "UDM" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Adresse" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Enfants" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Code" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Valeur du coût" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Enfants plats" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantité prévisionnelle" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Réception" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Gauche" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Pertes et surplus" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Expédition" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Parent" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Prélèvement" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Quantité UDM" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Décimales de quantité d'UDM" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Droit" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Magasin" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Type d'emplacement" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Emplacements de déchets" + +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Entrepôts de déchets" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Délai de livraison" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Entrepôt d'origine" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Entrepôt de destination" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Emplacement de déchets" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Assignation requise" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Prix de revient" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Prix de revient requis" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Devise" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Date effective" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Emplacement d'origine" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantité interne" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Origine" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Date planifiée" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Catégorie d'unité de mesure" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Expédition" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Emplacement de destination" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Décimales de l'unité" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Prix unitaire" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Prix unitaire" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Prix unitaire requis" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Prix unitaire actualisé" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "UDM" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Caches" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantité interne" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Emplacement" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Période" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Zone de magasin uniquement" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Société" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "Delta de quantité cumulée" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "Quantité cumulée à la fin" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "Quantité cumulée au début" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "Document" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Mouvement" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Origine" + +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "Consommable" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Valeur du coût" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "UDM par défaut" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "Décimales d'UDM par défaut" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantité prévisionnelle" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "À la date" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "À la date" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "Catégorie" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Devise" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "Séries temporelles" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "Catégorie" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Devise" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Enfants" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nom" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Parent" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Date de début" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "Inclure les pertes" + +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Période" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Date de fin" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Devise" + +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantité interne" + +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "Séries temporelles" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "Unité" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Décimales de l'unité" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Devise" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Date" + +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantité interne" + +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "Unité" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Décimales de l'unité" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Adresse de contact" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Effectué par" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Date effective" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Mouvements entrants" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Mouvement internes" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Numéro" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Origines" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Date planifiée" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Reçu par" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Référence" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Fournisseur" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Emplacement fournisseur" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Entrée entrepôt" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magasin de l'entrepôt" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Assigné par" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adresse de livraison" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Effectué par" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Date effective" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Emplacement d'origine" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Numéro" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Origines" + +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Partiellement assignées" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Date planifiée" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Référence" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Fournisseur" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Emplacement de destination" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Reçu par" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Effectué par" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Date effective" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Date de début effective" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Emplacement d'origine" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Mouvements entrants" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Numéro" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Mouvements sortants" + +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Partiellement assignées" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Date planifiée" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Date de début planifiée" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Référence" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Livré par" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Emplacement de destination" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Emplacement de transit" + +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Client" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Emplacement client" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Adresse de livraison" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Effectué par" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Date effective" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Mouvements internes" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Numéro" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Origines" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Mouvements sortants" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Emballé par" + +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Partiellement assignées" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Prélevée par" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Date planifiée" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Référence" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Sortie entrepôt" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magasin de l'entrepôt" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Société" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Client" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Emplacement client" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adresse de livraison" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Effectué par" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Date effective" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Mouvements entrants" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Mouvements internes" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Numéro" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Origines" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Date planifiée" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Reçu par" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Référence" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "État" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Entrée entrepôt" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magasin de l'entrepôt" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Cochez pour envoyer les livraisons à cette adresse." + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "Cocher pour utiliser pour la livraison." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"L'emplacement de destination par défaut pour les produits envoyés au tiers." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "L'emplacement source par défaut pour les produits reçus du tiers." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"L'emplacement de destination par défaut pour les produits envoyés au tiers." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "L'emplacement source par défaut pour les produits reçus du tiers." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"La date pour laquelle la quantité de stock est calculée.\n" +"* Une valeur vide calcule aussi loin que possible.\n" +"* Une date dans le passé fournit les valeurs historiques." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Expression Python qui sera évaluée avec :\n" +"- cost_price : le prix de revient actuel du produit" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Expression Python qui sera évaluée avec :\n" +"- cost_price : le prix de revient actuel du produit" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "La valeur du stock à l'emplacement." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La quantité de stock attendue à l'emplacement." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "La valeur du stock à l'emplacement." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "La valeur du stock à l'emplacement." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La quantité de stock attendue à l'emplacement." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "La quantité de stock à l'emplacement." + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "L'entrepôt dans lequel l'utilisateur travaille." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "Utilisé pour générer le numéro des inventaires." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "Utilisé pour générer le numéro des retours d'expédition fournisseur." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "Utilisé pour générer le numéro des expéditions fournisseurs." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "Utilisé pour générer le numéro des expéditions internes." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"L'emplacement par défaut utilisé pour les produits qui sont en transit entre" +" des entrepôts." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" +"Utilisé pour générer le numéro donné aux retours d'expéditions clientes." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "Utilisé pour générer le numéro donné aux expéditions clientes." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"L'emplacement par défaut utilisé par le stock qui est en transit entre des " +"entrepôts." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "La société à laquelle l'inventaire est associé." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "La date du comptage des stocks." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Comment les lignes sans quantité sont traitées." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "L'emplacement inventorié." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "L'identifiant principal de l'inventaire." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "L'état actuel de l'inventaire." + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "La quantité à ajouter au comptage existant." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "La quantité totale des lignes comptées jusqu'ici." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "L'unité dans laquelle les quantités sont spécifiées." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "L'article qui est compté." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "La quantité que le système a calculé pour l'emplacement." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "L'inventaire auquel appartient la ligne." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "La quantité trouvée à cet emplacement." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "L'unité dans laquelle la quantité est spécifiée." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Utilisé pour ajouter une structure sous l'emplacement." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "L'identifiant interne utilisé pour cet emplacement." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "La valeur du stock à l'emplacement." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "Cochez pour appliquer un seul niveau d'enfants sans petits-enfants." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "La quantité de stock attendue dans l'emplacement." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "Où les produits entrants sont reçus." + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" +"Utilisé, par les inventaires, lors de la correction des niveaux de stock " +"dans l'entrepôt." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "D'où les produits sortants sont envoyés." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Utilisé pour ajouter une structure au-dessus de l'emplacement." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"D'où les produits sont pris.\n" +"Laisser vide pour utiliser l'emplacement de stockage." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "La quantité de stock dans l'emplacement." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "L'emplacement de premier niveau où les produits sont stockés." + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "Les emplacements utilisés pour les déchets de l'entrepôt." + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "Les entrepôts qui utilisent l'emplacement pour les déchets." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "Le temps qu'il faut pour déplacer des produits entre les entrepôts." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "La société avec laquelle le mouvement de stock est associé." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "La devise dans laquelle le prix unitaire est spécifié." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "Quand les produits ont été réellement déplacés." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "D'où les produits viennent." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "La source du mouvement de stock." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "Quand les produits devraient être déplacés." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "Le produit avec lequel le mouvement est associé." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "La quantité de stock déplacée." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "Utilisé pour grouper plusieurs mouvements de stock ensemble." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "L'état actuel du mouvement de stock." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "Vers où les produits sont déplacés." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "Prix unitaire dans la devise de la société." + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "L'unité dans laquelle la quantité est spécifiée." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "La société avec laquelle la période de stock est associée." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "Quand la période de stock termine." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "L'état actuel de la période de stock." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "Cochez pour n'utiliser que la quantité de la zone de magasin." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "L'entrepôt pour lequel les quantités seront calculées." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"La date pour laquelle la quantité de stock est calculée.\n" +"* Une valeur vide calcule aussi loin que possible.\n" +"* Une date dans le passé fournira des valeurs historiques." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" +"Si coché, le coût des produits déplacés vers un emplacement pertes et " +"surplus est inclus." + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "Les mouvements qui n'ont pas été assignés." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "La société avec laquelle l'expédition est associée." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "L'adresse à laquelle le fournisseur peut être contacté." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Quand les produits ont été réellement reçus." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Les mouvements qui font entrer les produits dans l'entrepôt." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" +"Les mouvements qui déplacent les produits dans l'emplacement de stockage." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "L'identifiant principal de l'expédition." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Quand les produits devraient être reçus." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "L'identifiant du fournisseur pour l'expédition." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "L'état actuel de l'expédition." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "Le tiers qui fournit les produits." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "Où les produits sont reçus." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "La société avec laquelle l'expédition est associée." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Vers où les produits sont envoyés." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Quand les produits ont été réellement retournés." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "D'où les produits sont déplacés." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "Les mouvements qui retournent les produits au fournisseur." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "L'identifiant principal de l'expédition." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Quand les produits doivent être retournés." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "L'identifiant du fournisseur de l'expédition." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "L'état actuel de l'expédition." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "Le tiers qui fournit les produits." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "D'où le produit est déplacé." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "La société avec laquelle l'expédition est associée." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Quand l'expédition a été réellement terminé." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Quand les produits ont été réellement envoyés." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "D'où les produits sont déplacés." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "Les mouvements qui reçoivent les produits." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "Les mouvements qui effectuent l'expédition." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "L'identifiant principal de l'expédition." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "Les mouvements qui envoient les produits." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Quand l'expédition devrait être terminées." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Quand les produits devraient être envoyés." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "L'identifiant externe de l'expédition." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "L'état actuel de l'expédition." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "Vers où les produits sont déplacés." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" +"Où se trouvent les produits quand ils sont en transit entre les entrepôts." + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "D'où le stock est envoyé." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "La société avec laquelle l'expédition est associée." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "Le tiers qui achète les produits." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Vers où les produits sont envoyés." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Quand les produits ont été effectivement envoyés." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "Les mouvements qui prennent les produits de la zone de stockage." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "L'identifiant principal de l'expédition." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "Les mouvements qui envoient les produits au client." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Quand les produits doivent être envoyés." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "L'identifiant du client pour l'expédition." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "L'état actuel de l'expédition." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "D'où les produits sont envoyés." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "La société avec laquelle l'expédition est associée." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "Le tiers qui a acheté les produits." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "L'adresse à laquelle le client peut être contacté." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "Quand les produits ont été retournés." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Les mouvements qui apportent les produits dans l'entrepôt." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Les mouvements qui mettent les produits dans la zone de stockage." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "L'identifiant principal de l'expédition." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Quand les produits doivent être retournés." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "L'identifiant du client pour l'expédition." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "L'état actuel de l'expédition." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "Où les produits sont retournés." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventaires" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Lignes d'inventaire" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Emplacements" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Délais de livraison entre emplacements" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Liste des quantités par emplacements" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Arbre des quantité par emplacements" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Emplacements" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Périodes" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Révision du prix de revient" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Mouvements de stock" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Quantités de produit par entrepôt" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Mouvements de stock par entrepôt" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Produits par emplacements" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "Marges par catégorie" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "Marges par catégorie" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "Marges par catégorie" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "Marges par produit" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "Marges par produit" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Expéditions fournisseur" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "Retours" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Expéditions internes" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Expéditions client" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Expéditions client" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Expéditions fournisseur" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "Retours" + +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Liste de restockage" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Expédition interne" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Bon de livraison" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Liste de prélèvement" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Liste de restockage" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Compter" + +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Quantités de produit par entrepôt" + +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Mouvements de stock" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Modifier le prix de revient" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recalculer le prix de revient" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Assigner le retour d'expédition fournisseur" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Assigner l'expédition interne" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Assigner l'expédition cliente" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Tous" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Brouillons" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Tous" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "Depuis les fournisseurs" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "En attente depuis les fournisseurs" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "Vers les clients" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Toutes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Brouillons" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Reçues" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Toutes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assignées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Partiellement assignées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Brouillons" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "En attente" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Toutes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assignées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Partiellement assignées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Brouillons" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Demandes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Livrées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "En attente" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Toutes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assignées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Partiellement assignées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Brouillons" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Emballées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Prélevées" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "En attente" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Tous" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Brouillons" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Reçus" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" +"Vous ne pouvez pas effacer le tiers « %(party)s » tant qu'il a des " +"expéditions en attente pour la société « %(company)s »." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" +"Prix de revient non-valide « %(cost_price)s » pour le produit " +"« %(product)s » avec l'exception « %(exception)s »." + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "Aucune ligne existante n'a été trouvée pour « %(search)s »." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "Les inventaires « %(inventories)s » ont des dates dans le futur." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "Pour supprimer l'inventaire « %(inventory)s », vous devez l'annuler." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" +"Pour supprimer la ligne d'inventaire « %(line)s », vous devez annuler " +"l'inventaire « %(inventory)s »." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "La quantité de la ligne d'inventaire doit être positive." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" +"Le ligne d'inventaire « %(line)s » n'est pas unique sur l'inventaire " +"« %(inventory)s »." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" +"Pour confirmer l'inventaire « %(inventory)s », vous devez définir une perte " +"et surplus sur un parent de l'emplacement « %(location)s »." + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" +"Pour confirmer l'inventaire « %(inventory)s », vous devez sélectionner une " +"option pour les quantités vides." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" +"Pour définir l'emplacement « %(location)s » comme stockage/entrée/sortie de " +"l'entrepôt « %(warehouse)s », il doit être dans l'entrepôt." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "Pour désactiver l'emplacement « %(location)s », vous devez la vider." + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" +"Vous ne pouvez pas changer le type de l'emplacement « %(location)s » en « %(type)s »\n" +"car le type ne supporte pas les mouvements et l'emplacement a déjà des mouvements." + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" +"Pour supprimer le mouvement de stock « %(move)s », vous devez l'annuler ou " +"le réinitialiser à l'état brouillon." + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "Les mouvements « %(moves)s » ont des dates effectives dans le futur." + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" +"La source et destination du mouvement de stock doivent être différentes." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "La quantité interne doit être positive." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" +"Pour modifier le mouvement de stock « %(move)s », vous devez le " +"réinitialiser à l'état brouillon." + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" +"Vous ne pouvez pas modifier le mouvement de stock « %(move)s » car il est " +"annulé." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" +"Vous ne pouvez pas modifier le mouvement de stock « %(move)s » car il est " +"effectué." + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" +"Pour modifier le mouvement de stock « %(move)s », vous devez ré-ouvrir la " +"période « %(period)s »." + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "Les mouvements de stock « %(moves)s » n'ont pas d'origine." + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "La quantité sur le mouvement doit être positive." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" +"Vous ne pouvez pas clôturer des périodes avec des mouvements assignés." + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" +"Vous ne pouvez pas clôturer des périodes avec une date dans le future ou " +"d'aujourd'hui." + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"Vous ne pouvez pas modifier le prix de revient d'un produit associé à des mouvements de stock.\n" +"Vous devez utiliser l'assistant « Modifier le prix de revient »." + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"Vous ne pouvez pas modifier l'UdM par défaut d'un produit associé à des " +"mouvements de stock." + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"Vous ne pouvez pas modifier le type d'un produit associé à des mouvements de" +" stock." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "Pour supprimer l'expédition « %(shipment)s », vous devez l'annuler." + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Société" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "Coût" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Décimales de la devise" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "Marge" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "Tendance de la marge" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Numéro" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "Profit" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "Revenu" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "Êtes-vous sûr de vouloir annuler l'inventaire ?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "Êtes-vous sûr de vouloir confirmer l'inventaire ?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "Êtes-vous sûr de vouloir annuler le mouvement ?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "Êtes-vous sûr de vouloir terminer le mouvement ?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Êtes-vous sûr de vouloir réceptionner l'expédition ?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Êtes-vous sûr de vouloir terminer l'expédition ?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Êtes-vous sûr de vouloir terminer l'expédition ?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Êtes-vous sûr de vouloir réceptionner l'expédition ?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Ajouter une ligne d'inventaire pour chaque produit manquant" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "Lance l’assistant pour compter les produits" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Compléter" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirmer" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Compter" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Effectuer" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Réinitialiser à l'état brouillon" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Fermer" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Effectuée" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Réinitialiser à l'état brouillon" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Recevoir" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assigner" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Effectuée" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Attendre" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assigner" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Effectuée" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Livrer" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Attendre" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assigner" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Effectuée" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Emballer" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Prélever" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Effectuée" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Recevoir" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Attendre" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Utilisateur dans les sociétés" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventaire" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Expédition fournisseur" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Retour d'expédition fournisseur" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Expédition interne" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Expédition cliente" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Retour d'expédition cliente" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventaire" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Expédition fournisseur" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Retour d'expédition fournisseur" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Expédition interne" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Expédition cliente" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Retour d'expédition cliente" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventaires" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Emplacements" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Emplacements" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Délais de livraison entre emplacements" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Emplacements" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Mouvements" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Périodes" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Rapports" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Marges" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Expéditions fournisseurs" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "Retours" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Expéditions internes" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Expéditions clientes" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "Retours" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Stocks & inventaires" + +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Emplacement tiers" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Produits par emplacement" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "Révision du prix de revient de produit" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Modifier le prix de revient" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recalculer le prix de revient" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Administration des stocks" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Forcer l'assignation de stock" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Configuration des stocks" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Configuration des emplacements de stockage" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Configuration de stock Séquence" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Inventaire du stock" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Comptage d'inventaire de stock" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Comptage d'inventaire de stock" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Ligne d'inventaire de stock" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Emplacement de Stockage" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Client" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Zone d'entrée" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Pertes et surplus" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Zone de sortie" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Zone de magasin" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Fournisseur" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Délai de livraison d'emplacement" + +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Emplacement des déchets d'entrepôt" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Mouvement de stock" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Période de stock" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Cache de période et stock" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Quantités de produit par entrepôt" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Quantités de produit par entrepôt" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Quantités de produit par mouvements d'entrepôt" + +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Produits par emplacements" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Produits par emplacements" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Rapport de marge de stock par catégorie" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Rapport de marge de stock par catégorie" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "Rapport de marge de stock par catégorie" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "Contexte de rapport de marge de stock" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Rapport de marge de stock par produit" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "Rapport de marge de stock par produit" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assigner l'expédition" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Expédition fournisseur" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Retour d'expédition fournisseur" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Expédition interne" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Expédition cliente" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Retour d'expédition cliente" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr " :" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Emplacement d'origine" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Date planifiée :" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Produit" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Référence :" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Liste de restockage" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Numéro d'expédition" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Fournisseur :" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Emplacement de destination" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Entrepôt :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr " :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Emplacement d'origine" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Emplacement d'origine :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Expédition interne" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Date planifiée :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Produit" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Référence :" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Numéro d'expédition" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Emplacement de destination" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Emplacement de destination :" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Code client :" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Date :" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Bon de livraison" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Produit" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Référence :" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Numéro d'expédition :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr " :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Client :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Emplacement d'origine" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Liste de prélèvement" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Date planifiée :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Produit" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Référence :" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Numéro d'expédition" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Emplacement de destination" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Entrepôt :" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr " :" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Client" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Emplacement d'origine" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Numéro" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Date planifiée :" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Produit" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Quantité" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Référence :" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Liste de restockage" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Expédition" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Emplacement de destination" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Entrepôt :" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Assigner les expéditions clientes" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Assigner les expéditions internes" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recalculer le prix de revient à partir des mouvements" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Re-planifier les expéditions clientes" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Re-planifier les expéditions internes" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Re-planifier les retours d'expédition fournisseur" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Vider" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Garder" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Annulé" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Effectué" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Produit" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Client" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Livraison directe" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Pertes et surplus" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Production" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Magasin" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Fournisseur" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Vue" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Entrepôt" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Assigné" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Annulé" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Effectué" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "Intermédiaire" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Clôturée" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produit" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "Jour" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "Mois" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "Année" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Annulée" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Effectuée" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Reçu" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Assigné" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Annulé" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Effectuée" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "En attente" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Assigné" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Annulée" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Effectuée" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Demande" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Livrée" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "En attente" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Assigné" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Annulée" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Effectuée" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Emballé" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Prélevée" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "En attente" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Annulé" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Effectuée" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Brouillon" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Reçu" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Stock" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "L'entrepôt dans lequel vous travaillez." + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventaire" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Expéditions" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Valeur du coût" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Impossible d'assigner ces produits :" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Autre information" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Autre information" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Autre information" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Autre information" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Autre information" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Mouvements sortants" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recalculer" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Ajouter" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Terminer" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Sélectionner" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Annuler" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Attendre" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "Forcer" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "Ignorer" diff --git a/modules/stock/locale/hu.po b/modules/stock/locale/hu.po new file mode 100644 index 0000000000..75013792a5 --- /dev/null +++ b/modules/stock/locale/hu.po @@ -0,0 +1,3320 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Szállítási" + +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Szállítási" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "vevőnél lévő tárhely" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Tárhelyek" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "szállítónál lévő tárhely" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "vevőnél lévő tárhely" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Ügyfél" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "szállítónál lévő tárhely" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Kimutatás dátuma" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Kimutatás dátuma" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Új költségár" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Változat" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Új költségár" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Áru bekerülési értéke" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Előrejelzett mennyiség" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "Ettől kezdve" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Áru bekerülési értéke" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Előrejelzett mennyiség" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Kiválasztott raktár" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Üres mennyiség" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Sorok" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Tárhely" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Szám" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Állapot" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Sor" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Termék" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Összmennyiség" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Tizedes vessző utáni számjegy" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "Mértékegység" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Keresés" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Elvárt mennyiség" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Leltár" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Tárhely" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Tizedes vessző utáni számjegy" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "Mértékegység" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Cím" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Altárhelyek" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Kód" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Áru bekerülési értéke" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Csak közvetlen altárhelyek" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Előrejelzett mennyiség" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Áruátvevő" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Bal oldalon" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Leltár" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Név" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Árukiadó" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Fölérendelt" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Kigyűjtés" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Mennyiség" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Tizedes vessző utáni számjegy" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Jobb oldalon" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Tárolótér" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Tárhely típusa" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Raktár" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Raktárhely" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Raktár" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Átfutási idő" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Raktár" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Raktár" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Raktár hely" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Költségár" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Költség" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Pénznem" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Befejezés dátuma" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Induló tárhely" + +#, fuzzy +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Belső mennyiség" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Eredet" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Tervezett dátum" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Mértékegység kategória" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Szállítmány" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Állapot" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Cél tárhely" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Tizedes vessző utáni számjegy" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Egységár" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Egységár" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "ME" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Állapot" + +#, fuzzy +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Belső mennyiség" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Tárhely" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periódus" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Csak tárolóhely" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "Össz zárómennyiség" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "Össz kezdőmennyiség" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Tétel" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Eredet" + +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "Fogyóeszköz" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Áru bekerülési értéke" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "Alapegység" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Előrejelzett mennyiség" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Kimutatás dátuma" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Kimutatás dátuma" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "Kategória" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Pénznem" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "Kategória" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Pénznem" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Dátum" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Alárendelt rekordok" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Név" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Fölérendelt" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Ettől" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "Hiány beleszámítása" + +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periódus" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Eddig" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Pénznem" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Belső mennyiség" + +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "Mértékegység" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Tizedes vessző utáni számjegy" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Pénznem" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Dátum" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Belső mennyiség" + +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "Mértékegység" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Tizedes vessző utáni számjegy" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Kapcsolattartó" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Befejezte" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Befejezés dátuma" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Bejövő mozgások" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Raktármozgások" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Szám" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Tervezett dátum" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Átvette" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Hivatkozás" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Állapot" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Szállító" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "szállítónál lévő tárhely" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Szállítási cím" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Befejezte" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Befejezés dátuma" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Induló tárhely" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Szám" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "rendelkezésre áll" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Tervezett dátum" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Hivatkozás" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Állapot" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Szállító" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Cél tárhely" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Átvette" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Befejezte" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Befejezés dátuma" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Elküldés dátuma (tényleges)" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Induló tárhely" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Bejövő mozgások" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Szám" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Kimenő mozgások" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "rendelkezésre áll" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Tervezett dátum" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Elküldés dátuma (tervezett)" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Hivatkozás" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Elküldte" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Állapot" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Cél tárhely" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Vevő" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "vevőnél lévő tárhely" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Szállítási cím" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Befejezte" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Befejezés dátuma" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Raktármozgások" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Szám" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Kimenő mozgások" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Csomagolta" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "rendelkezésre áll" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Kigyűjtötte" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Tervezett dátum" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Hivatkozás" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Állapot" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Cég" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Vevő" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "vevőnél lévő tárhely" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Szállítási cím" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Befejezte" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Befejezés dátuma" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Bejövő mozgások" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Raktármozgások" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Szám" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Tervezett dátum" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Átvette" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Hivatkozás" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Állapot" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Jelölje be, hogy erre a címre szállíthasson." + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Az ezen a napon érvényes készletszintet mutatja.\n" +"* Ha üresen hagyja, minden jövőbeni mozgást is figyelembe vesz.\n" +"* Múltbeli dátummal korábbi napok készletszintjeit tudja megnézni." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "A felhasználó ebben a raktárban dolgozik." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "A leltárhoz kapcsolódó cég." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "A leltár dátuma." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Mit tegyen a rendszer, ha nem adott meg aktuális mennyiséget." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "A leltárazott tárhely." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "A leltár azonosítója." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "A leltározás jelenlegi állása." + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "Ezt a mennyiséget hozzáadja az eddig megszámolt mennyiséghez." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "Ebből a tételből összesen ennyit számolt meg eddig." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "A megszámolandó tétel." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "A rendszer szerint ennek a mennyiségnek kellene a tárhelyen lennie." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "Ténylegesen ezt a mennyiséget találták a leltározás alkalmával." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Ebben a mértékegységben van a mennyiség megadva." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Itt egyből megadhatja az altárhelyeket." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "A tárhely azonosítója." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" +"Ha bejelöli, csak egy szintű (a közvetlen) altárhelyeket hozhat lére. Ez sok" +" tárhely esetén gyorsabbá teszi a rendszert." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Itt megadhatja vagy létrehozhatja a főtárhelyet." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"Ebből a tárhelyből indul az áru kigyűjtése.\n" +"Hagyja üresen a tárolótér használatához." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "Az áthelyezett termék tulajdonosa." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "Ebben a pénzemben van az egységár megadva." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "A készletmozgás tényleges dátuma." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "Az áru ebből a tárhelyből indul." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "A készletmozgás ebből a dokumentumból lett létrehozva." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "A készletmozgás tervezett dátuma." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "A készletmozgás ezt a terméket mozgatja." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "A megmozgatott áru mennyisége." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "Készletmozgások csoportosítására szolgál." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "A készletmozgás feldolgozásának jelenlegi állása." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "Az áru ebbe a tárhelybe megy." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Ebben a mértékegységben van a mennyiség megadva." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" +"Jelölje be, hogy a raktárnak csak a tárolóhelyén lévő mennyiségeket vegye " +"figyelembe." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "Ennek a raktárnak a mennyiségeit mutatja." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Az ezen a napon érvényes készletszintet mutatja.\n" +"* Ha üresen hagyja, minden jövőbeni mozgást is figyelembe vesz.\n" +"* Múltbeli dátummal korábbi napok készletszintjeit tudja megnézni." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" +"Ha be van jelölve, a hiányként leleltározott termékek költségét is " +"beleszámítja." + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "Ezeket a készletmozgásokat nem tudta rendelkezésre állítani." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "A szállítmány tulajdonosa." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Az árut ténylegesen ekkor vettük át." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "A készletmozgások a szállítótól a raktár áruátvételig." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "A készletmozgások, amiket az átvett áru betárolására használnak." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "Az az azonosító, amit mi adtunk a szállítmánynak." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Ekkorra van tervezve az áru átvétele." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "A szállítmánynak az az azonosítója, amit a beszállító adott." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "A szállítmány feldolgozásának jelenlegi állása." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "Az ügyfél, akitől az árut beszereztük." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "Ebbe a raktárba lesz bevételezve az áru." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "A szállítmány tulajdonosa." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Erre a címre megy az áru." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Az árut ekkor küldtük vissza." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "Az áru ebből a tárhelyből indul." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "Az az azonosító, amit mi adtunk a szállítmánynak." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Amikor a készlet várhatóan visszaérkezik." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "A szállítmánynak az az azonosítója, amit a beszállító adott." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "A szállítmány feldolgozásának jelenlegi állása." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "Az ügyfél, akitől az árut beszereztük." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "Az áru ebbe a tárhelybe megy." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "A szállítmány tulajdonosa." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Az áru ténylegesen ekkor érkezett meg és került a cél tárhelyre." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Az árut ténylegesen ekkor küldtük el." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "Az áru ebből a tárhelyből indul." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "Az áru átvételére használt készletmozgások." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "A szállítmányhoz tartozó készletmozgások." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "Az az azonosító, amit mi adtunk a szállítmánynak." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "Az áru elküldésére használt készletmozgások." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Ekkorra van tervezve az áru érkezése és betárolása a cél tárhelynél." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Ekkorra van tervezve az áru elküldése." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "A szállítmány külső azonosítója." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "A szállítmány feldolgozásának jelenlegi állása." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "Az áru ebbe a tárhelybe megy." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +#, fuzzy +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "Ebből a raktárból küldjük az árut." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "A szállítmány tulajdonosa." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "Az ügyfél, aki megveszi az árut." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Erre a címre megy az áru." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Az árut ténylegesen ekkor küldtük el." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "A készletmozgások, amik az áru kigyűjtésére szolgálnak." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "Az az azonosító, amit mi adtunk a szállítmánynak." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "A készletmozgások a raktárból a vevőhöz." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Ekkorra van tervezve az áru elküldése." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "A szállítmánynak az az azonosítója, amit a vevő adott." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "A szállítmány feldolgozásának jelenlegi állása." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "Ebből a raktárból küldjük az árut." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "A szállítmány tulajdonosa." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "Az ügyfél, aki megveszi az árut." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "A készletmozgások a szállítótól a raktár áruátvételig." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "A készletmozgások, amiket az átvett áru betárolására használnak." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "Az az azonosító, amit mi adtunk a szállítmánynak." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "A szállítmánynak az az azonosítója, amit a vevő adott." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "A szállítmány feldolgozásának jelenlegi állása." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Leltárak" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Tárhelyek" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Átfutási idők tárhelyek között" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Tárhelylista mennyiségekkel" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Tárhelyfa mennyiségekkel" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Tárhelyek" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Mozgások" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periódusok" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Költségár változás" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Készletmozgások" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Készletszint raktáranként" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Készletmozgások raktáranként" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Termékek tárhelyenként" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "Árrés termék kategóriánként" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "Árrés termék kategóriánként" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "Árrés termék kategóriánként" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "Árrés termékenként" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "Árrés termékenként" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Beszállítók szállítmányai" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "Visszaküldött áru" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Belső szállítmányok" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Vevői szállítmányok" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Vevői szállítmányok" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Beszállítók szállítmányai" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "Visszaküldött áru" + +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Beállítások" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Árubetöltési lista" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Belső szállítmány" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Szállítólevél" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Gyűjtőlap" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Árubetöltési lista" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Megszámolás" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Készletmozgások" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Költségár módosítása" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Költségár újraszámítása" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Szállítóhoz visszaküldött áru rendelkezésére állásának ellenőrzése" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Belső szállítmány rendelkezésére állásának ellenőrzése" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Vevői szállítmány rendelkezésére állásának ellenőrzése" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "összes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "vázlat" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "összes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "szállítóktól" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "szállítóktól várakozók" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "vevőkhöz" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "összes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "vázlat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "átvett" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "összes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "rendelkezésre áll" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "rendelkezésre áll" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "vázlat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "várakozik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "összes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "rendelkezésre áll" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "rendelkezésre áll" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "vázlat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Kérések" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "elküldve" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "várakozik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "összes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "rendelkezésre áll" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "rendelkezésre áll" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "vázlat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "csomagolva" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "kigyűjtve" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "várakozik" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "összes" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "vázlat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "átvett" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "A „%(search)s” tétel még nincs a leltárban." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "A „%(inventories)s” leltáraknak jövőbeni dátuma van." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "A sorban szereplő mennyiség pozitívnak kell lenni." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "A „%(line)s” tételhez több sor is van a „%(inventory)s” leltárban." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" +"Mielőtt jóváhagyja a „%(inventory)s” számú leltárt, döntse el, mit tesz az " +"üresen hagyott mennyiségekkel." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" +"Ahhoz, hogy a „%(location)s” tárhelyet tárolótérnek/áruátvevőnek/árukiadónak" +" használja a „%(warehouse)s” raktárban, hozzá kell legyen rendelve ahhoz a " +"raktárhoz." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "A sorban szereplő mennyiség pozitívnak kell lenni." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "A sorban szereplő mennyiség pozitívnak kell lenni." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"A típusa egy terméknek nem változtatható meg, ami raktármozgatáshoz " +"hozzárendelt." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"AZ alap mértékegység egy terméknek nem változtatható meg, ami " +"raktármozgatáshoz hozzárendelt." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"A típusa egy terméknek nem változtatható meg, ami raktármozgatáshoz " +"hozzárendelt." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Cég" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "Költség" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Pénznem" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "Árrés" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Szám" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "Árbevétel" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "Biztos, hogy érvényteleníteni akarja a leltárt?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "Biztos, hogy jóvá akarja hagyni a leltárt?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "Biztos, hogy érvényteleníteni akarja a készletmozgást?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "Biztos, hogy be akarja fejezni a készletmozgást?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Biztos, hogy át akarja venni a szállítmányt?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Biztos, hogy be akarja fejezni a szállítmányt?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Biztos, hogy be akarja fejezni a szállítmányt?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Biztos, hogy át akarja venni a szállítmányt?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Ad egy leltársort a tárhelyen lévő összes termékhez" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "A számolást segítő varázsló indítása" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Érvénytelenítés" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Feltöltés" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Jóváhagyás" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Megszámolás" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Érvénytelenítés" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Végrehajtás" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Újra vázlatba" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Bezárás" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "vázlat" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Érvénytelenítés" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Kész" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Újra vázlatba" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Áruátvétel" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Kigyűjtés megkezdése" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Érvénytelenítés" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Kész" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Újra vázlatba" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Várakozás" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Kigyűjtés megkezdése" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Érvénytelenítés" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Kész" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Újra vázlatba" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Elküldés" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Várakozás" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Kigyűjtés megkezdése" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Érvénytelenítés" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Kész" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Újra vázlatba" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Csomag" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Érvénytelenítés" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Kész" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Újra vázlatba" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Áruátvétel" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Várakozás" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Felhasználó a cég alkalmazotta" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Leltár" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Beszállító szállítmánya" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Beszállítóhoz visszaküldött szállítmány" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Belső szállítmány" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Vevői szállítmány" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Visszaküldött vevői szállítmány" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Leltár" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Beszállító szállítmánya" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Beszállítóhoz visszaküldött szállítmány" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Belső szállítmány" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Vevői szállítmány" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Visszaküldött vevői szállítmány" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Beállítások" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Leltárak" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Tárhelyek" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Tárhelyek" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Átfutási idők tárhelyek között" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Tárhelyek" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Készletmozgások" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periódusok" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Jelentések" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Árrések" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Beszállítók szállítmányai" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "Visszaküldött áru" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Belső szállítmányok" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Vevői szállítmányok" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "Visszaküldött áru" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Készletgazdálkodás" + +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Beállítások" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Költségár módosítása" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Költségár újraszámítása" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Készlet" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +#, fuzzy +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Stock Configuration" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Leltársor" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Készlet tárolóhely" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Vevő" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Áruátvevő" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Leltár" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Árukiadó" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Tárolótér" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Szállító" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Úton lévő áru" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Átfutási idő tárhelyek között" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Raktár" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Készletmozgás" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Készletszint raktáranként" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Készletszint raktáranként" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Termékek tárhelyenként" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Termékek tárhelyenként" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Beszállító szállítmánya" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Beszállítóhoz visszaküldött szállítmány" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Belső szállítmány" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Vevői szállítmány" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Visszaküldött vevői szállítmány" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Induló tárhely" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Tervezett dátum:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Termék" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Hivatkozás:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Árubetöltési lista" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Szállítmány száma" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Szállító:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Cél tárhely" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Raktár:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Induló tárhely" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Induló tárhely:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Belső szállítmány" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Tervezett dátum:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Termék" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Hivatkozás:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Szállítmány száma" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Cél tárhely" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Cél tárhely:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Vevő száma:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Dátum:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Szállítólevél" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Termék" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Hivatkozás:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Szállítmány száma:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Vevő:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Induló tárhely" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Gyűjtőlap" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Tervezett dátum:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Termék" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Hivatkozás:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Szállítmány száma" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Cél tárhely" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Raktár:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Vevő" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Induló tárhely" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Szám" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Tervezett dátum:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Termék" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Mennyiség" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Hivatkozás:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Árubetöltési lista" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Szállítmány" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Cél tárhely" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Raktár:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Vevői szállítmány rendelkezésére állásának ellenőrzése" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Belső szállítmány rendelkezésére állásának ellenőrzése" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Nullázza le" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Ugorja át" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "érvénytelen" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Kész" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Termék" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Vevő" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Leltár" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "gyártás" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Tárolóhely" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Szállító" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Nézet" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Raktár" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "rendelkezésre áll" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "érvénytelen" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Kész" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "lezárt" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Változat" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Termék" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Változat" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "Nap" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "Hónap" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "Év" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "érvénytelen" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Kész" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "átvett" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "rendelkezésre áll" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "érvénytelen" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Kész" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "várakozik" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "rendelkezésre áll" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "érvénytelen" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Kész" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Kérés" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "elküldve" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "várakozik" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "rendelkezésre áll" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "érvénytelen" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Kész" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "csomagolva" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "kigyűjtve" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "várakozik" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "érvénytelen" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Kész" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "vázlat" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "átvett" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Készlet" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "Válassza ki a raktárat, amelyikben munkát szeretne végezni." + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Leltár" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Szállítmányok" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Áru bekerülési értéke" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "%" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Ezek a termékek nem állnak rendelkezésre:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Egyéb info" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Egyéb info" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Egyéb info" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Egyéb info" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Egyéb info" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Kimenő mozgások" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Mégse" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Mégse" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Újraszámítás" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Hozzáad" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Mégse" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Befejezés" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Kiválaszt" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Mégse" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Várakozás" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "Kényszerítés" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "Kihagyás" diff --git a/modules/stock/locale/id.po b/modules/stock/locale/id.po new file mode 100644 index 0000000000..d738b3f0f6 --- /dev/null +++ b/modules/stock/locale/id.po @@ -0,0 +1,3316 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Pengiriman" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Pengiriman" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Lokasi Pelanggan" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Lokasi" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Lokasi Pemasok" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Lokasi Pelanggan" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Pihak" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Lokasi Pemasok" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Pada Tanggal" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Pada Tanggal" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Tanggal" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Tanggal" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Nilai Biaya" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Nilai Biaya" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Gudang saat ini" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Tanggal" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Baris" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Lokasi" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Nomor" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Baris" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "UOM" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Tanggal" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Lokasi" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "UOM" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Alamat" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Cabang" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Kode" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Nilai Biaya" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Kiri" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nama" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Induk" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Kanan" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Gudang" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Lokasi Pelanggan" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Gudang" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Lokasi Pelanggan" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Gudang" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Mata uang" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Asal" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Tanggal" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Lokasi" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periode" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Produk" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Tanggal" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Gudang" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Tanggal" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Perpindahan" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Asal" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Nilai Biaya" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Pada Tanggal" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Pada Tanggal" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Mata uang" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Mata uang" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Tanggal" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Cabang" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nama" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Induk" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Perusahaan" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Tanggal Penulisan" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periode" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Tanggal" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Mata uang" + +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Mata uang" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Tanggal" + +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Dilakukan Oleh" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Nomor" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referensi" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Pemasok" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Lokasi Pemasok" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Gudang" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Dilakukan Oleh" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Nomor" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referensi" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Pemasok" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Diterima oleh" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Dilakukan Oleh" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Nomor" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Perpindahan Keluar" + +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Tanggal yang Direncanakan" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Tanggal Mulai yang Direncanakan" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referensi" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Gudang" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Pelanggan" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Lokasi Pelanggan" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Alamat Pengiriman" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Dilakukan Oleh" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Nomor" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referensi" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Gudang" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Pelanggan" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Lokasi Pelanggan" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Alamat Pengiriman" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Dilakukan Oleh" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Nomor" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referensi" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Gudang" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periode" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Perpindahan Keluar" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Produksi" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Konfigurasi" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Perpindahan Keluar" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Perusahaan" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Mata uang" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Nomor" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "Luncurkan wisaya untuk menghitung produk" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Batal" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Konfirmasi" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Batal" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Tutup" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Konsep" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Batal" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Batal" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Batal" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Batal" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Batal" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Pengguna di dalam perusahaan" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Konfigurasi" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Perpindahan" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periode" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Pelaporan" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Konfigurasi" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Persediaan" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Pemasok" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Gudang" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Lokasi Pelanggan" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Produksi" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Produk" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Produk" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Tanggal:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Produk" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Produk" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Nomor" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Tanggal yang Direncanakan:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Produk" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Batal" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Produk" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Produksi" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Pemasok" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Gudang" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Batal" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produk" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Batal" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Batal" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Batal" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Batal" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Batal" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Persediaan" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Nilai Biaya" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Info Lain" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Info Lain" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Info Lain" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Info Lain" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Info Lain" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Batal" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Batal" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Tambahkan" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Batal" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Batal" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/it.po b/modules/stock/locale/it.po new file mode 100644 index 0000000000..42bc0e50cd --- /dev/null +++ b/modules/stock/locale/it.po @@ -0,0 +1,3487 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Consegna" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Consegna" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Luogo del cliente" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Luoghi" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Luogo del fornitore" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Luogo del cliente" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Controparte" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Luogo del fornitore" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "A data" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "A data" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Nuovo prezzo di costo" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Nuovo prezzo di costo" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantità prevista" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantità prevista" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Magazzino attuale" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transito spedizione interna" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transito spedizione interna" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Righe" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Luogo" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Numero" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Stato" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Riga" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Quantità totale" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Posizioni Unità" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "UdM" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Ricerca" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Quantità attesa" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventario" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Luogo" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Stato dell'inventario" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Movimenti" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Posizioni Unità" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "UdM" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Indirizzo" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Figlio" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Codice" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantità prevista" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Ingresso" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Sinistra" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nome" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Uscita" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Padre" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Quantità" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Posizioni Unità" + +#, fuzzy +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Destra" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Luogo del cliente" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Warehouse" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Luogo del cliente" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Nuovo prezzo di costo" + +#, fuzzy +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Valute" + +#, fuzzy +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Data Registrazione" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Origine" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Categoria unità di misura prodotto" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Stato" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Posizioni Unità" + +#, fuzzy +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Prezzo unitario" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Prezzo unitario" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Prezzo unitario" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Azienda" + +#, fuzzy +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Stato" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Luogo" + +#, fuzzy +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periodo" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Azienda" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Movimenti" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Origine" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantità prevista" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Valute" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Valute" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Figlio" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nome" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Padre" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Azienda" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Utente scrittura" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periodo" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Valute" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantità totale" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Posizioni Unità" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Valute" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantità totale" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Quantità" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Posizioni Unità" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Movimenti" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Data Registrazione" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Movimenti" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Numero" + +#, fuzzy +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Origini" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Riferimento" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Stato" + +#, fuzzy +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Fornitore" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Data Registrazione" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Movimenti" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Numero" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Origini" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Riferimento" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Stato" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Fornitore" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Azienda" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Data Registrazione" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Movimenti" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Numero" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Riferimento" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Stato" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Azienda" + +#, fuzzy +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Data Registrazione" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Movimenti" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Numero" + +#, fuzzy +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Origini" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Packed" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Riferimento" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Stato" + +#, fuzzy +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Azienda" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Data Registrazione" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Movimenti" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Numero" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Origini" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Riferimento" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Stato" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Luogo" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Luogo" + +#, fuzzy +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Movimenti" + +#, fuzzy +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periodi" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Movimento di magazzino" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Luogo del cliente" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configurazione" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Movimento di magazzino" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Tutti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Tutti" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Tutti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Tutti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "In attesa" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Tutti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Bozza" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "In attesa" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Tutti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Bozza" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "In attesa" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Tutti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Azienda" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Valute" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Numero" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Chiudi" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Bozza" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventario" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventario" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configurazione" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Luogo" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Luogo" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Movimenti" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periodi" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Rapporti" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Origini" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configurazione" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Magazzino" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +#, fuzzy +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Stock Configuration" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +#, fuzzy +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Cliente" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Fornitore" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Luogo del cliente" + +#, fuzzy +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Movimento di magazzino" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Luogo del cliente" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +#, fuzzy +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Riferimento" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Fornitore" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Riferimento" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Data:" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Delivery Note" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Riferimento" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Cliente" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Riferimento" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Numero" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Prodotto" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Quantità" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Riferimento" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Cancellato" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Fatto" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Bozza" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Fornitore" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Vista" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Cancellato" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Fatto" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Bozza" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Chiuso" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Variante" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Prodotto" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Variante" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Cancellato" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Fatto" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Cancellato" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Fatto" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "In attesa" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Cancellato" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Fatto" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "In attesa" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Cancellato" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Fatto" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "In attesa" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Cancellato" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Fatto" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Bozza" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Magazzino" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventario" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Annulla" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Annulla" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Annulla" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Annulla" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/lo.po b/modules/stock/locale/lo.po new file mode 100644 index 0000000000..72525fd6ab --- /dev/null +++ b/modules/stock/locale/lo.po @@ -0,0 +1,3560 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "ມອບສົ່ງ" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "ມອບສົ່ງ" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "" + +#, fuzzy +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "ບ່ອນຢູ່" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "ລາຄາຄິດໄລ່" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "ວັນທີ" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "ລາຄາຄິດໄລ່" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "ວັນທີ" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +#, fuzzy +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "ວັນທີ" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "ຮ່ວງ" + +#, fuzzy +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "ບ່ອນຢູ່" + +#, fuzzy +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "ເລກທີ" + +#, fuzzy +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "ສະຖານະ" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "ຮ່ວງ" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "ຫົວໜ່ວຍເສດ" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "ວັນທີ" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "ບ່ອນຢູ່" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "ຫົວໜ່ວຍເສດ" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "ທີ່ຢູ່" + +#, fuzzy +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "ໝວດຍ່ອຍ" + +#, fuzzy +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "ລະຫັດແຂວງ" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "ລໍຮັບຈ່າຍ" + +#, fuzzy +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "ຊື່" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "ຮ່ວງ" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "ຫົວໜ່ວຍເສດ" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "ຫ້ອງເກັບມ້ຽນຢາ" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "ບ່ອນຢູ່" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Warehouse" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "ບ່ອນຢູ່" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +#, fuzzy +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "ລາຄາຄິດໄລ່" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "ລາຄາຄິດໄລ່" + +#, fuzzy +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "ສະກຸນເງິນ" + +#, fuzzy +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "ວັນທີມີຜົນ" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "ຈຳນວນພາຍໃນ" + +#, fuzzy +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "ລາຍການຂັ້ນຕົ້ນ" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "ສະຖານະ" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "ຫົວໜ່ວຍເສດ" + +#, fuzzy +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "ລາຄາຫົວໜ່ວຍ" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "ລາຄາຫົວໜ່ວຍ" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "ລາຄາຫົວໜ່ວຍ" + +#, fuzzy +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "ຫົວໜ່ວຍ" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "ວັນທີ" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "ສະຖານະ" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "ຈຳນວນພາຍໃນ" + +#, fuzzy +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "ບ່ອນຢູ່" + +#, fuzzy +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "ງວດ" + +#, fuzzy +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "ວັນທີ" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "ວັນທີ" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "ລາຍການຂັ້ນຕົ້ນ" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "ບ່ອນຢູ່" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "ສະກຸນເງິນ" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "ສະກຸນເງິນ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "ວັນທີ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "ໝວດຍ່ອຍ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "ຊື່" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "ຮ່ວງ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "ຂຽນວັນທີ" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "ງວດ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "ວັນທີ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "ສະກຸນເງິນ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "ຈຳນວນພາຍໃນ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "ຫົວໜ່ວຍເສດ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "ສະກຸນເງິນ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "ວັນທີ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "ຈຳນວນພາຍໃນ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "ຫົວໜ່ວຍເສດ" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "ວັນທີມີຜົນ" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "ເລກທີ" + +#, fuzzy +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "ຕົ້ນສະບັບ" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "ເອກະສານອ້າງອີງ" + +#, fuzzy +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "ສະຖານະ" + +#, fuzzy +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "ຜູ້ສະໜອງ" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "ວັນທີມີຜົນ" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "ເລກທີ" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "ຕົ້ນສະບັບ" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "ເອກະສານອ້າງອີງ" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "ສະຖານະ" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "ຜູ້ສະໜອງ" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "ວັນທີມີຜົນ" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "ເລກທີ" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "ເອກະສານອ້າງອີງ" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "ສະຖານະ" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +#, fuzzy +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "ວັນທີມີຜົນ" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "ເລກທີ" + +#, fuzzy +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "ຕົ້ນສະບັບ" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Packed" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "ເອກະສານອ້າງອີງ" + +#, fuzzy +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "ສະຖານະ" + +#, fuzzy +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "ສຳນັກງານ" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "ວັນທີມີຜົນ" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "ເລກທີ" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "ຕົ້ນສະບັບ" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "ເອກະສານອ້າງອີງ" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "ສະຖານະ" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "ຕັດບັນຊີສາງ" + +#, fuzzy +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "ລາຄາຄິດໄລ່" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "ເຄື່ອນຍ້າຍສາງ" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "ຜະລິດຕະພັນຕາມບ່ອນຢູ່" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "ການຈັດສົ່ງຂອງຜູ່ສະໜອງ" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "ຈັດສົ່ງພາຍໃນ" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "ຈັດສົ່ງໃຫ້ລູກຄ້າ" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "ຈັດສົ່ງໃຫ້ລູກຄ້າ" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "ການຈັດສົ່ງຂອງຜູ່ສະໜອງ" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "ຈັດສົ່ງພາຍໃນ" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "ເຄື່ອນຍ້າຍສາງ" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "ລາຄາຄິດໄລ່" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "ການຈັດສົ່ງຄືນໃຫ້ຜູ່ສະໜອງ" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "ຈັດສົ່ງພາຍໃນ" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "ທັງໝົດ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "ທັງໝົດ" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "ທັງໝົດ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "ທັງໝົດ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "ທັງໝົດ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "ທັງໝົດ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "ທັງໝົດ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "ສຳນັກງານ" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "ສະກຸນເງິນ" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "ເລກທີ" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "ການຈັດສົ່ງຂອງຜູ່ສະໜອງ" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "ການຈັດສົ່ງຄືນໃຫ້ຜູ່ສະໜອງ" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "ຈັດສົ່ງພາຍໃນ" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "ການຈັດສົ່ງຂອງຜູ້ສະໜອງ" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "ການຈັດສົ່ງຄືນຂອງລູກຄ້າ" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "ການຈັດສົ່ງຂອງຜູ່ສະໜອງ" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "ການຈັດສົ່ງຄືນໃຫ້ຜູ່ສະໜອງ" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "ຈັດສົ່ງພາຍໃນ" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "ການຈັດສົ່ງຂອງຜູ້ສະໜອງ" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "ການຈັດສົ່ງຄືນຂອງລູກຄ້າ" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "ກຳລັງລາຍງາຍ" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "ຕົ້ນສະບັບ" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +#, fuzzy +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "ຜະລິດຕະພັນຕາມບ່ອນຢູ່" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "ລາຄາຄິດໄລ່" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "ສາງ" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +#, fuzzy +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "ການຕັ້ງຄ່າສາງ" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "ລໍຮັບຈ່າຍ" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "ຜູ້ສະໜອງ" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "ຜະລິດຕະພັນຕາມບ່ອນຢູ່" + +#, fuzzy +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "ເຄື່ອນຍ້າຍສາງ" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "ຜະລິດຕະພັນຕາມບ່ອນຢູ່" + +#, fuzzy +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "ຜະລິດຕະພັນຕາມບ່ອນຢູ່" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +#, fuzzy +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "ການຈັດສົ່ງຂອງຜູ່ສະໜອງ" + +#, fuzzy +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "ການຈັດສົ່ງຄືນໃຫ້ຜູ່ສະໜອງ" + +#, fuzzy +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "ຈັດສົ່ງພາຍໃນ" + +#, fuzzy +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "ການຈັດສົ່ງຂອງຜູ້ສະໜອງ" + +#, fuzzy +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "ການຈັດສົ່ງຄືນຂອງລູກຄ້າ" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "ເອກະສານອ້າງອີງ" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "ຜູ້ສະໜອງ" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "ຈັດສົ່ງພາຍໃນ" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "ເອກະສານອ້າງອີງ" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "ວັນທີ" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Delivery Note" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "ເອກະສານອ້າງອີງ" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "ເອກະສານອ້າງອີງ" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "ເລກທີ" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "ຈຳນວນ" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "ເອກະສານອ້າງອີງ" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "ຈັດສົ່ງໃຫ້ລູກຄ້າ" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "ຈັດສົ່ງພາຍໃນ" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "ຈັດສົ່ງໃຫ້ລູກຄ້າ" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "ຈັດສົ່ງພາຍໃນ" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "ຍົກເລີກແລ້ວ" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "ແລ້ວໆ" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Customer" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "ລໍຮັບຈ່າຍ" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "ຫ້ອງເກັບມ້ຽນຢາ" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "ຜູ້ສະໜອງ" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "ເບິ່ງ" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "ຍົກເລີກແລ້ວ" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "ແລ້ວໆ" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "ປິດແລ້ວ" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "ຜະລິດຕະພັນ" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "ຍົກເລີກແລ້ວ" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "ແລ້ວໆ" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "ຍົກເລີກແລ້ວ" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "ແລ້ວໆ" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "ຍົກເລີກແລ້ວ" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "ແລ້ວໆ" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "ຍົກເລີກແລ້ວ" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "ແລ້ວໆ" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "ຍົກເລີກແລ້ວ" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "ແລ້ວໆ" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "ຊົ່ວຄາວ" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "view:party.party:" +msgid "Stock" +msgstr "ສາງ" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "ຕົກລົງ" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/lt.po b/modules/stock/locale/lt.po new file mode 100644 index 0000000000..082dcb15ff --- /dev/null +++ b/modules/stock/locale/lt.po @@ -0,0 +1,3368 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Pristatymas" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Pristatymas" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Pirkėjo vieta" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Vietos" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Tiekėjo vieta" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Pirkėjo vieta" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Kontrahentas" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Tiekėjo vieta" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Data" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Organizacija" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Savikaina" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Prekė" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Savikaina" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Bendra savikaina" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognozuojamas kiekis" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Bendra savikaina" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognozuojamas kiekis" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Sandėlys" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Inventorizacijos numeruotė" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Grąžinimų tiekėjui numeruotė" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Tiekėjo siuntimų numeruotė" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Vidinių siuntimų numeruotė" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Vidinio siuntimo tranzitas" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Gražinimų iš pirkėjų numeruotė" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Siuntimų pirkėjui numeruotė" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Vidinio siuntimo tranzitas" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Inventorizacijos numeruotė" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Grąžinimų tiekėjui numeruotė" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Tiekėjo siuntimų numeruotė" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Vidinių siuntimų numeruotė" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Gražinimų iš pirkėjų numeruotė" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Siuntimų pirkėjui numeruotė" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Tušti kiekiai" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Eilutės" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Vietos" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Numeris" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Eilutė" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Prekė" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Bendras kiekis" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Mato vieneto skaitmenų po kablelio skaičius" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "Mato vienetas" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Ieškoti" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Paieškos modelis" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Laukiamas kiekis" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventorizacija" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Vietos" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Inventorizacijos būsena" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Prekė" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Mato vieneto skaitmenų po kablelio skaičius" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "Mato vienetas" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Adresas" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Dukteriniai" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Kodas" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Bendra savikaina" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Plokšti dukteriniai" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognozuojamas kiekis" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Priėmimas" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Kairė" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Prarasta ir rasta" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Pavadinimas" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Išdavimas" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Motininis" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Pakavimas" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Kiekis" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Mato vieneto skaitmenų po kablelio skaičius" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Dešinė" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Saugojimas" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Vietos tipas" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Sandėlys" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Tranzito vieta" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Sandėlys" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Tiekimo laikas" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Sandėlys" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Į sandėlį" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Tranzito vieta" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Sandėlys" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Būtinas priskyrimas" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Savikaina" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Būtina vieneto kaina" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Valiuta" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Faktinė data" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Išsiuntimo vieta" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Vidinis kiekis" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Šaltinis" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Planuojama data" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Prekė" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Prekės mato vieneto kategorija" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Transportavimas" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Gavimo vieta" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Mato vieneto skaitmenų po kablelio skaičius" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Kaina" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Kaina" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Būtina vieneto kaina" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Kaina" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Mato vienetas" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Išsaugotos vertės" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Vidinis kiekis" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Vietos" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periodas" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Prekė" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Prekė" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Saugojimo zona" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Sandėlys" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Operacijos" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Šaltinis" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Prekė" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Bendra savikaina" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognozuojamas kiekis" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Prekė" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Data" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Data" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Valiuta" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Valiuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Dukteriniai" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Pavadinimas" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Motininis" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Organizacija" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Išsiuntimo vieta" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periodas" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Valiuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Vidinis kiekis" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Prekė" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Mato vieneto skaitmenų po kablelio skaičius" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Valiuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Vidinis kiekis" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Prekė" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Mato vieneto skaitmenų po kablelio skaičius" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Kontaktinis adresas" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Įvykdęs naudotojas" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Faktinė data" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Gavimo operacijos" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Inventorizacijos operacijos" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Numeris" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Šaltiniai" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Planuojama data" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Priėmęs naudotojas" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Nuoroda" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Tiekėjas" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Tiekėjo vieta" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Sandėlys" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Sandėlio priėmimo vieta" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Sandėlio saugojimo vieta" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Priskirta" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Siuntimo adresas" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Įvykdęs naudotojas" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Faktinė data" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Išsiuntimo vieta" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Numeris" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Šaltiniai" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Priskirti" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Planuojama data" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Nuoroda" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Tiekėjas" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Gavimo vieta" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Priėmęs naudotojas" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Įvykdęs naudotojas" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Faktinė data" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Faktinė pradžios data" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Išsiuntimo vieta" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Gavimo operacijos" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Numeris" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Išsiuntimo operacijos" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Priskirti" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Planuojama data" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Planuojama pradžios data" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Nuoroda" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Išsiuntęs naudotojas" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Gavimo vieta" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Tranzito vieta" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Sandėlys" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Pirkėjas" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Pirkėjo vieta" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Siuntimo adresas" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Įvykdęs naudotojas" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Faktinė data" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Inventorizacijos operacijos" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Numeris" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Šaltiniai" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Išsiuntimo operacijos" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Supakavęs naudotojas" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Priskirti" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Supakavęs naudotojas" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Planuojama data" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Nuoroda" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Sandėlys" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Sandėlio išdavimo vieta" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Sandėlio saugojimo vieta" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Organizacija" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Pirkėjas" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Pirkėjo vieta" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Siuntimo adresas" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Įvykdęs naudotojas" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Faktinė data" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Gavimo operacijos" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Inventorizacijos operacijos" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Numeris" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Šaltiniai" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Planuojama data" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Priėmęs naudotojas" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Nuoroda" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Būsena" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Sandėlys" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Sandėlio priėmimo vieta" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Sandėlio saugojimo vieta" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "Valiuta, kuria nurodyta vieneto kaina." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventorizacijos" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventorizacijos" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Vietos" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Tiekimo terminas vietai" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Vietų sąrašas - Kiekis" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Hierarchinis sąrašas - Kiekis" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Vietos" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periodai" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Savikaina" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Sandėlio operacijos" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Prekių kiekis pagal sandėlius" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Prekių kiekis pagal sandėlius" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Prekės pagal vietas" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Tiekėjo siuntimai" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Vidiniai siuntimai" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Siuntimai pirkėjui" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Siuntimai pirkėjui" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Tiekėjo siuntimai" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Nuostatos" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Sandėlio papildymo sąrašas" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Vidinis siuntimas" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Važtaraštis" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Pakavimo lapas" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Sandėlio papildymo sąrašas" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Skaičiavimas" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Prekių kiekis pagal sandėlius" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Sandėlio operacijos" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Savikaina" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Perskaičiuoti savikainą" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Grąžinimo tiekėjui siuntimas" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Vidinis siuntimas" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Priskirti siuntimą pirkėjui" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Visi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Visi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "Iš tiekėjų" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "Laukiantys iš tiekėjų" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "Pirkėjams" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Visi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Gauti" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Visi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Priskirti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Priskirti" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Laukiantis" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Visi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Priskirti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Priskirti" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Užklausimai" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Įvykdyti" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Laukiantys" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Visi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Priskirti" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Priskirti" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Supakuotas" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Supakuotas" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Laukiantys" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Visi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Gauti" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Organizacija" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Valiuta" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Numeris" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Užpildyti" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Patvirtinti" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Skaičiuoti" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Vykdyti" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Taisyti" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Užverti" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Taisyti" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Atlikti" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Taisyti" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Gauta" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Priskirti" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Atlikti" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Taisyti" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Laukti" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Priskirti" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Atlikti" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Taisyti" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Siųsti" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Laukti" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Priskirti" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Atlikti" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Taisyti" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Supakuotas" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Pakavimas" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Pabaigti" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Taisyti" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Gauti" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Laukti" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Organizacijos naudotojas" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventorizacija" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Tiekėjo siuntimas" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Grąžinimo tiekėjui siuntimas" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Vidinis siuntimas" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Siuntimas pirkėjui" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Pirkėjo grąžinimo siuntimas" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventorizacija" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Tiekėjo siuntimas" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Grąžinimo tiekėjui siuntimas" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Vidinis siuntimas" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Siuntimas pirkėjui" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Pirkėjo grąžinimo siuntimas" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Nuostatos" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventorizacijos" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Vietos" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Vietos" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Tiekimo terminas vietai" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Vietos" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Operacijos" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periodai" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Ataskaitos" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Šaltiniai" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Tiekėjo siuntimai" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Vidiniai siuntimai" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Siuntimai pirkėjui" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventorizacijos ir sandėlys" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Nuostatos" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Kontrahento vieta" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Prekės pagal vietą" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Savikaina" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Perskaičiuoti savikainą" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Sandėlys" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Sandėlio valdymas" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Forsuoti priskyrimą sandėlyje" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Sandėlio nuostatos" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Sandėlio valdymas - vietos" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Sandėlio valdymas - numeruotė" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Sandėlio inventorizacija" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Sandėlio inventorizacijos kiekis" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Sandėlio inventorizacija - skaičiavimas" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Sandėlio inventorizacijos eilutė" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Sandėlio vieta" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Pirkėjas" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Priėmimo zona" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Prarasta ir rasta" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Išdavimo zona" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Saugojimo zona" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Tiekėjas" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Tranzitas" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Sandėlys" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Tiekimo laikas iš šios vietos" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Tranzito vieta" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Sandėlio operacija" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Sandėlio periodas" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Išsaugotas sandėlio periodas" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Prekių kiekis pagal sandėlius" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Prekių kiekis pagal sandėlius" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Prekių kiekis pagal sandėlius" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Prekės pagal vietas" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Prekės pagal vietas" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Priskirti vidinį siuntimą" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Tiekėjo siuntimas" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Grąžinimo tiekėjui siuntimas" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Vidinis siuntimas" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Siuntimas pirkėjui" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Pirkėjo grąžinimo siuntimas" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Išsiuntimo vieta" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Planuojama data:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Prekė" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Nuoroda:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Sandėlio papildymo sąrašas" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Siuntimo numeris" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Tiekėjas:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Gavimo vieta" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Sandėlys:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Išsiuntimo vieta" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Išsiuntimo vieta:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Vidinis siuntimas" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Planuojama data:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Prekė" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Nuoroda:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Siuntimo numeris" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Gavimo vieta" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Gavimo vieta:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Pirkėjo kodas:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Data:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Važtaraštis" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Prekė" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Nuoroda:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Siuntimo numeris:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Pirkėjas:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Išsiuntimo vieta" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Pakavimo lapas" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Planuojama data:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Prekė" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Nuoroda:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Siuntimo numeris" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Gavimo vieta" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Sandėlys:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Pirkėjas" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Išsiuntimo vieta" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Numeris" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Planuojama data:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Prekė" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Kiekis" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Nuoroda:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Sandėlio papildymo sąrašas" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Transportavimas" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Gavimo vieta" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Sandėlys:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Priskirti siuntimą pirkėjui" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Vidinis siuntimas" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Perskaičiuoti savikainą" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Siuntimai pirkėjui" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Vidiniai siuntimai" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Grąžinimo tiekėjui siuntimai" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Ištrinti" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Nekeisti" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Anuliuota" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Pabaigta" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Prekė" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Pirkėjas" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Trikampė prekyba" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Prarasta ir rasta" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Gamyba" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Saugojimas" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Tiekėjas" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Peržiūra" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Sandėlys" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Priskirta" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Anuliuota" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Pabaigta" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "Saugojama" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Pabaigta" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Juodraštis" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Prekė" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Prekė" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Anuliuota" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Pabaigta" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Gauta" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Priskirta" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Anuliuota" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Pabaigta" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Laukiama" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Priskirta" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Anuliuota" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Pabaigta" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Užklausa" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Nusiųsta" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Laukiama" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Priskirta" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Anuliuota" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Pabaigta" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Supakuota" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Supakuota" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Laukiama" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Anuliuota" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Pabaigta" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Juodraštis" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Gauta" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Sandėlys" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventorizacija" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Siuntimai" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Bendra savikaina" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +#, fuzzy +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Nepavyko priskirti šių prekių:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Kita informacija" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Kita informacija" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Kita informacija" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Kita informacija" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Kita informacija" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Išsiuntimo operacijos" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Atsisakyti" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "Gerai" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Atsisakyti" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Perskaičiuoti savikainą" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Pridėti" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Atsisakyti" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Pabaigti" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Pasirinkti" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Atsisakyti" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Laukti" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/nl.po b/modules/stock/locale/nl.po new file mode 100644 index 0000000000..30bc5abb78 --- /dev/null +++ b/modules/stock/locale/nl.po @@ -0,0 +1,3375 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Levering(leveradres)" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Levering(leveradres)" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Klant locatie" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "locaties" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Locatie van leverancier" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Klant locatie" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Relatie" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Locatie van leverancier" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Op datum van" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Op datum van" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Nieuwe kostprijs" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Variant" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Product" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Nieuwe kostprijs" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Verwachte hoeveelheid" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "Van" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Verwachte hoeveelheid" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Huidig magazijn" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "voorraad volgorde" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Leverancier Retourzending Volgorde" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Leveranciersverzending Volgorde" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Interne verzendvolgorde" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Interne verzending Transit" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Klant Retourzending Volgorde" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Klantverzending Volgorde" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Interne verzending Transit" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "voorraad volgorde" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Leverancier Retourzending Volgorde" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Leveranciersverzending Volgorde" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Interne verzendvolgorde" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Klant Retourzending Volgorde" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Klantverzending Volgorde" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Leeg hoeveelheid" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Regels" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Plaats" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Regels" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Product" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Totaal hoeveelheid" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalen eenheid" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "MEH" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Zoeken" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Zoekmodel" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Verwachte hoeveelheid" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventaris" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Plaats" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Voorraadstatus" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Boekingen" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Product" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalen eenheid" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "MEH" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Adres" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Onderliggende niveaus" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Code" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Flat Children ( niet-hiërarchische onderliggende niveaus)" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Verwachte hoeveelheid" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Invoer" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Links" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "inventaris verschil" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Naam" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "uitgang (output)" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Bovenliggend niveau" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "verzamelen" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Hoeveelheid eenheid" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "standaard maateenheid decimalen" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Rechts" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "magazijn" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Locatie type" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Afvallocaties" + +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Afvalmagazijnen" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Doorlooptijd" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Magazijn van" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Magazijn naar" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Afvallocatie" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Vereiste toewijzing" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Kostprijs" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Kostprijs vereist" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Valuta" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Effectieve datum" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Van locatie" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne hoeveelheid" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Oorsprong" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Geplande datum" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Product" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Categorie eenheidsmaten (Catégorie d'unité de mesure)" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Leveringen" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Naar locatie" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalen eenheid" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Eenheidsprijs" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Eenheidsprijs" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Eenheidsprijs vereist" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Eenheidsprijs bijgewerkt" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Eenheid" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Cache van" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne hoeveelheid" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Plaats" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periode" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Product" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Product" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Enige opslagzone" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "Cumulatieve hoeveelheid Delta" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "Cumulatieve Hoeveelheid Einde" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "Cumulatieve hoeveelheid Start" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Boeking" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Oorsprong" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Product" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "verbruiksartikelen" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "Standaard maateenheid" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "standaard maateenheid decimalen" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Verwachte hoeveelheid" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Product" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Op datum van" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Op datum van" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Valuta" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Valuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Onderliggende niveaus" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Naam" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Bovenliggend niveau" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Bedrijf" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Van locatie" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periode" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Valuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne hoeveelheid" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Product" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalen eenheid" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Valuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Interne hoeveelheid" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Product" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalen eenheid" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Boekingen" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "contact adres" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Gedaan door" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Effectieve datum" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Inkomende bewegingen" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Voorraadbewegingen" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Boekingen" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Oorsprong" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Geplande datum" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Ontvangen door" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referentie" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Leverancier" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Locatie van leverancier" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Magazijninvoer" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magazijn opslag" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Toegewezen door" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Leveringsadres" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Gedaan door" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Effectieve datum" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Van locatie" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Boekingen" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Oorsprong" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "toegewezen" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Geplande datum" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referentie" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Leverancier" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Naar locatie" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Ontvangen door" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Gedaan door" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Effectieve datum" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Effectieve startdatum" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Van locatie" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Inkomende bewegingen" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Boekingen" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Uitgaande bewegingen" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "toegewezen" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Geplande datum" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Geplande startdatum" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referentie" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Verzonden door" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Naar locatie" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Doorvoerlocatie" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Klant" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Klant locatie" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Leveringsadres" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Gedaan door" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Effectieve datum" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Voorraadbewegingen" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Boekingen" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Oorsprong" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Uitgaande bewegingen" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Verpakt door" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "toegewezen" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Verzameld door" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Geplande datum" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referentie" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Magazijnoutput" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magazijn opslag" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Klant" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Klant locatie" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Leveringsadres" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Gedaan door" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Effectieve datum" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Inkomende bewegingen" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Voorraadbewegingen" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Boekingen" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Nummer" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Oorsprong" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Geplande datum" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Ontvangen door" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referentie" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Status" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Magazijninvoer" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Magazijn opslag" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Vink aan om leveringen naar dit adres te verzenden." + +#, fuzzy +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "Vink aan om leveringen naar dit adres te verzenden." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"De standaardbestemmingslocatie voor voorraad die naar deze relatie verzonden" +" word." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "De standaardlocatie voor de vooraad geleverd door deze relatie ." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"De standaardbestemmingslocatie voor voorraad die naar deze relatie verzonden" +" word." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "De standaardlocatie voor de vooraad geleverd door deze relatie ." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"De datum waarvoor de voorraadhoeveelheid wordt berekend.\n" +"* Een lege waarde berekent zo ver mogelijk vooruit.\n" +"* Een datum in het verleden geeft historische waarden." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Python-expressie die wordt geëvalueerd met:\n" +"- cost_price: de huidige kostprijs van het product" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"Python-expressie die wordt geëvalueerd met:\n" +"- cost_price: de huidige kostprijs van het product" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "De waarde van de voorraad op de locatie." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "De verwachte voorraad op de locatie." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "De hoeveelheid voorraad op de locatie." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "De waarde van de voorraad op de locatie." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "De verwachte voorraad op de locatie." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "De hoeveelheid voorraad op de locatie." + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "Het magazijn waar de gebruiker werkt." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" +"Wordt gebruikt om het nummer te genereren dat aan de inventaris wordt " +"gegeven." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" +"Wordt gebruikt voor het genereren van het nummer dat wordt gegeven aan de " +"retourzendingen leveranciers." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" +"Gebruikt om het nummer te genereren dat aan leverancierszendingen wordt " +"gegeven." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" +"Wordt gebruikt om het nummer te genereren dat aan interne zendingen wordt " +"gegeven." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"De standaardlocatie die wordt gebruikt voor voorraad die onderweg is tussen " +"magazijnen." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" +"Wordt gebruikt voor het genereren van het nummer dat wordt gegeven aan de " +"retourzendingen klanten." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" +"Wordt gebruikt om het nummer te genereren dat aan klantverzendingen wordt " +"gegeven." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"De standaardlocatie die wordt gebruikt voor voorraad die onderweg is tussen " +"magazijnen." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "Het bedrijf waaraan de inventaris is gekoppeld." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "De datum van de voorraad telling." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Hoe lijnen zonder hoeveelheid worden afgehandeld." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "de geïnventariseerde locatie." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "De belangrijkste ID voor de inventaris." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "De huidige staat van de inventaris." + +#, fuzzy +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "De hoeveelheid die moet worden toegevoegd aan de bestaande telling." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "Het totale bedrag van de lijnen die tot nu toe geteld zijn." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "De eenheid waarin de hoeveelheden zijn opgegeven." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "Het item dat geteld is." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" +"De hoeveelheid die het systeem berekende voor de locatie.(verwachte " +"hoeveelheid)" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "De voorraad waartoe de regel behoort." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "De werkelijke hoeveelheid die op de locatie is gevonden." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "De eenheid waarin de hoeveelheid is opgegeven." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Wordt gebruikt om structuur onder de locatie toe te voegen." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "De interne ID die voor de locatie wordt gebruikt." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "De waarde van de voorraad op de locatie." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" +"Schakel dit selectievakje in om één onderliggend niveaun zonder subniveau's " +"af te dwingen.(children nograndchildren)." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "De verwachte voorraad op de locatie." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "Waar inkomende leveringen worden ontvangen." + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" +"Gebruikt, door voorraden, bij het corrigeren van voorraadniveaus in het " +"magazijn." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "Waar uitgaande voorraad wordt verzonden." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Gebruikt om structuur boven de locatie toe te voegen." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"Waar voorraad wordt gepickt.\n" +"Laat leeg om de opslaglocatie te gebruiken." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "De hoeveelheid voorraad op de locatie." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "De locatie van het hoogste niveau waar de voorraad is opgeslagen." + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "De locaties die worden gebruikt voor afvalproducten uit het magazijn." + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "De magazijnen die de locatie gebruiken voor afvalproducten." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" +"De tijd die het kost om de voorraad tussen de magazijnen te verplaatsen." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "Het bedrijf waarmee de stockbeweging verband houdt." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "De valuta waarin de eenheidsprijs is opgegeven." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "Wanneer de voorraad daadwerkelijk werd verplaatst." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "Waar de voorraad vandaan wordt verplaatst." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "De bron van de voorraadbeweging." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "Wanneer wordt verwacht dat de voorraad wordt verplaatst." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "Het product waarmee de beweging geassocieerd is." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "De hoeveelheid voorraad die verplaatst is." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" +"Wordt gebruikt om verschillende magazijnbewegingen samen te groeperen." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "De huidige status van de stockbeweging." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "Waar de voorraad naartoe wordt verplaatst." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "Eenheidsprijs in bedrijfsvaluta." + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "De eenheid waarin de hoeveelheid is opgegeven." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "Het bedrijf waaraan de voorraadperiode is gekoppeld." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "Wanneer de voorraadperiode eindigt." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "De huidige status van de voorraadperiode." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "Vink aan om alleen de hoeveelheid van de opslagzone te gebruiken." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "Het magazijn waarvoor de hoeveelheden worden berekend." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"De datum waarvoor de voorraadhoeveelheid wordt berekend.\n" +"* Een lege waarde berekent zo ver mogelijk vooruit.\n" +"* Een datum in het verleden geeft historische waarden." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "De bewegingen die niet zijn toegewezen." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "Het bedrijf waaraan de verzending is gekoppeld." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "Het adres waarop de leverancier kan worden gecontacteerd." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Wanneer de voorraad daadwerkelijk werd ontvangen." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "De bewegingen die de voorraad naar het magazijn brengen." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "De bewegingen die de voorraad in de opslagruimte plaatsen." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "De hoofdidentificatie voor de zending." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Wanneer wordt verwacht dat de voorraad wordt ontvangen." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "De ID van de leverancier voor de zending." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "De huidige status van de zending." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "De relatie die de voorraad heeft geleverd." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "Waar de voorraad is ontvangen." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "Het bedrijf waaraan de verzending is gekoppeld." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Waar de voorraad naartoe wordt gestuurd." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Toen de voorraad daadwerkelijk werd geretourneerd." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "Waar de voorraad vandaan wordt verplaatst." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "De bewegingen die de voorraad terugsturen naar de leverancier." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "De hoofdidentificatie voor de zending." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Wanneer wordt verwacht dat de voorraad wordt geretourneerd." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "De ID van de leverancier voor de zending." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "De huidige status van de zending." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "De relatie die de voorraad heeft geleverd." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "Waar de voorraad naartoe wordt verplaatst." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "Het bedrijf waaraan de verzending is gekoppeld." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Toen de zending daadwerkelijk was voltooid." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Toen de voorraad daadwerkelijk werd verzonden." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "Waar de voorraad vandaan wordt verplaatst." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "De bewegingen die de vooraad ontvangen." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "De bewegingen die de verzending uitvoeren." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "De hoofdidentificatie voor de zending." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "De bewegingen die de voorraad versturen." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Wanneer de verzending naar verwachting wordt voltooid." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Wanneer wordt verwacht dat de voorraad wordt verzonden." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "De externe ID's voor de zending." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "De huidige status van de zending." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "Waar de voorraad naartoe wordt verplaatst." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" +"Waar de voorraad zich bevindt terwijl deze onderweg is tussen de magazijnen." + +#, fuzzy +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "Waar de voorraad vandaan wordt verzonden." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "Het bedrijf waaraan de verzending is gekoppeld." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "De relatie die de voorraad heeft gekocht." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Waar de voorraad naartoe wordt gestuurd." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Toen de voorraad daadwerkelijk werd verzonden." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "De bewegingen die de voorraad uit het magazijn halen." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "De hoofdidentificatie voor de zending." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "De bewegingen die de voorraad naar de klant sturen." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Wanneer wordt verwacht dat de voorraad wordt verzonden." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "De ID van de klant voor de zending." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "De huidige status van de zending." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "Waar de voorraad vandaan wordt verzonden." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "Het bedrijf waaraan de verzending is gekoppeld." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "De relatie die de voorraad heeft gekocht." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "Het adres waar de klant kan worden gecontacteerd op." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "Wanneer de voorraad werd geretourneerd." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "De bewegingen die de voorraad naar het magazijn brengen." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "De bewegingen die de voorraad in de opslagruimte plaatsen." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "De hoofdidentificatie voor de zending." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Wanneer wordt verwacht dat de voorraad wordt geretourneerd." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "De ID van de klant voor de zending." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "De huidige status van de zending." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "Waar de voorraad wordt geretourneerd." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "voorraden" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Voorraadregels" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "locaties" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Locatie doorlooptijd" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Hoeveelheidslijst per locatie" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "boomstructuur hoeveelheden per locatie" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "locaties" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "beweging" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periodes" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Revisie kostprijs" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Voorraadbeweging" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Producthoeveelheden per magazijn" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "voorraad bewegingen per magazijn" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Producten per locatie" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Leverancierszendingen" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Interne verzending" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Klant zending" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Klant zending" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Leverancierszendingen" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Instellingen" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "(Restocking List)Uitzetlijst" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Interne verzending" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Afleveringsbon" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "(Picking List)uitzet lijst" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "(Restocking List)Uitzetlijst" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "tellen" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Producthoeveelheden per magazijn" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Voorraadbeweging" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Kostprijs wijzigen" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Kostprijs herberekenen" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Wijs retourzending leverancier toe" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "wijs Interne verzending toe" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Klantverzending toewijzen" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Concept" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Alles" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "Van leveranciers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "Wachten van leveranciers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "Aan klanten" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Concept" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Ontvangen" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "toegewezen" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "toegewezen" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Concept" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "In afwachting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "toegewezen" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "toegewezen" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Concept" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "verzoeken" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "verzonden" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "In afwachting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "toegewezen" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "toegewezen" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Concept" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "verpakt" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "verzameld" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "In afwachting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Alle" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Concept" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Ontvangen" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" +"U kunt de relatie \"%(party)s\" niet verwijderen terwijl ze leveringen in " +"behandeling hebben bij bedrijf \"%(company)s\"." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" +"Ongeldige kostprijs \"%(cost_price)s\" voor product \"%(product)s\" met " +"uitzondering \"%(exception)s\"." + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "Geen bestaande regel gevonden voor \"%(search)s\"." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "De voorraden \"%(inventories)s\" hebben data in de toekomst." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "Om de inventaris \"%(inventory)s\" te verwijderen, moet u deze annuleren." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" +"Om inventarisregel \"%(line)s\" te verwijderen, moet u de inventaris " +"\"%(inventory)s\" annuleren." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "Voorraadregelhoeveelheid moet positief zijn." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "Voorraadregel \"%(line)s\"is niet uniek op voorraad \"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" +"Om de inventaris \"%(inventory)s\" te bevestigen, moet u voorraadverschillen" +" (lost_and _found) op de parent locatie aanzetten \"%(location)s\"." + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" +"Om de inventaris \"%(inventory)s\" te bevestigen, moet u een optie voor de " +"lege hoeveelheid selecteren." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" +"Om locatie \"%(location)s\" in te stellen als opslag / invoer / uitvoer van " +"magazijn \"%(warehouse)s\", moet deze zich in het magazijn bevinden." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "Om locatie \"%(location)s\" te ideactiveren, moet deze leeg zijn." + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" +"U kunt het type van locatie \"%(location)s\" niet wijzigen in \"%(type)s\n" +"omdat het type geen bewegingen ondersteunt en de bestaande locatie bewegingen heeft." + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" +"Als u voorraad bewegingen \"%(move)s\" wilt verwijderen, moet u deze " +"annuleren of de status opnieuw instellen op concept." + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "De bewegingen \"%(moves)s\" hebben een ingangsdatums in de toekomst." + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "De bron en bestemming van voorraadbeweging moeten verschillend zijn." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "De hoeveelheid van interne verplaatsing moet positief zijn." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" +"Om voorraadbeweging \"%(move)s\" te wijzigen, moet u de status opnieuw " +"instellen op concept." + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" +"U kunt voorraadbeweging \"%(move)s\" niet wijzigen omdat deze is " +"geannuleerd." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" +"U kunt voorraadbeweging \"%(move)s\" niet wijzigen omdat deze al klaar is." + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" +"Om voorraadbeweging \"%(move)s\" te wijzigen, moet u periode \"%(period)s\" " +"opnieuw openen." + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "Voorraadbewegingen \"%(moves)s\" hebben geen oorsprong." + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "de hoeveelheid van de beweging moet positief zijn." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "U kunt geen periode sluiten met toegewezen bewegingen erin." + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" +"U kunt geen periodes afsluiten met een datum in de toekomst of vandaag." + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"U kan de kostprijs van eenproduct dat is gekoppeld aan voorraadbewegingen niet wijzigen.\n" +"U moet de wizard \"Kostprijs bijwerken\" gebruiken." + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"U kunt de standaard maat eenheid van een product dat gekoppeld is aan een " +"voorraadbewegingen niet wijzigen." + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"U kunt het type van het product dat is gekoppeld aan een voorraadbewegingen " +"niet wijzigen." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "Om zending \"%(shipment)s\" te verwijderen, moet u deze annuleren." + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Bedrijf" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Valuta" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Nummer" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "Weet u zeker dat u de inventaris wilt annuleren?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "Weet u zeker dat u de inventaris wilt bevestigen?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "Weet je zeker dat je de beweging wilt annuleren?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "Weet je zeker dat je de beweging wilt voltdooien?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Weet u zeker dat u de zending wilt ontvangen?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Weet u zeker dat u de zending wilt voltooien?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "Weet u zeker dat u de zending wilt voltooien?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "Weet u zeker dat u de zending wilt ontvangen?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Voeg een inventarisregel toe voor alle ontbrekende producten" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "Start de wizard om producten te tellen" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "Voltooien" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Bevestigen" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "Tellen" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Terug naar concept" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Sluiten" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Concept" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Klaar" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Terug naar concept" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Te ontvangen" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Toewijzen" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Klaar" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Concept" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "wachten" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Toewijzen" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Klaar" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Concept" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "verzenden" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "wachten" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Toewijzen" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Klaar" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Concept" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "verpak" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "verzamelen" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Klaar" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Concept" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Te ontvangen" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "wachten" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Gebruiker in bedrijven" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Gebruiker in bedrijven" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "Gebruiker in het bedrijf" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventaris" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Zending leverancier" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Retourzending leverancier" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Interne verzending" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Klant zending" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Retourzending klant" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventaris" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Zending leverancier" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Retourzending leverancier" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Interne verzending" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Klant zending" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Retourzending klant" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Instellingen" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "voorraden" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "locaties" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "locaties" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Locatie doorlooptijd" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "locaties" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Boekingen/bewegingen" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periodes" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Rapporten" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Oorsprong" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Leverancierszendingen" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Interne verzending" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Klant zending" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventaris & voorraad" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Instellingen" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Relatie locatie" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Product op locatie" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "Product Kostprijs Herziening" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Kostprijs wijzigen" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Kostprijs herberekenen" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Voorraad" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Voorraadadministratie" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock ge Forceerde-toewijzing" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Voorraadconfiguratie" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Voorraadconfiguratielocatie" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Volgorde van voorraadconfiguratie" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "inventaris van de voorrad" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "voorraad inventaris telling" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "voorraad inventaris telling" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "voorraad inventaris lijn" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Voorraad locatie" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Klant" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "inventaris verschil" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Opslagzone" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Leverancier" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "doorvoer" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Locatie doorlooptijd" + +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Magazijnafvallocatie" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Voorraadbeweging" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Voorraad periode" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Voorraadperiode Cache" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Producthoeveelheden per magazijn" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Producthoeveelheden per magazijn" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Producthoeveelheden per magazijnbewegingen" + +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Producten per locatie" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Producten per locatie" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Zending toewijzen" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Zending leverancier" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Retourzending leverancier" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Interne verzending" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Klant zending" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Retourzending klant" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Van locatie" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Geplande datum:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Product" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Referentie:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "(Restocking List)Uitzetlijst" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Zendingsnummer" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Leverancier:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Naar locatie" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Magazijn:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Van locatie" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Van locatie:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Interne verzending" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Geplande datum:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Product" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Referentie:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Zendingsnummer" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Naar locatie" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Naar locatie:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Klantencode:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Datum:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Afleveringsbon" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Product" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Referentie:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Zendingsnummer:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Klant:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Van locatie" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "(Picking List)uitzet lijst" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Geplande datum:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Product" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Referentie:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Zendingsnummer" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Naar locatie" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Magazijn:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Klant" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Van locatie" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Nummer" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Geplande datum:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Product" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Hoeveelheid" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Referentie:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "(Restocking List)Uitzetlijst" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Levering" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Naar locatie" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Magazijn:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Klantverzending toewijzen" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "wijs Interne verzending toe" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Kostprijs berekenen van bewegingen" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Klantzendingen opnieuw inplannen" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Interne zendingen opnieuw plannen" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Plan retourzendingen van leveranciers opnieuw" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "Leeg" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "Houden" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Klaar" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Concept" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Product" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Klant" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Directe levering" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "inventaris verschil" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Productie" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "magazijn" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Leverancier" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "weergaves" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Magazijn" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "toegewezen" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Klaar" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Concept" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "tussentijsds( Staging)" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Afgesloten" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Concept" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Product" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Variant" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Product" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Variant" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Klaar" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Concept" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Ontvangen" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "toegewezen" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Klaar" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Concept" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "In afwachting" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "toegewezen" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Klaar" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Concept" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Verzoek" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "verzonden" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "In afwachting" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "toegewezen" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Klaar" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Concept" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "verpakt" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "verzameld" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "In afwachting" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Geannuleerd" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Klaar" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Concept" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Ontvangen" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Voorraad" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "Het magazijn waar u werkt." + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventaris" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Leveringen" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Kosten" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Kan deze producten niet toewijzen:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Overige informatie" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Overige informatie" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Overige informatie" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Overige informatie" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Overige informatie" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Uitgaande bewegingen" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Annuleren" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Annuleren" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "herberekenen" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "Toevoegen" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "Einde" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "Selecteer" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Annuleer" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wachten" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "Dwingen" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "Negeren" diff --git a/modules/stock/locale/pl.po b/modules/stock/locale/pl.po new file mode 100644 index 0000000000..e432367914 --- /dev/null +++ b/modules/stock/locale/pl.po @@ -0,0 +1,3456 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Dostawa" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Dostawa" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Lokalizacja klienta" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Lokalizacje" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Lokalizacja dostawcy" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Lokalizacja klienta" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Strona" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Lokalizacja dostawcy" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Na dzień" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Na dzień" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Firma" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Cena kosztów" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Wariant" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Cena kosztów" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Wartość kosztu" + +#, fuzzy +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Ilość przewidywana" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "Od" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Wartość kosztu" + +#, fuzzy +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Ilość przewidywana" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Ilość" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Magazyn" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +#, fuzzy +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Sekwencja wysyłki od dostawcy" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Wiersze" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Lokalizacja" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Numer" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Wiersze" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Cyfry jednostki" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "Jm" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Szukaj" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Oczekiwana ilość" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Lokalizacja" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Ruchy" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Produkt" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Cyfry jednostki" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "Jm" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Adres" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Lokalizacje podrzędne" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Kod" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Wartość kosztu" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Ilość przewidywana" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Wejście" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "W lewo" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Zgubione i znalezione" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nazwa" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Wyjście" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Lokalizacje nadrzędne" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Ilość" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Ilość" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Cyfry jednostki" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "W prawo" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Typ lokalizacji" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Magazyn" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Lokalizacja strony" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Magazyn" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Czas przesunięcia" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Z magazynu" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Do magazynu" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Lokalizacja strony" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Magazyn" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Cena kosztów" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Wymagana cena jednostkowa" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Waluta" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Data rzeczywista" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Z lokalizacji" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Źródło" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Data planowana" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Produkt" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Kategoria jm produktu" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Wysyłka" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Do lokalizacji" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Cyfry jednostki" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Cena jednostkowa" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Cena jednostkowa" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Wymagana cena jednostkowa" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Cena jednostkowa" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Jm" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Lokalizacja" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Okres" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produkt" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Ilość" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Magazyn" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Ruchy" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Źródło" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Wartość kosztu" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Ilość przewidywana" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Na dzień" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Na dzień" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Waluta" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Waluta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Lokalizacje podrzędne" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nazwa" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Lokalizacje nadrzędne" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Firma" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Z lokalizacji" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Okres" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Waluta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Ilość przewidywana" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Cyfry jednostki" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Waluta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Ilość przewidywana" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Cyfry jednostki" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Ruchy" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Adres kontaktowy" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Wykonano przez" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Data rzeczywista" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Ruchy" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Numer" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Źródła" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Data planowana" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referencja" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Dostawca" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Lokalizacja dostawcy" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Magazyn" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adres dostawy" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Wykonano przez" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Data rzeczywista" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Z lokalizacji" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Ruchy" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Numer" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Źródła" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Data planowana" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referencja" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Dostawca" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Do lokalizacji" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Firma" + +#, fuzzy +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Wykonano przez" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Data rzeczywista" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Rzeczywista data rozpoczęcia" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Z lokalizacji" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Ruchy" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Numer" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Data planowana" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Zaplanowana data rozpoczęcia" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referencja" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Do lokalizacji" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Magazyn" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Klient" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Lokalizacja klienta" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Adres dostawy" + +#, fuzzy +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Wykonano przez" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Rzeczywista data" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Ruchy" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Numer" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Źródła" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Packed" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Data planowana" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referencja" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Magazyn" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Firma" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Odbiorca" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Lokalizacja odbiorcy" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adres dostawy" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Wykonano przez" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Rzeczywista data" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Ruchy" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Numer" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Źródła" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Planowana data" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referencja" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Stan" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Magazyn" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Lokalizacje" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Cena kosztów" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Ruchy" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Produkty wg lokalizacji" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipment" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipment" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Konfiguracja" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Ruchy" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Cena kosztów" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "Brak możliwości zmiany typu dla produktu wykazującego ruch." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"Brak możliwości zmiany domyślnej jednostki miary dla produktu wykazującego " +"ruch." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "Brak możliwości zmiany typu dla produktu wykazującego ruch." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Firma" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Waluta" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Numer" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Zamknij" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Konfiguracja" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Źródła" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipment" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipment" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Konfiguracja" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Lokalizacja strony" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Produkt wg lokalizacji" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Cena kosztów" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Konfiguracja zapasów" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Klient" + +#, fuzzy +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +#, fuzzy +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Dostawca" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Magazyn" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Czas przesunięcia między magazynami" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Lokalizacja klienta" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Ilości produktów wg magazynu" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Ilości produktów wg magazynu" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Produkty wg lokalizacji" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Produkty wg lokalizacji" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +#, fuzzy +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Z lokalizacji" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Data planowana:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Produkt" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Referencja:" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Numer wysyłki" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Dostawca:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Do lokalizacji" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Magazyn:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Z lokalizacji" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Z lokalizacji:" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Data planowana:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Produkt" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Referencja:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Numer wysyłki" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Do lokalizacji" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Do lokalizacji:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Kod odbiorcy:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Data:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "List przewozowy" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Produkt" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Referencja" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Numer wysyłki:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Odbiorca:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Z lokalizacji" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Data planowana:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Produkt" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Referencja:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Numer wysyłki" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Do lokalizacji" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Magazyn:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Odbiorca" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Z lokalizacji" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Numer" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Data planowana:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Produkt" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Ilość" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Referencja:" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Wysyłka" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Do lokalizacji" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Magazyn:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipment" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Anulowano" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Wykonano" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Produkt" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Odbiorca" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Zgubione i znalezione" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Produkcja" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Dostawca" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Widok" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Magazyn" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Przydzielono" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Anulowano" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Wykonano" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Draft" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Zamknięto" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "Wariant" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produkt" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "Wariant" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Anulowano" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Wykonano" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Draft" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Odebrany" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Przydzielono" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Anulowano" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Wykonano" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Draft" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Oczekujący" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Przydzielono" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Anulowano" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Wykonano" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Oczekujący" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Przydzielono" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Anulowano" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Wykonano" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Packed" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Oczekujący" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Anulowano" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Wykonano" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Draft" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Otrzymany" + +#, fuzzy +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Stock" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Wysyłki" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Wartość kosztu" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Inne informacje" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Inne informacje" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Inne informacje" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Inne informacje" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Inne informacje" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/pt.po b/modules/stock/locale/pt.po new file mode 100644 index 0000000000..5fcf02db8a --- /dev/null +++ b/modules/stock/locale/pt.po @@ -0,0 +1,3456 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Entrega" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Entrega" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Localização do cliente" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Locais" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Localização do fornecedor" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Localização do Cliente" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Pessoa" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Localização do Fornecedor" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Na Data" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Na Data" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Empresa" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Preço de custo" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Produto" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Preço de custo" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Valor de Custo" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Previsão da quantidade" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Valor de Custo" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantidade Prevista" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Almoxarifado" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Sequência do Inventário" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Sequência de Remessa de Devolução ao Fornecedor" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Sequência de Remessa do Fornecedor" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Sequência de Remessa Interna" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Trânsito de Remessa Interna" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Sequência de Devolução do Cliente" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Sequência de Remessa ao Cliente" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Trânsito de Remessa Interna" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Sequência de Inventório" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Sequência de Remessa de Devolução ao Fornecedor" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Sequência de Remessa do Fornecedor" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Sequência de Remessa Interna" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Sequência de Devolução do Cliente" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Sequência de Remessa ao Cliente" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Linhas" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Localização" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Estado" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Linhas" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Produto" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos da unidade" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "UM" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Quantidade esperada" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventário" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Localização" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Estado do Inventário" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Movimentações" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Produto" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos da unidade" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "UM" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Endereço" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Filhos" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Código" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Valor de Custo" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Filhos planificados" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Quantidade Prevista" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Entrada" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Esquerda" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Achados e Perdidos" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Nome" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Saída" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Pai" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Retira" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Quantidade" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Dígitos da unidade" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Direita" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Armazenamento" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Tipo da localização" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Almoxarifado" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Localização do Trânsito" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Almoxarifado" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Tempo de Espera" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Do Almoxarifado" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Para o Almoxarifado" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Localização do Trânsito" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Almoxarifado" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Atribuição Obrigatória" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Preço de custo" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Preço Unitário Obrigatório" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Moeda" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Data efetiva" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Origem" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantidade interna" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Origem" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Data planejada" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Produto" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Categoria da UDM do Produto" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Remessa" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Destino" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos da unidade" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Preço unitário" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Preço unitário" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Preço Unitário Obrigatório" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Preço unitário" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "UDM" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Provisões" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantidade interna" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Localização" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Período" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Produto" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produto" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Almoxarifado" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Movimentações" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Origem" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produto" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Valor de Custo" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Previsão da quantidade" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Produto" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Na Data" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Na data" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Moeda" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Moeda" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Filhos" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Nome" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Pai" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Empresa" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Origem" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Período" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Moeda" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantidade interna" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Produto" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos da unidade" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Moeda" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Data" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Quantidade interna" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Produto" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Dígitos da unidade" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Movimentações" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Endereço de contato" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Feito Por" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Data efetiva" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Movimentações de Entrada" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Movimentações Internas" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Movimentações" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Origens" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Data planejada" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Recebido Por" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referência" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Fornecedor" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Localização do fornecedor" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Almoxarifado" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Entrada do Almoxarifado" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Armazenamento do Almoxarifado" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Atribuído Por" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Endereço para Entrega" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Feito Por" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Data efetiva" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Origem" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Movimentações" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Origens" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Data planejada" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referência" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Fornecedor" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Destino" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Recebido Por" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Feito Por" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Data efetiva" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Data Efetiva de Início" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Origem" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Movimentações de Entrada" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Movimentações" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Movimentações de Saída" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Data planejada" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Data Planejada de Início" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referência" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Enviado Por" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Destino" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Localização do Trânsito" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Almoxarifado" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Localização do Cliente" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Endereço para entrega" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Feito Por" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Data efetiva" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Movimentações Internas" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Movimentações" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Origens" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Movimentações de Saída" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Empacotado Por" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Empacotado Por" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Data planejada" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referência" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Almoxarifado" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Saída do Almoxarifado" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Armazenamento do Almoxarifado" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Empresa" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Localização do Cliente" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Endereço para entrega" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Feito Por" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Data efetiva" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Movimentações de Entrada" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Movimentações Internas" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Movimentações" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Número" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Origens" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Data planejada" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Recebido Por" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referência" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Estado" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Almoxarifado" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Entrada do Almoxarifado" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Armazenamento do Almoxarifado" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +#, fuzzy +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Destino padrão ao enviar ao cliente." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +#, fuzzy +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Destino padrão ao enviar ao cliente." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Preço de custo" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Movimentação do estoque" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Produtos por Localizações" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Movimentação do estoque" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Preço de custo" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Reservar Devolução ao Fornecedor" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "Linha não encontrada para %(search)s." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "A quantidade na movimentação interna deve ser um valor positivo" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "A quantidade na movimentação interna deve ser um valor positivo" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "A quantidade na movimentação deve ser um valor positivo" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"Você não pode modificar o tipo de um produto que está associado a " +"movimentações do estoque." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"Você não pode modificar a UDM padrão de um produto associado a movimentações" +" no estoque" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"Você não pode modificar o tipo de um produto que está associado a " +"movimentações do estoque." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Empresa" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Moeda" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Número" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Retira" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Origens" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Localização da Pessoa" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Produto por Local" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Preço de custo" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Configuração do estoque" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Configuração de Estoque do Local" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Configuração de Estoque Sequência" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Inventário do estoque" + +#, fuzzy +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Linha de inventário do estoque" + +#, fuzzy +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Linha de inventário do estoque" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Linha de inventário do estoque" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Localização do estoque" + +#, fuzzy +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +#, fuzzy +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +#, fuzzy +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Supplier" + +#, fuzzy +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +#, fuzzy +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Tempo de Espera da Localização" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Localização do Trânsito" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Movimentação do estoque" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Período do Estoque" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Reserva de Período do Estoque" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Quantidade de Produto por Almoxarifado" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Quantidade de Produto por Almoxarifado" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Produtos por Localizações" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Produtos por Localizações" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Remessa do Fornecedor" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Devolução ao Fornecedor" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Remessa Interna" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Remessa ao Cliente" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Devolução do Cliente" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Origem" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Data Planejada:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Produto" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Referências" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Relação para re-estocagem" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Número da Remessa" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Fornecedor:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Destino" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Almoxarifado:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Origem" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Origem:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Remessa Interna" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Data Planejada:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Produto" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Referência:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Número da Remessa" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Destino" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Destino:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Código do Cliente:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Data:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Notificação de entrega" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Produto" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Referência:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Número da Remessa:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Cliente:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Origem" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Relação para separação" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Data Planejada:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Produto" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Referência:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Número da Remessa" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Destino" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Almoxarifado" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Origem" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Número" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Data Planejada:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Produto" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Quantidade" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Referência:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Relação para re-estocagem" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Remessa" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Destino" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Almoxarifado" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Feito" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Rascunho" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Produto" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Cliente" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Entrega direta" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Achados e Perdidos" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Produção" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Armazenamento" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Fornecedor" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Exibir" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Almoxarifado" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Reservado" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Feito" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Rascunho" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "Em processamento" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Fechado" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Rascunho" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produto" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produto" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Feito" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Rascunho" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Recebido" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Reservado" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Feito" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Rascunho" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Em Espera" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Reservado" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Feito" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Rascunho" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Soliditado" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Enviado" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Em Espera" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Reservado" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Feito" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Rascunho" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Empacotado" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Empacotado" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Em Espera" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Cancelado" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Feito" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Rascunho" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Recebido" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Estoque" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventário" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Remessas" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Valor de Custo" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +#, fuzzy +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Não é possível reservar estes produtos:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Outras Informações" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Outras Informações" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Outras Informações" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Outras Informações" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Outras Informações" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Movimentações de Saída" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "OK" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/ro.po b/modules/stock/locale/ro.po new file mode 100644 index 0000000000..a5a67921db --- /dev/null +++ b/modules/stock/locale/ro.po @@ -0,0 +1,3275 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Livrare" + +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Livrare" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Locaţia Client" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Locaţii" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Locaţia Furnizor" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Locaţia Client" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Parte" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Locaţia Furnizor" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "La Data" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "La Data" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Preţ de Cost Nou" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "Varianta" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Preţ de Cost Nou" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Valoare Cost" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoza Cantitate" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "De la" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Valoare Cost" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoza Cantitate" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Depozit Curent" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Secvenţa Inventar" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Secvența Retur Expediere Furnizor" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Secvența Expediere Furnizor" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Secvența Transport Intern" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transport Intern Tranzit" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Secvența Retur Transport Client" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Secvența Transport Client" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Transport Intern Tranzit" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Secvenţa Inventar" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Secvența Retur Transport Furnizor" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Secvența Transport Furnizor" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Secvența Transport Intern" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Secvența Retur Transport Client" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Secvența Transport Client" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "Cantitate Goală" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Rânduri" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Locație" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Număr" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Rând" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "Cantitate Totală" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Zecimale Unitate" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "UM" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "Căutare" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "Căutare Model" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Cantitate Așteptată" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventar" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Locație" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Stare Inventar" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Mișcari" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Zecimale Unitate" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "UM" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Adresa" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Copii" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Cod" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Valoare Cost" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "Copii Plat" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoza Cantitate" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Intrare" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Rămas" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Pierdut și Găsit" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Denumire" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Ieșire" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Părinte" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Picking" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Cantitate UM" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Cantitate UM Zecimale" + +#, fuzzy +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Corect" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Depozitare" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Tip Locație" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Depozit" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Locații Deșeuri" + +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Depozit Deșeuri" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Timp Execuție" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Din Depozit" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Către Depozit" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Locație Deșeuri" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Depozit" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Atribuire Obligatorie" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Cost" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Cost Obligatoriu" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Valută" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Data Efectivă" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Din locație" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantitate Internă" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Origine" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Data Planificată" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Categorie UM Produs" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Expediere" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Spre Locație" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Zecimale Unitate" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Preț unitar" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Preț unitar" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Preț Unitar Obligatoriu" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Preț Unitar Actualizat" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Um" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantitate Internă" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Locație" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Perioadă" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Zonă exclusiv pentru depozitare" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Depozit" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "Diferență Cumulată Cantitativă" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "Cantitate Cumulată Sfârșit" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "Cantitate Cumulată Început" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "Document" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Mișcare" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Origine" + +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "Consumabil" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Valoare Cost" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "UM Implicită" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "Zecimale Implicite UM" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Prognoza Cantitate" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Produs" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "La Data" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "La Data" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "Categorie" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Valută" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "Seria de timp" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "Categorie" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Valută" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Copii" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Denumire" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Părinte" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Din data" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "Include Pierdute" + +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Perioadă" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Până la Data" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Valută" + +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantitate Internă" + +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "Seria de timp" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "Unitate" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Zecimale Unitate" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Valută" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Data" + +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Cantitate Internă" + +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "Unitate" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Cifre de unitate" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Mișcări" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Adresa de Contact" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Făcut De" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Data Efectivă" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Mișcări Intrare" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Mișcări Inventar" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Mișcari" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Număr" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Origine" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Data Planificată" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Primit De" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Referinţă" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Furnizor" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Locaţia Furnizor" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Depozit" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Intrare Depozit" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Depozit Depozitare" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Atribuit De" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adresa de Livrare" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Făcut De" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Data Efectivă" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Din locație" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Mișcari" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Număr" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Origine" + +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Parțial Atribuit" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Data Planificată" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Referinţă" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Furnizor" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Spre Locație" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Primit De" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Făcut De" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Data Efectivă" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Data de Pornire Efectivă" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Din locație" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Mișcări Intrare" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Mișcari" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Număr" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Mișcări Ieșire" + +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Parțial Atribuit" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Data Planificată" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Data de Pornire Planificată" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Referinţă" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Expediat De" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Spre Locație" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Locaţie Tranzit" + +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Depozit" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Client" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Locaţia Client" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Adresa de Livrare" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Făcut De" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Data Efectivă" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Mișcări Inventar" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Mișcari" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Număr" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Origine" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Mișcări Ieșire" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Ambalat De" + +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Parțial Atribuit" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Colectat De" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Data Planificată" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Referinţă" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Depozit" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Ieşire Depozit" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Depozit Depozitare" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Companie" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Client" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Locaţia Client" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Adresa de Livrare" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Făcut De" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Data Efectivă" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Mișcări Intrare" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Mișcări Inventar" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Mișcari" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Număr" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Origine" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Data Planificată" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Primit De" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Referinţă" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Stare" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Depozit" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Intrare Depozit" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Depozit Depozitare" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "Bifaţi pentru a trimite livrări către această adresă." + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "Bifaţi pentru a utiliza pentru livrare." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"Locaţie Implicită ca destinaţie pentru stoc care se trimite către parte." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "Locaţie Implicită ca sursă pentru stoc care se primeşte de la parte." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"Locaţie Implicită ca destinaţie pentru stoc care se trimite către parte." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "Locaţie Implicită ca sursă pentru stoc care se primeşte de la parte." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Data pentru care cantitatea stocului este calculată.\n" +"* Nicio dată calculează cât se poate mai departe în viitor.\n" +"* O dată în trecut arată valori istorice." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"O expresie python care va fi evaluată cu:\n" +"-cost_price: costul curent al produsului" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"O expresie python care va fi evaluată cu:\n" +"-cost_price: costul curent al produsului" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "Valoarea stocului pentru locaţie." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Cantitatea de stoc aşteptată la locaţie." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "Cantitatea de stoc în locaţie." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "Valoarea stocului pentru locaţie." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Cantitatea de stoc aşteptată la locaţie." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "Cantitatea de stoc în locaţie." + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "Depozitul la care lucrează utilizatorul." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "Utilizat pentru a genera numărul dat la inventare." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" +"Utilizat pentru a genera numărul dat la expedieri de retur către furnizor." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "Utilizat pentru a genera numărul dat la expedieri de la furnizor." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "Utilizat pentru a genera numărul dat la expedieri interne." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"Locaţia implicită utilizată pentru stoc care este în tranzit între depozite." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" +"Utilizat pentru a genera numărul dat la expedieri de retur de la client." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "Utilizat pentru a genera numărul dat la expedieri către client." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" +"Locaţia implicită utilizată pentru stoc care este în tranzit între depozite." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "Compania cu care este asociat inventarul." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "Data la care s-a numărat stocul." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "Cum se gestionează rânduri fără o cantitate." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "Locaţia a fost inventariată." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "Identificatorul principal al inventarului." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "Starea curentă al inventarului." + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "Cantitatea de adăugat la numărătoarea existentă." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "Suma totală din rândurile numărate până acum." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "Unitatea în care este specificată cantitatea." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "Articolul care este numărat." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "Cantitatea calculată de sistem care ar trebui să fie în locaţie." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "Inventarul de care aparţine rândul." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "Cantitatea faptică găsită în locaţie." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Unitatea în care este exprimată cantitatea." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "Utilizat pentru a adăuga structura sub locaţie." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "Identificatorul intern utilizat pentru locaţie." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "Valoarea stocului pentru locaţie." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "Bifaţi pentru a impune un sigur nivel de copii fără nepoţi." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "Cantitatea de stoc aşteptată la locaţie." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "Unde se recepţionează stocuri primite." + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "Utilizat când se corectează nivelul stocului în depozit." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "De unde se trimite stocul care iese." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "Utilizat pentru a adăuga structura deasupra locaţiei." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"De unde este colectat stocul.\n" +"Lăsaţi gol pentru a utiliza locaţia de stocare." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "Cantitatea de stoc în locaţie." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "Locaţiile utilizate pentru produse deşeu de la depozit." + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "Depozitele care folosesc locaţia pentru deşeuri." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "Timpul necesar pentru a muta stoc între depozite." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "Compania cu care este asociată mişcarea de stoc." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "Valuta în care este specificat preţul unitar." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "Când stocul a fost mutat faptic." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "De unde a fost mutat stocul." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "Sursa mişcării de stoc." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "Când se aşteaptă să se mute stocul." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "Produsul cu care este asociată mişcarea." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "Cantitatea de stoc mişcată." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "Utilizat pentru a grupa mişcări de stoc." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "Starea curentă a mişcării de stoc." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "Unde este mutat stocul." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "Preţul unitar în valuta companiei." + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "Unitatea în care este exprimată cantitatea." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "Compania cu care este asociată perioada de stoc." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "Când se termină perioada de stoc." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "Starea curentă a perioadei de stoc." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "Bifaţi pentru a folosi numai cantitatea zonei de stocare." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "Depozitul pentru care vor fi calculate cantităţile." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"Data pentru care cantitatea stocului este calculata.\n" +"* Nicio dată calculează cât se poate mai departe în viitor.\n" +"* O dată în trecut arată valori istorice." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" +"Dacă este bifat, costul produsului mutat la o locaţie pierdute şi găsite " +"este inclus." + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "Mişcările care nu au fost atribuite." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "Compania cu care este asociată expedierea." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "Adresa la care poate fi contactat furnizorul." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "Când stocul a fost recepţionat faptic." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Mişcările care aduc stocul în depozit." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Mişcările care pun stocul în zonă de stocare." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "Identificatorul principal pentru expediere." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "Când se aşteaptă să sosească stocul." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "Identificatorul furnizorului pentru expediere." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "Starea curentă a expedierii." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "Partea care a furnizat stocul." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "Unde se recepţionează stocul." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "Compania cu care este asociată expedierea." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Unde este trimis stocul." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "Când stocul a fost returnat faptic." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "De unde a fost mutat stocul." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "Mişcarea care returnează stocul la furnizor." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "Identificatorul principal pentru expediere." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Când se aşteaptă sa se returneze stocul." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "Identificatorul furnizorului pentru expediere." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "Starea curentă a expedierii." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "Partea care a furnizat stocul." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "Unde este mutat stocul." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "Compania cu care este asociată expedierea." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "Când s-a completat expedierea faptic." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "Când stocul a fost trimis faptic." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "De unde a fost mutat stocul." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "Mişcările care recepţionez stocul." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "Mişcările care fac expedierea." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "Identificatorul principal pentru expediere." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "Mişcările care trimit stocul." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "Când se aşteaptă să se completeze expediere." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "Când se aşteaptă să se trimită stocul." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "Identificatori externi ai expedierii." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "Starea curentă a expedierii." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "Unde este mutat stocul." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "Unde este stocul când este în tranzit între depozite." + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "De unde este trimis stocul." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "Compania cu care este asociată expedierea." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "Partea care a achiziţionat stocul." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "Unde este trimis stocul." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "Când stocul a fost trimis faptic." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "Mişcările care iau stocul de la zona de stocare." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "Identificatorul principal pentru expediere." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "Mişcările care trimit stocul la client." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "Când se aşteaptă să se trimită stocul." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "Identificatorul clientului pentru expediere." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "Starea curentă a expedierii." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "De unde este trimis stocul." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "Compania cu care este asociată expedierea." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "Partea care a achiziţionat stocul." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "Adresa la care poate fi contactat clientul." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "Când a fost returnat stocul." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "Mişcările care aduc stocul în depozit." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "Mişcările care pun stocul în zona de stocare." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "Identificatorul principal pentru expediere." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "Când se aşteaptă sa se returneze stocul." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "Identificatorul al clientului pentru expediere." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "Starea curentă a expedierii." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "Unde se returnează stocul." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventare" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Rânduri Inventar" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locaţii" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Timp de Execuţie Locaţii" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locaţii Lista Cantităţi" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Arbore Cantitate Locaţii" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locaţii" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Mișcări" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Perioade" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Revizuire a Preţului de Cost" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Mişcări Stoc" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Cantităţi de Produs după Depozit" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Mişcări de Stocuri După Depozit" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Produse după Locație" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "Marja după Categorie" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "Marja după Categorie" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "Marja după Categorie" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "Marja după Produs" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "Marja după Produs" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Expedieri Furnizor" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "Retururi" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Expedieri Interne" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Expedieri Client" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Expedieri Client" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Expedieri Furnizor" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "Retururi" + +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configurare" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Expediere Interna" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Aviz de Însoţire a Mărfii" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Lista Picking" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "Numărare" + +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Cantităţi de Produs după Depozit" + +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Mişcări Stoc" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Modificare Cost" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recalculare Cost" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Atribuire Expediere Retur Furnizor" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Atribuire Expediere Internă" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "Atribuire Expediere Client" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "Totul" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "Totul" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "De la Furnizori" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "În Aşteptare de la Furnizori" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "La Clienţi" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "Totul" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Recepţionat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "Totul" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Atribuit" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Parțial Atribuit" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "În Aşteptare" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "Totul" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Atribuit" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Parțial Atribuit" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Cereri" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Expediat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "În Aşteptare" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "Totul" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Atribuit" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Parțial Atribuit" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Ambalat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Colectat" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "În Aşteptare" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "Totul" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Recepţionat" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" +"Nu se poate şterge \"%(party)s\" când au expedieri în aşteptare cu compania " +"\"%(company)s\"." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" +"Cost invalid \"%(cost_price)s\" pentru produs \"%(product)s\" cu excepţia " +"\"%(exception)s\"." + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "Nu s-a găsit un rând existent pentru \"%(search)s\"." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "Inventarele \"%(inventories)s\" au data în viitor." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "Pentru a şterge inventarul \"%(inventory)s\" trebuie anulat." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" +"Pentru a șterge rând inventar \"%(line)s\" trebuie anulat inventarul " +"\"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "Cantitatea rând inventar trebuie să fie pozitivă." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "Rând inventar \"%(line)s\" nu este unic în inventar \"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "Sursa şi destinaţia unei mişcări de stoc trebuie sa fie diferite." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "Cantitatea unei mişcări interne trebuie să fie pozitivă." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" +"Pentru a modifica o mişcarea de stoc \"%(move)s, trebuie resetată în stare " +"de draft." + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" +"Nu se poate modifica mişcarea de stoc \"%(move)s\" pentru că este anulată." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Companie" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Zecimale Valută" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Închidere" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "Utilizator în companii" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "Utilizator în companii" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configurare" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Raportare" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configurare" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "" + +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Locația furnizorului" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Produs" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Produs" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Produs" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Produs" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Produs" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Cantitate" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Produs" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Client" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Închis" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Produs" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/ru.po b/modules/stock/locale/ru.po new file mode 100644 index 0000000000..7f864cd2c1 --- /dev/null +++ b/modules/stock/locale/ru.po @@ -0,0 +1,3496 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Доставка" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Доставка" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Местоположение заказчика" + +#, fuzzy +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Местоположения" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Местоположение поставщика" + +#, fuzzy +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Местоположение заказчика" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "" + +#, fuzzy +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Местоположение поставщика" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Организация" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Себестоимость" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Себестоимость" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Цена" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Прогноз количества" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Цена" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Прогноз количества" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Товарный склад" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Нумерация возвратов поставщику" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Нумерация приходов от поставщика" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Нумерация внутреннего перемещения" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Нумерация возвратов от заказчика" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Нумерация отгрузки заказчику" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Нумерация возвратов поставщику" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Нумерация приходов от поставщика" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Нумерация внутреннего перемещения" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Нумерация возвратов от заказчика" + +#, fuzzy +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Нумерация отгрузки заказчику" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Строки" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Местоположение" + +#, fuzzy +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Номер" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Состояние" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Строки" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Кол-во цифр после запятой" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "Ед.изм." + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Ожидаемое количество" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Местоположение" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Перемещения" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Кол-во цифр после запятой" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "Ед.изм." + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Адрес" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Подчиненый" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Код локации" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Цена" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Прогноз количества" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Входящий" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Левая сторона" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Утраченная и обретенная" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Наименование" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Исходящий" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Предок" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Кол-во" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Кол-во цифр после запятой" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Правая сторона" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Хранилище" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Тип местоположения" + +#, fuzzy +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Товарный склад" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Местоположение заказчика" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Товарный склад" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Товарный склад" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Товарный склад" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Местоположение заказчика" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Товарный склад" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Себестоимость" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Требуется цена за единицу" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Валюта" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Учетная дата" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Из местоположения" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Внутреннее количество" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Первоисточник" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Плановая дата" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Категория ед. измерения продукции" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Доставка" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Состояние" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "В местоположение" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Кол-во цифр после запятой" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Цена за единицу" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Цена за единицу" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Требуется цена за единицу" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Цена за единицу" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "Ед.изм." + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Запасы" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Состояние" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Внутреннее количество" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Местоположение" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Период" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Товарный склад" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Дата" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Перемещения" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Первоисточник" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Цена" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Прогноз количества" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Валюта" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Валюта" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Подчиненый" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Наименование" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Предок" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Организация" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Из местоположения" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Период" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Валюта" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Внутреннее количество" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Кол-во цифр после запятой" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Валюта" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Дата" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Внутреннее количество" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Продукт" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Кол-во цифр после запятой" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Перемещения" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Контактный адрес" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Учетная дата" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Входящая поставка" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Учет перемещений" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Перемещения" + +#, fuzzy +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Первоисточник" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Плановая дата" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Ссылка" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Состояние" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Поставщик" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Местоположение поставщика" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Товарный склад" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Вход товарного склада" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Хранилище товарного склада" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Организация" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Адрес доставки" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Учетная дата" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Из местоположения" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Перемещения" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Первоисточник" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Плановая дата" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Ссылка" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Состояние" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Поставщик" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "В местоположение" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Учетная дата" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Из местоположения" + +#, fuzzy +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Входящий груз" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Перемещения" + +#, fuzzy +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Внешнее перемещение" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Плановая дата" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Ссылка" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Состояние" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "В местоположение" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Товарный склад" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Заказчик" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Местоположение заказчика" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Адрес доставки" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Учетная дата" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Учет перемещений" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Перемещения" + +#, fuzzy +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Первоисточник" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Внешнее перемещение" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Packed" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Плановая дата" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Ссылка" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Состояние" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Товарный склад" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Выход товарного склада" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Хранилище товарного склада" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Организация" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Заказчик" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Местоположение заказчика" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Адрес доставки" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Учетная дата" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Входящая поставка" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Учет перемещений" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Перемещения" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Номер" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Первоисточник" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Плановая дата" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Ссылка" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Состояние" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Товарный склад" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Вход товарного склада" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Хранилище товарного склада" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +#, fuzzy +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"Местоположение назначения по умолчанию при отправке продукции контрагенту." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +#, fuzzy +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" +"Местоположение назначения по умолчанию при отправке продукции контрагенту." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Себестоимость" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Хранилище перемещение товара" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Продукция по местоположениям" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Хранилище перемещение товара" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Себестоимость" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Возврат груза поставщику" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "Внутреннее перемещение должно быть положительным числом" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "Внутреннее перемещение должно быть положительным числом" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "Кол-во должно быть положительным" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"Вы не можете изменить единицу измерения по умолчанию для продукта, который " +"связан со складом перемещения." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"Вы не можете изменить единицу измерения по умолчанию для продукта, который " +"связан со складом перемещения." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" +"Вы не можете изменить единицу измерения по умолчанию для продукта, который " +"связан со складом перемещения." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Организация" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Валюта" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Номер" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Первоисточник" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +#, fuzzy +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Продукция по местоположениям" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Себестоимость" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Конфигурация склада" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Хранилище опись" + +#, fuzzy +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Хранилище строка описи" + +#, fuzzy +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Хранилище строка описи" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Хранилище строка описи" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Склад Местоположение" + +#, fuzzy +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +#, fuzzy +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +#, fuzzy +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +#, fuzzy +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Хранилище товарного склада" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Хранилище перемещение товара" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Периоды хранения" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Складские запасы по периоду" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Кол-во продукции по складам" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Кол-во продукции по складам" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Продукция по местоположениям" + +#, fuzzy +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Продукция по местоположениям" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Приход от поставщика" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Возврат поставщику" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Внутреннее перемещение" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Отгрузка заказчику" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Возврат от заказчика" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Из местоположения" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Плановая дата:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Ссылка:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Список пополнения" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Номер доставки:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Поставщик:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "В местоположение" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Товарный склад:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Из местоположения" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Из местоположения:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Внутреннее перемещение" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Плановая дата:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Ссылка:" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Номер доставки:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "В местоположение" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "В местоположение:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Код заказчика:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Дата:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Накладная" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Ссылка:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Номер доставки:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Заказчик:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Из местоположения" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Список выбора" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Плановая дата:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Ссылка:" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Номер доставки:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "В местоположение" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Товарный склад:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Заказчик" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Из местоположения" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Номер" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Плановая дата:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Продукт" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Кол-во" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Ссылка:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Список пополнения" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Доставка" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "В местоположение" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Товарный склад:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Отменено" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Выполнено" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Черновик" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Продукт" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Заказчик" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Утраченная и обретенная" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Производство" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Хранилище" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Поставщик" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Просмотр" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Товарный склад" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Переданный" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Отменено" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Выполнено" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Черновик" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Закрыто" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Черновик" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Продукт" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Отменено" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Выполнено" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Черновик" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Поступило" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Переданный" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Отменено" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Выполнено" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Черновик" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Ожидание" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Переданный" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Отменено" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Выполнено" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Черновик" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Ожидание" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Переданный" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Отменено" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Выполнено" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Черновик" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Упакованный" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Упакованный" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Ожидание" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Отменено" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Выполнено" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Черновик" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Поступило" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Хранилище" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Инвентаризация" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Доставка" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Цена" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +#, fuzzy +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Не удалось назначить эти продукты:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Внешнее перемещение" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "Ок" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/sl.po b/modules/stock/locale/sl.po new file mode 100644 index 0000000000..50a821983a --- /dev/null +++ b/modules/stock/locale/sl.po @@ -0,0 +1,3451 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "Dostava" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Dostava" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "Lokacija kupca" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Lokacije" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "Lokacija dobavitelja" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "Lokacija kupca" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "Partner" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "Lokacija dobavitelja" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "Na dan" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "Na dan" + +#, fuzzy +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "Družba" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Nabavna cena" + +#, fuzzy +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Izdelek" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Nabavna cena" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "Nabavna vrednost" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Predvidena količina" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "Nabavna vrednost" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Predvidena količina" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "Količina" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Skladišče" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Štetje inventur" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Štetje vrnjenih prevzemnic" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Štetje prevzemnic" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Štetje notranjih odpremnic" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Tranzit notranjih odpremnic" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Štetje vrnjenih odpremnic" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Štetje odpremnic" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "Tranzit notranjih odpremnic" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "Štetje inventur" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "Štetje vrnjenih prevzemnic" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "Štetje prevzemnic" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "Štetje notranjih odpremnic" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "Štetje vrnjenih odpremnic" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "Štetje odpremnic" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "Postavke" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Lokacija" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "Številka" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "Stanje" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "Postavke" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Izdelek" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalke" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "ME" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "Predvidena količina" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Popis" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Lokacija" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "Stanje inventure" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Promet" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalke" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "ME" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "Naslov" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "Podlokacije" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "Šifra" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "Nabavna vrednost" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Predvidena količina" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "Prevzem" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "Levo" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Izgubljeno/najdeno" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "Naziv" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "Izdaja" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "Matična lokacija" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "Prevzem" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "Količina" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "Količina" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "Decimalke" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "Desno" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "Shramba" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "Tip lokacije" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Skladišče" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Lokacija tranzita" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Skladišče" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "Dobavni rok" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Iz skladišča" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "V skladišče" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Lokacija tranzita" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Skladišče" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "Obvezna dodelitev" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "Nabavna cena" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Cena obvezna" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "Valuta" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "Dejanski datum" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "Iz lokacije" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "Notranja količina" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "Poreklo" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "Načrtovan datum" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "Katerogija ME izdelka" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "Pošiljka" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "Stanje" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "Na lokacijo" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalke" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "Cena" + +#, fuzzy +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "Cena" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "Cena obvezna" + +#, fuzzy +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "Cena" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "ME" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "Predpomnjenja" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "Stanje" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "Notranja količina" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Lokacija" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Obdobje" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Izdelek" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "Količina" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Skladišče" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "Datum" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Promet" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "Poreklo" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Izdelek" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "Nabavna vrednost" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Predvidena količina" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Izdelek" + +#, fuzzy +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "Na dan" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "Na dan" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "Valuta" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "Valuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "Podlokacije" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "Naziv" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "Matična lokacija" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "Družba" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "Iz lokacije" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Obdobje" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "Valuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Notranja količina" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Izdelek" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalke" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "Valuta" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "Datum" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Notranja količina" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Izdelek" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "Decimalke" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Promet" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "Kontakt" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "Zaključil" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "Dejanski datum" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "Vhodni promet" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "Notranji promet" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Promet" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "Številka" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "Porekla" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "Načrtovan datum" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "Prejel" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "Sklic" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "Stanje" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Dobavitelj" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "Lokacija dobavitelja" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Skladišče" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "Prevzem v skladišče" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Shramba v skladišče" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "Dodelil" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "Prejemnik" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "Zaključil" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "Dejanski datum" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "Iz lokacije" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Promet" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "Številka" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "Porekla" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "Načrtovan datum" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "Sklic" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "Stanje" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Dobavitelj" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "Na lokacijo" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "Prejel" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "Zaključil" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "Dejanski datum" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "Dejanski začetek" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "Iz lokacije" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "Vhodni promet" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Promet" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "Številka" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Izhodni promet" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "Načrtovan datum" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "Načrtovan začetek" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "Sklic" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "Odpremil" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "Stanje" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "Na lokacijo" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "Lokacija tranzita" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Skladišče" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Kupec" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "Lokacija kupca" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "Prejemnik" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "Zaključil" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "Dejanski datum" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "Notranji promet" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Promet" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "Številka" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "Porekla" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "Izhodni promet" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "Pakiral" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Pakiral" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "Načrtovan datum" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "Sklic" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "Stanje" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Skladišče" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "Izdaja iz skladišča" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Shramba v skladišču" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "Družba" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Kupec" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "Lokacija kupca" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "Prejemnik" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "Zaključil" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "Dejanski datum" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "Vhodni promet" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "Inventarni promet" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Promet" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "Številka" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "Porekla" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "Načrtovan datum" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "Prejel" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "Sklic" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "Stanje" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Skladišče" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "Prevzem v skladišče" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "Shramba v skladišče" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +#, fuzzy +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Privzeta ciljna lokacija pri odpremi izdelkov k partnerju." + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +#, fuzzy +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "Privzeta ciljna lokacija pri odpremi izdelkov k partnerju." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +#, fuzzy +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "Nabavna cena" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Promet zaloge" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Izdelki po lokacijah" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +#, fuzzy +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Promet zaloge" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Nabavna cena" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Dodelitev vrnjene prevzemnice" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "Količina notranjega prometa mora biti večja od nič." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "Količina notranjega prometa mora biti večja od nič." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "Količina prometa mora biti večja od nič." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "Vrste izdelka, povezanega s prometom zaloge, ni možno popravljati." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" +"Privzete ME za izdelek, ki je povezan s prometom zaloge, ni možno " +"spreminjati." + +#, fuzzy +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "Vrste izdelka, povezanega s prometom zaloge, ni možno popravljati." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "Družba" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "Valuta" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "Številka" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "Prevzem" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventory" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "Porekla" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "Lokacija partnerja" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "Izdelek po lokacijah" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Nabavna cena" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +#, fuzzy +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Konfiguracija zaloge" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "Konfiguracija lokacije zalog" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "Konfiguracija štetja zalog" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "Popis" + +#, fuzzy +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "Postavka popisa" + +#, fuzzy +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "Postavka popisa" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "Postavka popisa" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "Lokacija" + +#, fuzzy +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +#, fuzzy +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +#, fuzzy +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Supplier" + +#, fuzzy +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +#, fuzzy +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Dobavni rok lokacije" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Lokacija tranzita" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "Promet zaloge" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "Obdobje zaloge" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "Predpomnjeno obdobje zaloge" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Količine izdelkov po skladiščih" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Količine izdelkov po skladiščih" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Izdelki po lokacijah" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "Izdelki po lokacijah" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Prevzemnica" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Vrnjena prevzemnica" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Notranja odpremnica" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Odpremnica" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Vrnjena odpremnica" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "Iz lokacije" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "Načrtovan datum:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "Sklic:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Obnova zaloge" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "Številka pošiljke" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Dobavitelj:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "Na lokacijo" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Skladišče:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "Iz lokacije" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "Iz lokacije:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Notranja odpremnica" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "Načrtovan datum:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "Sklic:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "Številka pošiljke" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "Na lokacijo" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "Na lokacijo:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "Šifra kupca:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "Datum:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Dobavnica" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "Sklic:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "Dobavnica št.:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Kupec:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "Iz lokacije" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Prevzemni list" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "Načrtovan datum:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "Sklic:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "Številka pošiljke" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "Na lokacijo" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Skladišče:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Kupec" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "Iz lokacije" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "Številka" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "Načrtovan datum:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "Količina" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "Sklic:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Obnova zaloge" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "Pošiljka" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "Na lokacijo" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Skladišče:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Preklicano" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Zaključeno" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "V pripravi" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Kupec" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "Dostava" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Izgubljeno/najdeno" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "Proizvodnja" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "Shramba" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Dobavitelj" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "Vpogled" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Skladišče" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Dodeljeno" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Preklicano" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Zaključeno" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "V pripravi" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "Zbiranje" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Zaprto" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "V pripravi" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Izdelek" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Preklicano" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Zaključeno" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "V pripravi" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Prejeto" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Dodeljeno" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Preklicano" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Zaključeno" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "V pripravi" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Čakajoče" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Dodeljeno" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Preklicano" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Zaključeno" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "V pripravi" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Zahtevek" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Odpremljeno" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Čakajoče" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Dodeljeno" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Preklicano" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Zaključeno" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "V pripravi" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Zapakirano" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Zapakirano" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Čakajoče" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Preklicano" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Zaključeno" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "V pripravi" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Prejeto" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Zaloga" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Popis" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "Pošiljke" + +#, fuzzy +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "Nabavna vrednost" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +#, fuzzy +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "Dodelitev ni možna za naslednje izdelke:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "Drugo" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "Drugo" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "Drugo" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "Drugo" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "Drugo" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "Izhodni promet" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "V redu" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/tr.po b/modules/stock/locale/tr.po new file mode 100644 index 0000000000..3944146d8b --- /dev/null +++ b/modules/stock/locale/tr.po @@ -0,0 +1,3407 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "Delivery Note" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "" + +#, fuzzy +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "Locations" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "Locations" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "Locations" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "" + +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "Warehouse" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "Warehouse" + +#, fuzzy +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "Recompute Cost Price" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "" + +#, fuzzy +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "Locations" + +#, fuzzy +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "Periods" + +#, fuzzy +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "" + +#, fuzzy +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "Storage Zone" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "Moves" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "Products" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "Periods" + +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "Locations List Quantity" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "Locations List Quantity" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "Packed" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "Customer" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "Moves" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "" + +#, fuzzy +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "Warehouse" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "" + +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "" + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "" + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "" + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "" + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "" + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "" + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "" + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "" + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "" + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "" + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "" + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "" + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "" + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "" + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "" + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "" + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "" + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "" + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "" + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "" + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "" + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "" + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "" + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "" + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "" + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "" + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "" + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "" + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "" + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "" + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "" + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "" + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "" + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "" + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "" + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "" + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "" + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "" + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "" + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "" + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "" + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "" + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "" + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "" + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "" + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "" + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "" + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "" + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "" + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "" + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "" + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "" + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "" + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "" + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "" + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "" + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "" + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "" + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "" + +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "" + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "" + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "" + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "" + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "" + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "" + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "" + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "" + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "" + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "" + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "" + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "" + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "" + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +#, fuzzy +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "Inventories" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "Locations List Quantity" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "Locations Tree Quantity" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "Moves" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "Periods" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "Moves" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "Warehouse" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "Delivery Note" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "Moves" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "From Suppliers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "From Suppliers Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "To Customers" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "Requests" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "Shipped" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "All" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "Assigned" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "Assigned" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "Packed" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "Waiting" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "All" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "Received" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "" + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "" + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "" + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "" + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "Add an inventory line for each missing products" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "Confirm" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "Close" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "Reset to Draft" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "Ship" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "Assign" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "Packed" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "Done" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "Draft" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "Receive" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "Wait" + +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "" + +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "Inventories" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "Location Lead Times" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "Locations" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "Moves" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "Periods" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "Reporting" + +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "Supplier Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "Internal Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "Customer Shipments" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "Inventory & Stock" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "Configuration" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "" + +#, fuzzy +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "Recompute Cost Price" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "Stock" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "Stock Administration" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "Stock Force Assignment" + +#, fuzzy +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "Stock Configuration" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "Customer" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "Input Zone" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "Output Zone" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "Storage Zone" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "Transit" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "Location Lead Times" + +#, fuzzy +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "Warehouse" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "Product Quantities By Warehouse" + +#, fuzzy +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "Warehouse" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +#, fuzzy +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "Assign Shipment Internal" + +#, fuzzy +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "Supplier Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "Supplier Return Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "Customer Shipment" + +#, fuzzy +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "Customer Return Shipment" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "Supplier" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "Internal Shipment" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "Delivery Note" + +#, fuzzy +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "Picking List" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "Customer" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "Products" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "Restocking List" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "" + +#, fuzzy +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "Internal Shipment" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "Recompute Cost Price" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "Customer Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "Internal Shipments" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "Supplier Return Shipments" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "Products" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "Customer" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "Lost and Found" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "Supplier" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "Warehouse" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "Draft" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "Close" + +#, fuzzy +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "Products" + +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "Products" + +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "Requests" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "Shipped" + +#, fuzzy +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "Assign" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "Packed" + +#, fuzzy +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "Waiting" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "Cancel" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "Done" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "Draft" + +#, fuzzy +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "Receive" + +#, fuzzy +msgctxt "view:party.party:" +msgid "Stock" +msgstr "Stock" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "" + +#, fuzzy +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "Inventory" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "Recompute Cost Price" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "Cancel" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "Cancel" + +#, fuzzy +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "Wait" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "" diff --git a/modules/stock/locale/zh_CN.po b/modules/stock/locale/zh_CN.po new file mode 100644 index 0000000000..2b9cd4b2d2 --- /dev/null +++ b/modules/stock/locale/zh_CN.po @@ -0,0 +1,3323 @@ +# +msgid "" +msgstr "Content-Type: text/plain; charset=utf-8\n" + +msgctxt "field:party.address,delivery:" +msgid "Delivery" +msgstr "交付" + +#, fuzzy +msgctxt "field:party.contact_mechanism,delivery:" +msgid "Delivery" +msgstr "交付" + +msgctxt "field:party.party,customer_location:" +msgid "Customer Location" +msgstr "客户库位" + +msgctxt "field:party.party,locations:" +msgid "Locations" +msgstr "库位" + +msgctxt "field:party.party,supplier_location:" +msgid "Supplier Location" +msgstr "供应商库位" + +msgctxt "field:party.party.location,customer_location:" +msgid "Customer Location" +msgstr "客户库位" + +msgctxt "field:party.party.location,party:" +msgid "Party" +msgstr "参与者" + +msgctxt "field:party.party.location,supplier_location:" +msgid "Supplier Location" +msgstr "供应商库位" + +msgctxt "field:product.by_location.context,forecast_date:" +msgid "At Date" +msgstr "日期" + +msgctxt "field:product.by_location.context,stock_date_end:" +msgid "At Date" +msgstr "日期" + +msgctxt "field:product.cost_price.revision,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:product.cost_price.revision,cost_price:" +msgid "New Cost Price" +msgstr "新成本价" + +msgctxt "field:product.cost_price.revision,date:" +msgid "Date" +msgstr "日期" + +msgctxt "field:product.cost_price.revision,product:" +msgid "Variant" +msgstr "变体" + +msgctxt "field:product.cost_price.revision,template:" +msgid "Product" +msgstr "产品" + +msgctxt "field:product.modify_cost_price.start,cost_price:" +msgid "New Cost Price" +msgstr "新成本价" + +msgctxt "field:product.modify_cost_price.start,date:" +msgid "Date" +msgstr "日期" + +msgctxt "field:product.product,cost_value:" +msgid "Cost Value" +msgstr "成本取值" + +msgctxt "field:product.product,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "预测数量" + +msgctxt "field:product.product,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:product.recompute_cost_price.start,from_:" +msgid "From" +msgstr "从" + +msgctxt "field:product.template,cost_value:" +msgid "Cost Value" +msgstr "成本取值" + +msgctxt "field:product.template,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "预测数量" + +msgctxt "field:product.template,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:res.user,warehouse:" +msgid "Current Warehouse" +msgstr "当前仓库" + +msgctxt "field:stock.configuration,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "库存盘点序列" + +msgctxt "field:stock.configuration,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "向供应商退货序列" + +msgctxt "field:stock.configuration,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "从供应商收货序列" + +msgctxt "field:stock.configuration,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "内部发货序列" + +msgctxt "field:stock.configuration,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "内部发货中转" + +msgctxt "field:stock.configuration,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "接收客户退货序列" + +msgctxt "field:stock.configuration,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "向客户发货序列" + +msgctxt "field:stock.configuration.location,shipment_internal_transit:" +msgid "Internal Shipment Transit" +msgstr "内部发货中转" + +msgctxt "field:stock.configuration.sequence,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.configuration.sequence,inventory_sequence:" +msgid "Inventory Sequence" +msgstr "库存盘点序列" + +msgctxt "field:stock.configuration.sequence,shipment_in_return_sequence:" +msgid "Supplier Return Shipment Sequence" +msgstr "向供应商退货序列" + +msgctxt "field:stock.configuration.sequence,shipment_in_sequence:" +msgid "Supplier Shipment Sequence" +msgstr "从供应商收货序列" + +msgctxt "field:stock.configuration.sequence,shipment_internal_sequence:" +msgid "Internal Shipment Sequence" +msgstr "内部发货序列" + +msgctxt "field:stock.configuration.sequence,shipment_out_return_sequence:" +msgid "Customer Return Shipment Sequence" +msgstr "接收客户退货序列" + +msgctxt "field:stock.configuration.sequence,shipment_out_sequence:" +msgid "Customer Shipment Sequence" +msgstr "向客户发货序列" + +msgctxt "field:stock.inventory,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.inventory,date:" +msgid "Date" +msgstr "日期" + +msgctxt "field:stock.inventory,empty_quantity:" +msgid "Empty Quantity" +msgstr "数量为空" + +msgctxt "field:stock.inventory,lines:" +msgid "Lines" +msgstr "明细" + +msgctxt "field:stock.inventory,location:" +msgid "Location" +msgstr "库位" + +msgctxt "field:stock.inventory,number:" +msgid "Number" +msgstr "编号" + +msgctxt "field:stock.inventory,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.inventory.count.quantity,line:" +msgid "Line" +msgstr "明细" + +msgctxt "field:stock.inventory.count.quantity,product:" +msgid "Product" +msgstr "产品" + +#, fuzzy +msgctxt "field:stock.inventory.count.quantity,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:stock.inventory.count.quantity,total_quantity:" +msgid "Total Quantity" +msgstr "总数量" + +msgctxt "field:stock.inventory.count.quantity,unit_digits:" +msgid "Unit Digits" +msgstr "计量单位有效数字" + +msgctxt "field:stock.inventory.count.quantity,uom:" +msgid "UOM" +msgstr "计量单位" + +msgctxt "field:stock.inventory.count.search,search:" +msgid "Search" +msgstr "搜索" + +msgctxt "field:stock.inventory.count.search,search_model:" +msgid "Search Model" +msgstr "搜索模型" + +msgctxt "field:stock.inventory.line,expected_quantity:" +msgid "Expected Quantity" +msgstr "预计数量" + +msgctxt "field:stock.inventory.line,inventory:" +msgid "Inventory" +msgstr "库存盘点" + +msgctxt "field:stock.inventory.line,inventory_date:" +msgid "Date" +msgstr "日期" + +msgctxt "field:stock.inventory.line,inventory_location:" +msgid "Location" +msgstr "库位" + +msgctxt "field:stock.inventory.line,inventory_state:" +msgid "Inventory State" +msgstr "库存盘点状态" + +msgctxt "field:stock.inventory.line,moves:" +msgid "Moves" +msgstr "变动" + +msgctxt "field:stock.inventory.line,product:" +msgid "Product" +msgstr "产品" + +msgctxt "field:stock.inventory.line,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:stock.inventory.line,unit_digits:" +msgid "Unit Digits" +msgstr "计量单位有效数字" + +msgctxt "field:stock.inventory.line,uom:" +msgid "UOM" +msgstr "计量单位" + +msgctxt "field:stock.location,address:" +msgid "Address" +msgstr "地址" + +msgctxt "field:stock.location,childs:" +msgid "Children" +msgstr "子库位" + +msgctxt "field:stock.location,code:" +msgid "Code" +msgstr "代码" + +msgctxt "field:stock.location,cost_value:" +msgid "Cost Value" +msgstr "成本取值" + +msgctxt "field:stock.location,flat_childs:" +msgid "Flat Children" +msgstr "扁平化" + +msgctxt "field:stock.location,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "预测数量" + +msgctxt "field:stock.location,input_location:" +msgid "Input" +msgstr "收货" + +msgctxt "field:stock.location,left:" +msgid "Left" +msgstr "左" + +msgctxt "field:stock.location,lost_found_location:" +msgid "Lost and Found" +msgstr "失物招领区" + +msgctxt "field:stock.location,name:" +msgid "Name" +msgstr "名称" + +msgctxt "field:stock.location,output_location:" +msgid "Output" +msgstr "出货" + +msgctxt "field:stock.location,parent:" +msgid "Parent" +msgstr "上级" + +msgctxt "field:stock.location,picking_location:" +msgid "Picking" +msgstr "拣货" + +msgctxt "field:stock.location,quantity:" +msgid "Quantity" +msgstr "数量" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom:" +msgid "Quantity UOM" +msgstr "数量" + +#, fuzzy +msgctxt "field:stock.location,quantity_uom_digits:" +msgid "Quantity UOM Digits" +msgstr "默认计量单位有效数字" + +msgctxt "field:stock.location,right:" +msgid "Right" +msgstr "右" + +msgctxt "field:stock.location,storage_location:" +msgid "Storage" +msgstr "存储" + +msgctxt "field:stock.location,type:" +msgid "Location type" +msgstr "库位类型" + +msgctxt "field:stock.location,warehouse:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "field:stock.location,waste_locations:" +msgid "Waste Locations" +msgstr "废弃物库位" + +msgctxt "field:stock.location,waste_warehouses:" +msgid "Waste Warehouses" +msgstr "废弃物仓库" + +msgctxt "field:stock.location.lead_time,lead_time:" +msgid "Lead Time" +msgstr "交付时间" + +msgctxt "field:stock.location.lead_time,warehouse_from:" +msgid "Warehouse From" +msgstr "从仓库" + +msgctxt "field:stock.location.lead_time,warehouse_to:" +msgid "Warehouse To" +msgstr "到仓库" + +msgctxt "field:stock.location.waste,location:" +msgid "Waste Location" +msgstr "废弃物库位" + +msgctxt "field:stock.location.waste,warehouse:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "field:stock.move,assignation_required:" +msgid "Assignation Required" +msgstr "需要选货" + +msgctxt "field:stock.move,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.move,cost_price:" +msgid "Cost Price" +msgstr "成本价" + +msgctxt "field:stock.move,cost_price_required:" +msgid "Cost Price Required" +msgstr "需要成本价" + +msgctxt "field:stock.move,currency:" +msgid "Currency" +msgstr "货币" + +msgctxt "field:stock.move,effective_date:" +msgid "Effective Date" +msgstr "生效日期" + +msgctxt "field:stock.move,from_location:" +msgid "From Location" +msgstr "从库位" + +msgctxt "field:stock.move,internal_quantity:" +msgid "Internal Quantity" +msgstr "内部数量" + +msgctxt "field:stock.move,origin:" +msgid "Origin" +msgstr "依据" + +msgctxt "field:stock.move,planned_date:" +msgid "Planned Date" +msgstr "计划日期" + +msgctxt "field:stock.move,product:" +msgid "Product" +msgstr "产品" + +msgctxt "field:stock.move,product_uom_category:" +msgid "Product Uom Category" +msgstr "产品计量单位类别" + +msgctxt "field:stock.move,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:stock.move,shipment:" +msgid "Shipment" +msgstr "收发货" + +msgctxt "field:stock.move,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.move,to_location:" +msgid "To Location" +msgstr "到库位" + +msgctxt "field:stock.move,unit_digits:" +msgid "Unit Digits" +msgstr "计量单位有效数字" + +msgctxt "field:stock.move,unit_price:" +msgid "Unit Price" +msgstr "单价" + +msgctxt "field:stock.move,unit_price_company:" +msgid "Unit Price" +msgstr "单价" + +msgctxt "field:stock.move,unit_price_required:" +msgid "Unit Price Required" +msgstr "需要单价" + +msgctxt "field:stock.move,unit_price_updated:" +msgid "Unit Price Updated" +msgstr "更新的单价" + +msgctxt "field:stock.move,uom:" +msgid "Uom" +msgstr "计量单位" + +msgctxt "field:stock.period,caches:" +msgid "Caches" +msgstr "缓存" + +msgctxt "field:stock.period,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.period,date:" +msgid "Date" +msgstr "日期" + +msgctxt "field:stock.period,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.period.cache,internal_quantity:" +msgid "Internal Quantity" +msgstr "内部数量" + +msgctxt "field:stock.period.cache,location:" +msgid "Location" +msgstr "库位" + +msgctxt "field:stock.period.cache,period:" +msgid "Period" +msgstr "分期" + +msgctxt "field:stock.period.cache,product:" +msgid "Product" +msgstr "产品" + +msgctxt "field:stock.product_quantities_warehouse,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.product_quantities_warehouse,date:" +msgid "Date" +msgstr "日期" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "产品" + +msgctxt "field:stock.product_quantities_warehouse,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "" +"field:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Only storage zone" +msgstr "仅设存储区" + +msgctxt "field:stock.product_quantities_warehouse.context,warehouse:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "field:stock.product_quantities_warehouse.move,company:" +msgid "Company" +msgstr "公司" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_delta:" +msgid "Cumulative Quantity Delta" +msgstr "累计数量增量" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_end:" +msgid "Cumulative Quantity End" +msgstr "累计数量结束" + +msgctxt "" +"field:stock.product_quantities_warehouse.move,cumulative_quantity_start:" +msgid "Cumulative Quantity Start" +msgstr "累计数量开始" + +msgctxt "field:stock.product_quantities_warehouse.move,date:" +msgid "Date" +msgstr "日期" + +msgctxt "field:stock.product_quantities_warehouse.move,document:" +msgid "Document" +msgstr "" + +msgctxt "field:stock.product_quantities_warehouse.move,move:" +msgid "Move" +msgstr "变动" + +msgctxt "field:stock.product_quantities_warehouse.move,origin:" +msgid "Origin" +msgstr "依据" + +#, fuzzy +msgctxt "field:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "产品" + +msgctxt "field:stock.product_quantities_warehouse.move,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:stock.products_by_locations,consumable:" +msgid "Consumable" +msgstr "消耗品" + +msgctxt "field:stock.products_by_locations,cost_value:" +msgid "Cost Value" +msgstr "成本取值" + +msgctxt "field:stock.products_by_locations,default_uom:" +msgid "Default UOM" +msgstr "默认计量单位" + +msgctxt "field:stock.products_by_locations,default_uom_digits:" +msgid "Default UOM Digits" +msgstr "默认计量单位有效数字" + +msgctxt "field:stock.products_by_locations,forecast_quantity:" +msgid "Forecast Quantity" +msgstr "预测数量" + +msgctxt "field:stock.products_by_locations,product:" +msgid "Product" +msgstr "产品" + +msgctxt "field:stock.products_by_locations,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:stock.products_by_locations.context,forecast_date:" +msgid "At Date" +msgstr "日期" + +msgctxt "field:stock.products_by_locations.context,stock_date_end:" +msgid "At Date" +msgstr "日期" + +msgctxt "field:stock.reporting.margin.category,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category,currency:" +msgid "Currency" +msgstr "货币" + +msgctxt "field:stock.reporting.margin.category,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.category.time_series,category:" +msgid "Category" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,currency:" +msgid "Currency" +msgstr "货币" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.time_series,date:" +msgid "Date" +msgstr "日期" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,children:" +msgid "Children" +msgstr "子库位" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,name:" +msgid "Name" +msgstr "名称" + +#, fuzzy +msgctxt "field:stock.reporting.margin.category.tree,parent:" +msgid "Parent" +msgstr "上级" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,company:" +msgid "Company" +msgstr "公司" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,from_date:" +msgid "From Date" +msgstr "从库位" + +msgctxt "field:stock.reporting.margin.context,include_lost:" +msgid "Include Lost" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,period:" +msgid "Period" +msgstr "分期" + +#, fuzzy +msgctxt "field:stock.reporting.margin.context,to_date:" +msgid "To Date" +msgstr "日期" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,currency:" +msgid "Currency" +msgstr "货币" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,internal_quantity:" +msgid "Internal Quantity" +msgstr "内部数量" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,product:" +msgid "Product" +msgstr "产品" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:stock.reporting.margin.product,time_series:" +msgid "Time Series" +msgstr "" + +msgctxt "field:stock.reporting.margin.product,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product,unit_digits:" +msgid "Unit Digits" +msgstr "计量单位有效数字" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,currency:" +msgid "Currency" +msgstr "货币" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,date:" +msgid "Date" +msgstr "日期" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,internal_quantity:" +msgid "Internal Quantity" +msgstr "内部数量" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,product:" +msgid "Product" +msgstr "产品" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,quantity:" +msgid "Quantity" +msgstr "数量" + +msgctxt "field:stock.reporting.margin.product.time_series,unit:" +msgid "Unit" +msgstr "" + +#, fuzzy +msgctxt "field:stock.reporting.margin.product.time_series,unit_digits:" +msgid "Unit Digits" +msgstr "计量单位有效数字" + +msgctxt "field:stock.shipment.assign.partial,moves:" +msgid "Moves" +msgstr "变动" + +msgctxt "field:stock.shipment.in,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.shipment.in,contact_address:" +msgid "Contact Address" +msgstr "联系地址" + +msgctxt "field:stock.shipment.in,done_by:" +msgid "Done By" +msgstr "完成人" + +msgctxt "field:stock.shipment.in,effective_date:" +msgid "Effective Date" +msgstr "生效日期" + +msgctxt "field:stock.shipment.in,incoming_moves:" +msgid "Incoming Moves" +msgstr "来货库存变动" + +msgctxt "field:stock.shipment.in,inventory_moves:" +msgid "Inventory Moves" +msgstr "库间库存变动" + +msgctxt "field:stock.shipment.in,moves:" +msgid "Moves" +msgstr "变动" + +msgctxt "field:stock.shipment.in,number:" +msgid "Number" +msgstr "数量" + +msgctxt "field:stock.shipment.in,origins:" +msgid "Origins" +msgstr "依据" + +msgctxt "field:stock.shipment.in,planned_date:" +msgid "Planned Date" +msgstr "计划日期" + +msgctxt "field:stock.shipment.in,received_by:" +msgid "Received By" +msgstr "接收者" + +msgctxt "field:stock.shipment.in,reference:" +msgid "Reference" +msgstr "参考" + +msgctxt "field:stock.shipment.in,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.shipment.in,supplier:" +msgid "Supplier" +msgstr "供应商" + +msgctxt "field:stock.shipment.in,supplier_location:" +msgid "Supplier Location" +msgstr "供应商库位" + +msgctxt "field:stock.shipment.in,warehouse:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "field:stock.shipment.in,warehouse_input:" +msgid "Warehouse Input" +msgstr "仓库收货区" + +msgctxt "field:stock.shipment.in,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "仓库存储区" + +msgctxt "field:stock.shipment.in.return,assigned_by:" +msgid "Assigned By" +msgstr "选货人" + +msgctxt "field:stock.shipment.in.return,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.shipment.in.return,delivery_address:" +msgid "Delivery Address" +msgstr "交货地址" + +msgctxt "field:stock.shipment.in.return,done_by:" +msgid "Done By" +msgstr "完成人" + +msgctxt "field:stock.shipment.in.return,effective_date:" +msgid "Effective Date" +msgstr "生效日期" + +msgctxt "field:stock.shipment.in.return,from_location:" +msgid "From Location" +msgstr "从库位" + +msgctxt "field:stock.shipment.in.return,moves:" +msgid "Moves" +msgstr "变动" + +msgctxt "field:stock.shipment.in.return,number:" +msgid "Number" +msgstr "数量" + +msgctxt "field:stock.shipment.in.return,origins:" +msgid "Origins" +msgstr "依据" + +#, fuzzy +msgctxt "field:stock.shipment.in.return,partially_assigned:" +msgid "Partially Assigned" +msgstr "已选货" + +msgctxt "field:stock.shipment.in.return,planned_date:" +msgid "Planned Date" +msgstr "计划日期" + +msgctxt "field:stock.shipment.in.return,reference:" +msgid "Reference" +msgstr "参考" + +msgctxt "field:stock.shipment.in.return,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.shipment.in.return,supplier:" +msgid "Supplier" +msgstr "供应商" + +msgctxt "field:stock.shipment.in.return,to_location:" +msgid "To Location" +msgstr "到库位" + +msgctxt "field:stock.shipment.internal,assigned_by:" +msgid "Received By" +msgstr "接收人" + +msgctxt "field:stock.shipment.internal,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.shipment.internal,done_by:" +msgid "Done By" +msgstr "完成人" + +msgctxt "field:stock.shipment.internal,effective_date:" +msgid "Effective Date" +msgstr "生效日期" + +msgctxt "field:stock.shipment.internal,effective_start_date:" +msgid "Effective Start Date" +msgstr "有效起始日期" + +msgctxt "field:stock.shipment.internal,from_location:" +msgid "From Location" +msgstr "从库位" + +msgctxt "field:stock.shipment.internal,incoming_moves:" +msgid "Incoming Moves" +msgstr "来货库存变动" + +msgctxt "field:stock.shipment.internal,moves:" +msgid "Moves" +msgstr "变动" + +msgctxt "field:stock.shipment.internal,number:" +msgid "Number" +msgstr "数量" + +msgctxt "field:stock.shipment.internal,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "出货库存变动" + +#, fuzzy +msgctxt "field:stock.shipment.internal,partially_assigned:" +msgid "Partially Assigned" +msgstr "已选货" + +msgctxt "field:stock.shipment.internal,planned_date:" +msgid "Planned Date" +msgstr "计划日期" + +msgctxt "field:stock.shipment.internal,planned_start_date:" +msgid "Planned Start Date" +msgstr "计划开始日期" + +msgctxt "field:stock.shipment.internal,reference:" +msgid "Reference" +msgstr "参考" + +msgctxt "field:stock.shipment.internal,shipped_by:" +msgid "Shipped By" +msgstr "发货人" + +msgctxt "field:stock.shipment.internal,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.shipment.internal,to_location:" +msgid "To Location" +msgstr "到库位" + +msgctxt "field:stock.shipment.internal,transit_location:" +msgid "Transit Location" +msgstr "中转库位" + +#, fuzzy +msgctxt "field:stock.shipment.internal,warehouse:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "field:stock.shipment.out,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.shipment.out,customer:" +msgid "Customer" +msgstr "客户" + +msgctxt "field:stock.shipment.out,customer_location:" +msgid "Customer Location" +msgstr "客户库位" + +msgctxt "field:stock.shipment.out,delivery_address:" +msgid "Delivery Address" +msgstr "交货地址" + +msgctxt "field:stock.shipment.out,done_by:" +msgid "Done By" +msgstr "完成人" + +msgctxt "field:stock.shipment.out,effective_date:" +msgid "Effective Date" +msgstr "生效日期" + +msgctxt "field:stock.shipment.out,inventory_moves:" +msgid "Inventory Moves" +msgstr "库间库存变动" + +msgctxt "field:stock.shipment.out,moves:" +msgid "Moves" +msgstr "变动" + +msgctxt "field:stock.shipment.out,number:" +msgid "Number" +msgstr "数量" + +msgctxt "field:stock.shipment.out,origins:" +msgid "Origins" +msgstr "依据" + +msgctxt "field:stock.shipment.out,outgoing_moves:" +msgid "Outgoing Moves" +msgstr "出货库存变动" + +msgctxt "field:stock.shipment.out,packed_by:" +msgid "Packed By" +msgstr "包装人" + +#, fuzzy +msgctxt "field:stock.shipment.out,partially_assigned:" +msgid "Partially Assigned" +msgstr "已选货" + +msgctxt "field:stock.shipment.out,picked_by:" +msgid "Picked By" +msgstr "拣货人" + +msgctxt "field:stock.shipment.out,planned_date:" +msgid "Planned Date" +msgstr "计划日期" + +msgctxt "field:stock.shipment.out,reference:" +msgid "Reference" +msgstr "参考" + +msgctxt "field:stock.shipment.out,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.shipment.out,warehouse:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "field:stock.shipment.out,warehouse_output:" +msgid "Warehouse Output" +msgstr "仓库发货区" + +msgctxt "field:stock.shipment.out,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "仓库存储区" + +msgctxt "field:stock.shipment.out.return,company:" +msgid "Company" +msgstr "公司" + +msgctxt "field:stock.shipment.out.return,customer:" +msgid "Customer" +msgstr "客户" + +msgctxt "field:stock.shipment.out.return,customer_location:" +msgid "Customer Location" +msgstr "客户库位" + +msgctxt "field:stock.shipment.out.return,delivery_address:" +msgid "Delivery Address" +msgstr "交货地址" + +msgctxt "field:stock.shipment.out.return,done_by:" +msgid "Done By" +msgstr "完成人" + +msgctxt "field:stock.shipment.out.return,effective_date:" +msgid "Effective Date" +msgstr "生效日期" + +msgctxt "field:stock.shipment.out.return,incoming_moves:" +msgid "Incoming Moves" +msgstr "来货库存变动" + +msgctxt "field:stock.shipment.out.return,inventory_moves:" +msgid "Inventory Moves" +msgstr "库间库存变动" + +msgctxt "field:stock.shipment.out.return,moves:" +msgid "Moves" +msgstr "变动" + +msgctxt "field:stock.shipment.out.return,number:" +msgid "Number" +msgstr "数量" + +msgctxt "field:stock.shipment.out.return,origins:" +msgid "Origins" +msgstr "依据" + +msgctxt "field:stock.shipment.out.return,planned_date:" +msgid "Planned Date" +msgstr "计划日期" + +msgctxt "field:stock.shipment.out.return,received_by:" +msgid "Received By" +msgstr "接收人" + +msgctxt "field:stock.shipment.out.return,reference:" +msgid "Reference" +msgstr "参考" + +msgctxt "field:stock.shipment.out.return,state:" +msgid "State" +msgstr "状态" + +msgctxt "field:stock.shipment.out.return,warehouse:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "field:stock.shipment.out.return,warehouse_input:" +msgid "Warehouse Input" +msgstr "仓库收货" + +msgctxt "field:stock.shipment.out.return,warehouse_storage:" +msgid "Warehouse Storage" +msgstr "仓库存储" + +msgctxt "help:party.address,delivery:" +msgid "Check to send deliveries to the address." +msgstr "选中后,货物将发送到此地址 ." + +#, fuzzy +msgctxt "help:party.contact_mechanism,delivery:" +msgid "Check to use for delivery." +msgstr "选中后,货物将发送到此地址 ." + +msgctxt "help:party.party,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "发送到参与者的目标库位。" + +msgctxt "help:party.party,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "从参与方接收的库存的默认源位置." + +msgctxt "help:party.party.location,customer_location:" +msgid "The default destination location for stock sent to the party." +msgstr "发送给参与方的库存的默认目标位置." + +msgctxt "help:party.party.location,supplier_location:" +msgid "The default source location for stock received from the party." +msgstr "从参与方接收的库存的默认源位置." + +msgctxt "help:product.by_location.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"计算库存量的日期.\n" +"* 空值将计算尽可能的提前.\n" +"* 过去的日期将提供历史取值." + +msgctxt "help:product.cost_price.revision,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"一个 python 表达式,与这个表达式一同执行的有:\n" +"- cost_price: 产品的当前成本价" + +msgctxt "help:product.modify_cost_price.start,cost_price:" +msgid "" +"Python expression that will be evaluated with:\n" +"- cost_price: the current cost price of the product" +msgstr "" +"一个 python 表达式,与这个表达式一同执行的有:\n" +"- cost_price: 产品的当前成本价" + +msgctxt "help:product.product,cost_value:" +msgid "The value of the stock in the location." +msgstr "库位的库存价值." + +msgctxt "help:product.product,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "库位的预期库存量." + +msgctxt "help:product.product,quantity:" +msgid "The amount of stock in the location." +msgstr "库位的库存量." + +msgctxt "help:product.template,cost_value:" +msgid "The value of the stock in the location." +msgstr "库位的库存价值." + +msgctxt "help:product.template,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "库位的预期库存量." + +msgctxt "help:product.template,quantity:" +msgid "The amount of stock in the location." +msgstr "库位的库存量." + +msgctxt "help:res.user,warehouse:" +msgid "The warehouse that the user works at." +msgstr "用户工作的仓库." + +msgctxt "help:stock.configuration,inventory_sequence:" +msgid "Used to generate the number given to inventories." +msgstr "用于生成库存盘点编号." + +msgctxt "help:stock.configuration,shipment_in_return_sequence:" +msgid "Used to generate the number given to supplier return shipments." +msgstr "用于生成向供应商退货用的编号." + +msgctxt "help:stock.configuration,shipment_in_sequence:" +msgid "Used to generate the number given to supplier shipments." +msgstr "用于生成从供应商收货用的编号." + +msgctxt "help:stock.configuration,shipment_internal_sequence:" +msgid "Used to generate the number given to internal shipments." +msgstr "用于生成内部发货的编号." + +msgctxt "help:stock.configuration,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "仓库间中转库存的默认库位." + +msgctxt "help:stock.configuration,shipment_out_return_sequence:" +msgid "Used to generate the number given to customer return shipments." +msgstr "用于生成接收客户退货用编号." + +msgctxt "help:stock.configuration,shipment_out_sequence:" +msgid "Used to generate the number given to customer shipments." +msgstr "用于生成向客户发货编号." + +msgctxt "help:stock.configuration.location,shipment_internal_transit:" +msgid "" +"The default location used for stock that is in transit between warehouses." +msgstr "仓库间中转库存的默认库位." + +msgctxt "help:stock.inventory,company:" +msgid "The company the inventory is associated with." +msgstr "库存盘点关联的公司." + +msgctxt "help:stock.inventory,date:" +msgid "The date of the stock count." +msgstr "库存盘点的日期." + +msgctxt "help:stock.inventory,empty_quantity:" +msgid "How lines without a quantity are handled." +msgstr "如何处理没有数量的明细." + +msgctxt "help:stock.inventory,location:" +msgid "The location inventoried." +msgstr "已盘点库位." + +msgctxt "help:stock.inventory,number:" +msgid "The main identifier for the inventory." +msgstr "库存盘点的主标识符." + +msgctxt "help:stock.inventory,state:" +msgid "The current state of the inventory." +msgstr "库存盘点的当前状态." + +#, fuzzy +msgctxt "help:stock.inventory.count.quantity,quantity:" +msgid "The quantity to add to the existing count." +msgstr "新增数量." + +msgctxt "help:stock.inventory.count.quantity,total_quantity:" +msgid "The total amount of the line counted so far." +msgstr "当前货物的已清点总数." + +msgctxt "help:stock.inventory.count.quantity,uom:" +msgid "The unit in which the quantities are specified." +msgstr "数量的计量单位." + +msgctxt "help:stock.inventory.count.search,search:" +msgid "The item that's counted." +msgstr "已清点项." + +msgctxt "help:stock.inventory.line,expected_quantity:" +msgid "The quantity the system calculated should be in the location." +msgstr "系统计算的库位盘点数." + +msgctxt "help:stock.inventory.line,inventory:" +msgid "The inventory the line belongs to." +msgstr "所属库存盘点明细." + +msgctxt "help:stock.inventory.line,quantity:" +msgid "The actual quantity found in the location." +msgstr "在库位实际找到的数量." + +msgctxt "help:stock.inventory.line,uom:" +msgid "The unit in which the quantity is specified." +msgstr "数量的计量单位." + +msgctxt "help:stock.location,childs:" +msgid "Used to add structure below the location." +msgstr "用于在当前库位下添加结构." + +msgctxt "help:stock.location,code:" +msgid "The internal identifier used for the location." +msgstr "用于库位的内部标识符." + +msgctxt "help:stock.location,cost_value:" +msgid "The value of the stock in the location." +msgstr "该库位的库存价值." + +msgctxt "help:stock.location,flat_childs:" +msgid "Check to enforce a single level of children with no grandchildren." +msgstr "选中此项后, 可强制为单级别子集,不允许孙级别." + +msgctxt "help:stock.location,forecast_quantity:" +msgid "The amount of stock expected to be in the location." +msgstr "在该库位的预期库存量." + +msgctxt "help:stock.location,input_location:" +msgid "Where incoming stock is received." +msgstr "收到进货的地方." + +msgctxt "help:stock.location,lost_found_location:" +msgid "Used, by inventories, when correcting stock levels in the warehouse." +msgstr "在修正库存水平时使用,用于库存盘点." + +msgctxt "help:stock.location,output_location:" +msgid "Where outgoing stock is sent from." +msgstr "发出库存的地方." + +msgctxt "help:stock.location,parent:" +msgid "Used to add structure above the location." +msgstr "用于在当前库位上方添加结构." + +msgctxt "help:stock.location,picking_location:" +msgid "" +"Where stock is picked from.\n" +"Leave empty to use the storage location." +msgstr "" +"拣货区.\n" +"留空的话,就使用存储库位." + +msgctxt "help:stock.location,quantity:" +msgid "The amount of stock in the location." +msgstr "该库位的库存量." + +msgctxt "help:stock.location,storage_location:" +msgid "The top level location where stock is stored." +msgstr "存储库存的顶层位置." + +msgctxt "help:stock.location,waste_locations:" +msgid "The locations used for waste products from the warehouse." +msgstr "用于存放仓库弃物的位置." + +msgctxt "help:stock.location,waste_warehouses:" +msgid "The warehouses that use the location for waste products." +msgstr "使用该位置存放弃品的仓库." + +msgctxt "help:stock.location.lead_time,lead_time:" +msgid "The time it takes to move stock between the warehouses." +msgstr "仓库之间库存变动需要花费的时间." + +msgctxt "help:stock.move,company:" +msgid "The company the stock move is associated with." +msgstr "与库存变动对应的公司." + +msgctxt "help:stock.move,currency:" +msgid "The currency in which the unit price is specified." +msgstr "指定单价的货币." + +msgctxt "help:stock.move,effective_date:" +msgid "When the stock was actually moved." +msgstr "库存变动实际时间." + +msgctxt "help:stock.move,from_location:" +msgid "Where the stock is moved from." +msgstr "库存变动目的地." + +msgctxt "help:stock.move,origin:" +msgid "The source of the stock move." +msgstr "库存变动的源位置." + +msgctxt "help:stock.move,planned_date:" +msgid "When the stock is expected to be moved." +msgstr "库存变动的预期时间." + +msgctxt "help:stock.move,product:" +msgid "The product that the move is associated with." +msgstr "与库存变动关联的产品." + +msgctxt "help:stock.move,quantity:" +msgid "The amount of stock moved." +msgstr "库存变动总数." + +msgctxt "help:stock.move,shipment:" +msgid "Used to group several stock moves together." +msgstr "用于将多个库存变动组合在一起." + +msgctxt "help:stock.move,state:" +msgid "The current state of the stock move." +msgstr "库存变动的当前状态." + +msgctxt "help:stock.move,to_location:" +msgid "Where the stock is moved to." +msgstr "库存变动目的位置." + +msgctxt "help:stock.move,unit_price_company:" +msgid "Unit price in company currency." +msgstr "以公司货币表示的单价." + +msgctxt "help:stock.move,uom:" +msgid "The unit in which the quantity is specified." +msgstr "用于指定数量的单位." + +msgctxt "help:stock.period,company:" +msgid "The company the stock period is associated with." +msgstr "与库存分期关联的公司." + +msgctxt "help:stock.period,date:" +msgid "When the stock period ends." +msgstr "当库存分期结束时." + +msgctxt "help:stock.period,state:" +msgid "The current state of the stock period." +msgstr "库存分期的当前状态." + +msgctxt "" +"help:stock.product_quantities_warehouse.context,stock_skip_warehouse:" +msgid "Check to use only the quantity of the storage zone." +msgstr "选中后,仅使用存储区的数量." + +msgctxt "help:stock.product_quantities_warehouse.context,warehouse:" +msgid "The warehouse for which the quantities will be calculated." +msgstr "计算数量的仓库." + +msgctxt "help:stock.products_by_locations.context,forecast_date:" +msgid "" +"The date for which the stock quantity is calculated.\n" +"* An empty value calculates as far ahead as possible.\n" +"* A date in the past will provide historical values." +msgstr "" +"计算库存量的日期.\n" +"* 空值表示尽可能提前计算.\n" +"* 过去的日期将提供历史价值." + +msgctxt "help:stock.reporting.margin.context,include_lost:" +msgid "" +"If checked, the cost of product moved to a lost and found location is " +"included." +msgstr "" + +msgctxt "help:stock.shipment.assign.partial,moves:" +msgid "The moves that were not assigned." +msgstr "库存变动没有选货." + +msgctxt "help:stock.shipment.in,company:" +msgid "The company the shipment is associated with." +msgstr "收货关联的公司." + +msgctxt "help:stock.shipment.in,contact_address:" +msgid "The address at which the supplier can be contacted." +msgstr "联系供应商的地址." + +msgctxt "help:stock.shipment.in,effective_date:" +msgid "When the stock was actually received." +msgstr "当库存实际接收时." + +msgctxt "help:stock.shipment.in,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "库存进入仓库的变动操作." + +msgctxt "help:stock.shipment.in,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "将库存从存储区移走的操作." + +msgctxt "help:stock.shipment.in,number:" +msgid "The main identifier for the shipment." +msgstr "收货的主标识符." + +msgctxt "help:stock.shipment.in,planned_date:" +msgid "When the stock is expected to be received." +msgstr "收货的预期时间." + +msgctxt "help:stock.shipment.in,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "收货对应的供应商标识符." + +msgctxt "help:stock.shipment.in,state:" +msgid "The current state of the shipment." +msgstr "收货的当前状态." + +msgctxt "help:stock.shipment.in,supplier:" +msgid "The party that supplied the stock." +msgstr "供货方." + +msgctxt "help:stock.shipment.in,warehouse:" +msgid "Where the stock is received." +msgstr "收货的地方." + +msgctxt "help:stock.shipment.in.return,company:" +msgid "The company the shipment is associated with." +msgstr "收货关联的公司." + +msgctxt "help:stock.shipment.in.return,delivery_address:" +msgid "Where the stock is sent to." +msgstr "货物送到的地方." + +msgctxt "help:stock.shipment.in.return,effective_date:" +msgid "When the stock was actually returned." +msgstr "实际退货时间." + +msgctxt "help:stock.shipment.in.return,from_location:" +msgid "Where the stock is moved from." +msgstr "库存变动的目的地." + +msgctxt "help:stock.shipment.in.return,moves:" +msgid "The moves that return the stock to the supplier." +msgstr "给供应商退货对应的库存变动." + +msgctxt "help:stock.shipment.in.return,number:" +msgid "The main identifier for the shipment." +msgstr "退货主标识符." + +msgctxt "help:stock.shipment.in.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "预期退货的时间." + +msgctxt "help:stock.shipment.in.return,reference:" +msgid "The supplier's identifier for the shipment." +msgstr "退货对应的供应商标识符." + +msgctxt "help:stock.shipment.in.return,state:" +msgid "The current state of the shipment." +msgstr "退货的当前状态." + +msgctxt "help:stock.shipment.in.return,supplier:" +msgid "The party that supplied the stock." +msgstr "供货方." + +msgctxt "help:stock.shipment.in.return,to_location:" +msgid "Where the stock is moved to." +msgstr "库存变动目的地." + +msgctxt "help:stock.shipment.internal,company:" +msgid "The company the shipment is associated with." +msgstr "发货关联的公司." + +msgctxt "help:stock.shipment.internal,effective_date:" +msgid "When the shipment was actually completed." +msgstr "当发货实际完成时." + +msgctxt "help:stock.shipment.internal,effective_start_date:" +msgid "When the stock was actually sent." +msgstr "当货物实际发出的时候." + +msgctxt "help:stock.shipment.internal,from_location:" +msgid "Where the stock is moved from." +msgstr "库存变动源地址." + +msgctxt "help:stock.shipment.internal,incoming_moves:" +msgid "The moves that receive the stock in." +msgstr "收货对应的库存变动." + +msgctxt "help:stock.shipment.internal,moves:" +msgid "The moves that perform the shipment." +msgstr "发货对应的变动." + +msgctxt "help:stock.shipment.internal,number:" +msgid "The main identifier for the shipment." +msgstr "发货的主标识符." + +msgctxt "help:stock.shipment.internal,outgoing_moves:" +msgid "The moves that send the stock out." +msgstr "仓库向外发货." + +msgctxt "help:stock.shipment.internal,planned_date:" +msgid "When the shipment is expected to be completed." +msgstr "发货预期完成时间." + +msgctxt "help:stock.shipment.internal,planned_start_date:" +msgid "When the stock is expected to be sent." +msgstr "货物预计发出时间." + +msgctxt "help:stock.shipment.internal,reference:" +msgid "The external identifiers for the shipment." +msgstr "发货的外部标识符." + +msgctxt "help:stock.shipment.internal,state:" +msgid "The current state of the shipment." +msgstr "发货的当前状态." + +msgctxt "help:stock.shipment.internal,to_location:" +msgid "Where the stock is moved to." +msgstr "库存变动目的地." + +msgctxt "help:stock.shipment.internal,transit_location:" +msgid "" +"Where the stock is located while it is in transit between the warehouses." +msgstr "库存中转时的位置." + +#, fuzzy +msgctxt "help:stock.shipment.internal,warehouse:" +msgid "Where the stock is sent from." +msgstr "货物发送地." + +msgctxt "help:stock.shipment.out,company:" +msgid "The company the shipment is associated with." +msgstr "发货关联的公司." + +msgctxt "help:stock.shipment.out,customer:" +msgid "The party that purchased the stock." +msgstr "采购的一方." + +msgctxt "help:stock.shipment.out,delivery_address:" +msgid "Where the stock is sent to." +msgstr "发货的目的地." + +msgctxt "help:stock.shipment.out,effective_date:" +msgid "When the stock was actually sent." +msgstr "发货确切时间." + +msgctxt "help:stock.shipment.out,inventory_moves:" +msgid "The moves that pick the stock from the storage area." +msgstr "从储存区拣货的变动." + +msgctxt "help:stock.shipment.out,number:" +msgid "The main identifier for the shipment." +msgstr "发货的主标识符." + +msgctxt "help:stock.shipment.out,outgoing_moves:" +msgid "The moves that send the stock to the customer." +msgstr "将库存发送给客户的动作." + +msgctxt "help:stock.shipment.out,planned_date:" +msgid "When the stock is expected to be sent." +msgstr "预期发货时间." + +msgctxt "help:stock.shipment.out,reference:" +msgid "The customer's identifier for the shipment." +msgstr "发货的客户标识符." + +msgctxt "help:stock.shipment.out,state:" +msgid "The current state of the shipment." +msgstr "发货的当前状态." + +msgctxt "help:stock.shipment.out,warehouse:" +msgid "Where the stock is sent from." +msgstr "货物发送地." + +msgctxt "help:stock.shipment.out.return,company:" +msgid "The company the shipment is associated with." +msgstr "退货关联的公司." + +msgctxt "help:stock.shipment.out.return,customer:" +msgid "The party that purchased the stock." +msgstr "购买库存的参与方." + +msgctxt "help:stock.shipment.out.return,delivery_address:" +msgid "The address the customer can be contacted at." +msgstr "客户联系地址." + +msgctxt "help:stock.shipment.out.return,effective_date:" +msgid "When the stock was returned." +msgstr "退货时间." + +msgctxt "help:stock.shipment.out.return,incoming_moves:" +msgid "The moves that bring the stock into the warehouse." +msgstr "把货物进仓库的动作." + +msgctxt "help:stock.shipment.out.return,inventory_moves:" +msgid "The moves that put the stock away into the storage area." +msgstr "把存货放进储藏区的动作." + +msgctxt "help:stock.shipment.out.return,number:" +msgid "The main identifier for the shipment." +msgstr "退货的主标识符." + +msgctxt "help:stock.shipment.out.return,planned_date:" +msgid "When the stock is expected to be returned." +msgstr "退货预期时间." + +msgctxt "help:stock.shipment.out.return,reference:" +msgid "The customer's identifier for the shipment." +msgstr "退货的客户标识符." + +msgctxt "help:stock.shipment.out.return,state:" +msgid "The current state of the shipment." +msgstr "退货的当前状态." + +msgctxt "help:stock.shipment.out.return,warehouse:" +msgid "Where the stock is returned." +msgstr "退货地." + +msgctxt "model:ir.action,name:act_inventory_form" +msgid "Inventories" +msgstr "库存盘点" + +msgctxt "model:ir.action,name:act_inventory_line_relate" +msgid "Inventory Lines" +msgstr "库存盘点明细" + +msgctxt "model:ir.action,name:act_location_form" +msgid "Locations" +msgstr "库位" + +msgctxt "model:ir.action,name:act_location_lead_time_form" +msgid "Location Lead Times" +msgstr "库位交付周期" + +msgctxt "model:ir.action,name:act_location_quantity_list" +msgid "Locations List Quantity" +msgstr "库位明细数量" + +msgctxt "model:ir.action,name:act_location_quantity_tree" +msgid "Locations Tree Quantity" +msgstr "库位树数量" + +msgctxt "model:ir.action,name:act_location_tree" +msgid "Locations" +msgstr "库位" + +msgctxt "model:ir.action,name:act_move_form" +msgid "Moves" +msgstr "变动" + +msgctxt "model:ir.action,name:act_period_list" +msgid "Periods" +msgstr "分期" + +msgctxt "model:ir.action,name:act_product_cost_price_revision" +msgid "Cost Price Revision" +msgstr "成本价修正" + +msgctxt "model:ir.action,name:act_product_moves" +msgid "Stock Moves" +msgstr "库存变动" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse" +msgid "Product Quantities By Warehouse" +msgstr "按仓库列出的产品数量" + +msgctxt "model:ir.action,name:act_product_quantities_warehouse_move" +msgid "Stock Moves By Warehouse" +msgstr "仓库库存变动" + +msgctxt "model:ir.action,name:act_products_by_locations_relate" +msgid "Products by Locations" +msgstr "按库位划分的产品" + +msgctxt "model:ir.action,name:act_reporting_margin_category" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_time_series" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_category_tree" +msgid "Margins per Category" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_reporting_margin_product_time_series" +msgid "Margins per Product" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_in_form" +msgid "Supplier Shipments" +msgstr "从供应商收货" + +msgctxt "model:ir.action,name:act_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.action,name:act_shipment_internal_form" +msgid "Internal Shipments" +msgstr "内部发货" + +msgctxt "model:ir.action,name:act_shipment_out_form" +msgid "Customer Shipments" +msgstr "向客户发货" + +msgctxt "model:ir.action,name:act_shipment_out_form2" +msgid "Customer Shipments" +msgstr "向客户发货" + +msgctxt "model:ir.action,name:act_shipment_out_form3" +msgid "Supplier Shipments" +msgstr "从供应商收货" + +msgctxt "model:ir.action,name:act_shipment_out_return_form" +msgid "Returns" +msgstr "" + +#, fuzzy +msgctxt "model:ir.action,name:act_stock_configuration_form" +msgid "Configuration" +msgstr "设置" + +msgctxt "model:ir.action,name:report_shipment_in_restocking_list" +msgid "Restocking List" +msgstr "补货清单" + +msgctxt "model:ir.action,name:report_shipment_internal" +msgid "Internal Shipment" +msgstr "内部发货" + +msgctxt "model:ir.action,name:report_shipment_out_delivery_note" +msgid "Delivery Note" +msgstr "送货清单" + +msgctxt "model:ir.action,name:report_shipment_out_picking_list" +msgid "Picking List" +msgstr "拣货清单" + +msgctxt "model:ir.action,name:report_shipment_out_return_restocking_list" +msgid "Restocking List" +msgstr "补货清单" + +msgctxt "model:ir.action,name:wizard_inventory_count" +msgid "Count" +msgstr "盘点" + +#, fuzzy +msgctxt "model:ir.action,name:wizard_open_product_quantities_by_warehouse" +msgid "Products Quantities By Warehouse" +msgstr "按仓库列出的产品数量" + +#, fuzzy +msgctxt "" +"model:ir.action,name:wizard_open_product_quantities_by_warehouse_move" +msgid "Stock Moves" +msgstr "库存变动" + +msgctxt "model:ir.action,name:wizard_product_modify_cost_price" +msgid "Modify Cost Price" +msgstr "修改成本价" + +msgctxt "model:ir.action,name:wizard_recompute_cost_price" +msgid "Recompute Cost Price" +msgstr "重新计算成本价" + +msgctxt "model:ir.action,name:wizard_shipment_in_return_assign" +msgid "Assign Supplier Return Shipment" +msgstr "选定向供应商要退的货物" + +msgctxt "model:ir.action,name:wizard_shipment_internal_assign" +msgid "Assign Internal Shipment" +msgstr "选定内部发送的货物" + +msgctxt "model:ir.action,name:wizard_shipment_out_assign" +msgid "Assign Customer Shipment" +msgstr "选定给客户发送的货物" + +msgctxt "model:ir.action.act_window.domain,name:act_inventory_form_domain_all" +msgid "All" +msgstr "全部" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_inventory_form_domain_draft" +msgid "Draft" +msgstr "草案" + +msgctxt "model:ir.action.act_window.domain,name:act_move_form_domain_all" +msgid "All" +msgstr "全部" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier" +msgid "From Suppliers" +msgstr "从供应商收货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_from_supplier_waiting" +msgid "From Suppliers Waiting" +msgstr "从供应商等待收货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_move_form_domain_to_customer" +msgid "To Customers" +msgstr "向客户发货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_all" +msgid "All" +msgstr "全部" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_draft" +msgid "Draft" +msgstr "草案" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_form_domain_received" +msgid "Received" +msgstr "已接收" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_all" +msgid "All" +msgstr "全部" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_assigned" +msgid "Assigned" +msgstr "已选货" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_available" +msgid "Partially Assigned" +msgstr "已选货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_draft" +msgid "Draft" +msgstr "草案" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_in_return_form_domain_waiting" +msgid "Waiting" +msgstr "正在等待" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_all" +msgid "All" +msgstr "全部" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_assigned" +msgid "Assigned" +msgstr "已选货" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_available" +msgid "Partially Assigned" +msgstr "已选货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_draft" +msgid "Draft" +msgstr "草案" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_requests" +msgid "Requests" +msgstr "申请" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_shipped" +msgid "Shipped" +msgstr "发货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_internal_form_domain_waiting" +msgid "Waiting" +msgstr "等待" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_all" +msgid "All" +msgstr "全部" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_assigned" +msgid "Assigned" +msgstr "已选货" + +#, fuzzy +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_available" +msgid "Partially Assigned" +msgstr "已选货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_draft" +msgid "Draft" +msgstr "草案" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_packed" +msgid "Packed" +msgstr "已包装" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_picked" +msgid "Picked" +msgstr "已拣货" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_form_domain_waiting" +msgid "Waiting" +msgstr "正在等待" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_all" +msgid "All" +msgstr "全部" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_draft" +msgid "Draft" +msgstr "草案" + +msgctxt "" +"model:ir.action.act_window.domain,name:act_shipment_out_return_form_domain_received" +msgid "Received" +msgstr "已接收" + +msgctxt "model:ir.message,text:msg_erase_party_shipment" +msgid "" +"You cannot erase party \"%(party)s\" while they have pending shipments with " +"company \"%(company)s\"." +msgstr "当参与方 \"%(party)s\" 与公司 \"%(company)s\" 有待处理的收发货时,您不能删除它们." + +msgctxt "model:ir.message,text:msg_invalid_cost_price" +msgid "" +"Invalid cost price \"%(cost_price)s\" for product \"%(product)s\" with " +"exception \"%(exception)s\"." +msgstr "产品 \"%(product)s\" 的成本价 \"%(cost_price)s\" 无效,异常为\"%(exception)s\"." + +msgctxt "model:ir.message,text:msg_inventory_count_create_line" +msgid "No existing line found for \"%(search)s\"." +msgstr "\"%(search)s\" 找不到存在的明细." + +msgctxt "model:ir.message,text:msg_inventory_date_in_the_future" +msgid "The inventories \"%(inventories)s\" have dates in the future." +msgstr "库存盘点 \"%(inventories)s\" 日期超前." + +msgctxt "model:ir.message,text:msg_inventory_delete_cancel" +msgid "To delete inventory \"%(inventory)s\" you must cancel it." +msgstr "删除库存盘点 \"%(inventory)s\" 之前, 必须取消它." + +msgctxt "model:ir.message,text:msg_inventory_line_delete_cancel" +msgid "" +"To delete inventory line \"%(line)s\" you must cancel inventory " +"\"%(inventory)s\"." +msgstr "要删除库存盘点明细 \"%(line)s\",必须取消库存盘点 \"%(inventory)s\"." + +msgctxt "model:ir.message,text:msg_inventory_line_quantity_positive" +msgid "Inventory line quantity must be positive." +msgstr "库存盘点明细数量必须为正." + +msgctxt "model:ir.message,text:msg_inventory_line_unique" +msgid "Inventory line \"%(line)s\" is not unique on inventory \"%(inventory)s\"." +msgstr "库存盘点明细 \"%(line)s\"在库存盘点 \"%(inventory)s\" 中有重复." + +msgctxt "model:ir.message,text:msg_inventory_location_missing_lost_found" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must set a lost and found on " +"a parent of location \"%(location)s\"." +msgstr "要确认库存盘点 \"%(inventory)s\",您必须在库位 \"%(location)s\" 的上级设置失物招领区." + +msgctxt "model:ir.message,text:msg_inventory_missing_empty_quantity" +msgid "" +"To confirm the inventory \"%(inventory)s\" you must select an option for " +"empty quantity." +msgstr "要确认库存\"%(inventory)s\",必须为空数量选择一个选项." + +msgctxt "model:ir.message,text:msg_location_child_of_warehouse" +msgid "" +"To set location \"%(location)s\" as storage/input/output of warehouse " +"\"%(warehouse)s\", it must be in the warehouse." +msgstr "如果要将库位 \"%(location)s\" 设置为仓库 \"%(warehouse)s\" 的存储/输入/输出,则必须在仓库中." + +msgctxt "model:ir.message,text:msg_location_inactive_not_empty" +msgid "To inactivate location \"%(location)s\", you must empty it." +msgstr "要停用库位\"%(location)s\", 必须将其清空." + +msgctxt "model:ir.message,text:msg_location_invalid_type_for_moves" +msgid "" +"You cannot change the type of location \"%(location)s\" to \"%(type)s\"\n" +"because the type does not support moves and location has existing moves." +msgstr "" +"不能将库位 \"%(location)s\" 的类型更改为 \"%(type)s\".\n" +"因为这种类型不支持变动,并且库位已经有库存变动了." + +msgctxt "model:ir.message,text:msg_move_delete_draft_cancel" +msgid "" +"To delete stock move \"%(move)s\" you must cancel it or reset its state to " +"draft." +msgstr "若要删除库存变动 \"%(move)s\",必须将其取消或将其状态重置为草稿." + +msgctxt "model:ir.message,text:msg_move_effective_date_in_the_future" +msgid "The moves \"%(moves)s\" have effective dates in the future." +msgstr "库存变动 \"%(moves)s\" 的生效时间在未来." + +msgctxt "model:ir.message,text:msg_move_from_to_location" +msgid "The source and destination of stock move must be different." +msgstr "库存变动的来源和目的地不能相同." + +msgctxt "model:ir.message,text:msg_move_internal_quantity_positive" +msgid "Internal move quantity must be positive." +msgstr "内部变动数量必须为正." + +msgctxt "model:ir.message,text:msg_move_modify_assigned" +msgid "To modify stock move \"%(move)s\" you must reset its state to draft." +msgstr "要修改库存变动 \"%(move)s\",必须将其状态重置为草稿." + +#, fuzzy +msgctxt "model:ir.message,text:msg_move_modify_cancelled" +msgid "You cannot modify stock move \"%(move)s\" because it is cancelled." +msgstr "无法更改库存变动 \"%(move)s\", 因为它已经取消了." + +msgctxt "model:ir.message,text:msg_move_modify_done" +msgid "You cannot modify stock move \"%(move)s\" because it is done." +msgstr "无法更改库存变动 \"%(move)s\", 因为它已经完成了." + +msgctxt "model:ir.message,text:msg_move_modify_period_close" +msgid "To modify stock move \"%(move)s\" you must reopen period \"%(period)s\"." +msgstr "要修改库存变动 \"%(move)s\" 你必须重新开启分期 \"%(period)s\"." + +msgctxt "model:ir.message,text:msg_move_no_origin" +msgid "Stock moves \"%(moves)s\" have no origin." +msgstr "库存变动 \"%(moves)s\" 没有依据." + +msgctxt "model:ir.message,text:msg_move_quantity_positive" +msgid "Move quantity must be positive." +msgstr "库存变动数量必须为正." + +msgctxt "model:ir.message,text:msg_period_close_assigned_move" +msgid "You cannot close periods with assigned moves in it." +msgstr "不能关闭包含已选货的库存变动的分期." + +msgctxt "model:ir.message,text:msg_period_close_date" +msgid "You cannot close periods with a date in the future or today." +msgstr "不能关闭包含将来或今天日期的分期." + +msgctxt "model:ir.message,text:msg_product_change_cost_price" +msgid "" +"You cannot change the cost price of a product which is associated with stock moves.\n" +"You must use the \"Modify Cost Price\" wizard." +msgstr "" +"不能更改与库存变动相关联的产品的成本价.\n" +"必须使用“修改成本价”向导." + +msgctxt "model:ir.message,text:msg_product_change_default_uom" +msgid "" +"You cannot change the default UOM of a product which is associated with " +"stock moves." +msgstr "不能更改与库存变动关联的产品的默认计量单位." + +msgctxt "model:ir.message,text:msg_product_change_type" +msgid "" +"You cannot change the type of a product which is associated with stock " +"moves." +msgstr "不能更改与库存变动关联的产品类型." + +msgctxt "model:ir.message,text:msg_shipment_delete_cancel" +msgid "To delete shipment \"%(shipment)s\" you must cancel it." +msgstr "删除收发货 \"%(shipment)s\" 之前,必须取消它." + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_company" +msgid "Company" +msgstr "公司" + +msgctxt "model:ir.message,text:msg_stock_reporting_cost" +msgid "Cost" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_currency_digits" +msgid "Currency Digits" +msgstr "货币" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin" +msgid "Margin" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_margin_trend" +msgid "Margin Trend" +msgstr "" + +#, fuzzy +msgctxt "model:ir.message,text:msg_stock_reporting_number" +msgid "Number" +msgstr "编号" + +msgctxt "model:ir.message,text:msg_stock_reporting_profit" +msgid "Profit" +msgstr "" + +msgctxt "model:ir.message,text:msg_stock_reporting_revenue" +msgid "Revenue" +msgstr "" + +msgctxt "model:ir.model.button,confirm:inventory_cancel_button" +msgid "Are you sure you want to cancel the inventory?" +msgstr "确定要取消库存盘点吗?" + +msgctxt "model:ir.model.button,confirm:inventory_confirm_button" +msgid "Are you sure you want to confirm the inventory?" +msgstr "确定要确认库存盘点吗?" + +msgctxt "model:ir.model.button,confirm:move_cancel_button" +msgid "Are you sure you want to cancel the move?" +msgstr "确定要取消库存变动吗?" + +msgctxt "model:ir.model.button,confirm:move_do_button" +msgid "Are you sure you want to complete the move?" +msgstr "确定要完成库存变动吗?" + +msgctxt "model:ir.model.button,confirm:shipment_in_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "确定要收货吗?" + +msgctxt "model:ir.model.button,confirm:shipment_in_return_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "确定要完成收货吗?" + +msgctxt "model:ir.model.button,confirm:shipment_out_done_button" +msgid "Are you sure you want to complete the shipment?" +msgstr "确定要完成发货吗?" + +msgctxt "model:ir.model.button,confirm:shipment_out_return_receive_button" +msgid "Are you sure you want to receive the shipment?" +msgstr "你确定要接收客户退货吗?" + +msgctxt "model:ir.model.button,help:inventory_complete_lines_button" +msgid "Add an inventory line for each missing products" +msgstr "为每个缺少的产品添加一条库存盘点明细" + +msgctxt "model:ir.model.button,help:inventory_count_button" +msgid "Launch the wizard to count products" +msgstr "启动产品数量盘点向导" + +msgctxt "model:ir.model.button,string:inventory_cancel_button" +msgid "Cancel" +msgstr "取消" + +msgctxt "model:ir.model.button,string:inventory_complete_lines_button" +msgid "Complete" +msgstr "补全" + +msgctxt "model:ir.model.button,string:inventory_confirm_button" +msgid "Confirm" +msgstr "确认" + +msgctxt "model:ir.model.button,string:inventory_count_button" +msgid "Count" +msgstr "盘点" + +msgctxt "model:ir.model.button,string:move_cancel_button" +msgid "Cancel" +msgstr "取消" + +msgctxt "model:ir.model.button,string:move_do_button" +msgid "Do" +msgstr "Do" + +msgctxt "model:ir.model.button,string:move_draft_button" +msgid "Reset to Draft" +msgstr "重置为草案" + +msgctxt "model:ir.model.button,string:period_close_button" +msgid "Close" +msgstr "结账" + +msgctxt "model:ir.model.button,string:period_draft_button" +msgid "Draft" +msgstr "草案" + +msgctxt "model:ir.model.button,string:shipment_in_cancel_button" +msgid "Cancel" +msgstr "取消" + +msgctxt "model:ir.model.button,string:shipment_in_done_button" +msgid "Done" +msgstr "完成" + +msgctxt "model:ir.model.button,string:shipment_in_draft_button" +msgid "Reset to Draft" +msgstr "重置为草案" + +msgctxt "model:ir.model.button,string:shipment_in_receive_button" +msgid "Receive" +msgstr "接收" + +msgctxt "model:ir.model.button,string:shipment_in_return_assign_wizard_button" +msgid "Assign" +msgstr "选货" + +msgctxt "model:ir.model.button,string:shipment_in_return_cancel_button" +msgid "Cancel" +msgstr "取消" + +msgctxt "model:ir.model.button,string:shipment_in_return_done_button" +msgid "Done" +msgstr "完成" + +msgctxt "model:ir.model.button,string:shipment_in_return_draft_button" +msgid "Draft" +msgstr "草案" + +msgctxt "model:ir.model.button,string:shipment_in_return_wait_button" +msgid "Wait" +msgstr "等待" + +msgctxt "model:ir.model.button,string:shipment_internal_assign_wizard_button" +msgid "Assign" +msgstr "选货" + +msgctxt "model:ir.model.button,string:shipment_internal_cancel_button" +msgid "Cancel" +msgstr "取消" + +msgctxt "model:ir.model.button,string:shipment_internal_done_button" +msgid "Done" +msgstr "完成" + +msgctxt "model:ir.model.button,string:shipment_internal_draft_button" +msgid "Draft" +msgstr "草案" + +msgctxt "model:ir.model.button,string:shipment_internal_ship_button" +msgid "Ship" +msgstr "发货" + +msgctxt "model:ir.model.button,string:shipment_internal_wait_button" +msgid "Wait" +msgstr "等待" + +msgctxt "model:ir.model.button,string:shipment_out_assign_wizard_button" +msgid "Assign" +msgstr "选货" + +msgctxt "model:ir.model.button,string:shipment_out_cancel_button" +msgid "Cancel" +msgstr "取消" + +msgctxt "model:ir.model.button,string:shipment_out_done_button" +msgid "Done" +msgstr "完成" + +msgctxt "model:ir.model.button,string:shipment_out_draft_button" +msgid "Draft" +msgstr "草案" + +msgctxt "model:ir.model.button,string:shipment_out_pack_button" +msgid "Pack" +msgstr "包装" + +msgctxt "model:ir.model.button,string:shipment_out_pick_button" +msgid "Pick" +msgstr "拣货" + +msgctxt "model:ir.model.button,string:shipment_out_return_cancel_button" +msgid "Cancel" +msgstr "取消" + +msgctxt "model:ir.model.button,string:shipment_out_return_done_button" +msgid "Done" +msgstr "完成" + +msgctxt "model:ir.model.button,string:shipment_out_return_draft_button" +msgid "Draft" +msgstr "草案" + +msgctxt "model:ir.model.button,string:shipment_out_return_receive_button" +msgid "Receive" +msgstr "接收" + +msgctxt "model:ir.model.button,string:shipment_out_wait_button" +msgid "Wait" +msgstr "等待" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_inventory_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_move_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_period_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_cost_price_revision_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_product_quantities_warehouse_move_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_category_time_series_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "" +"model:ir.rule.group,name:rule_group_reporting_margin_product_time_series_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_in_return_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_internal_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_companies" +msgid "User in companies" +msgstr "公司中的用户" + +#, fuzzy +msgctxt "model:ir.rule.group,name:rule_group_shipment_out_return_companies" +msgid "User in companies" +msgstr "公司中的用户" + +msgctxt "model:ir.sequence,name:sequence_inventory" +msgid "Inventory" +msgstr "库存盘点" + +msgctxt "model:ir.sequence,name:sequence_shipment_in" +msgid "Supplier Shipment" +msgstr "从供应商收货" + +msgctxt "model:ir.sequence,name:sequence_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "向供应商退货" + +msgctxt "model:ir.sequence,name:sequence_shipment_internal" +msgid "Internal Shipment" +msgstr "内部发货" + +msgctxt "model:ir.sequence,name:sequence_shipment_out" +msgid "Customer Shipment" +msgstr "向客户发货" + +msgctxt "model:ir.sequence,name:sequence_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "接收客户退货" + +msgctxt "model:ir.sequence.type,name:sequence_type_inventory" +msgid "Inventory" +msgstr "库存盘点" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in" +msgid "Supplier Shipment" +msgstr "从供应商收货" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_in_return" +msgid "Supplier Return Shipment" +msgstr "向供应商退货" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_internal" +msgid "Internal Shipment" +msgstr "内部发货" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out" +msgid "Customer Shipment" +msgstr "向客户发货" + +msgctxt "model:ir.sequence.type,name:sequence_type_shipment_out_return" +msgid "Customer Return Shipment" +msgstr "接收客户退货" + +msgctxt "model:ir.ui.menu,name:menu_configuration" +msgid "Configuration" +msgstr "设置" + +msgctxt "model:ir.ui.menu,name:menu_inventory_form" +msgid "Inventories" +msgstr "库存盘点" + +msgctxt "model:ir.ui.menu,name:menu_location_form" +msgid "Locations" +msgstr "库位" + +msgctxt "model:ir.ui.menu,name:menu_location_form2" +msgid "Locations" +msgstr "库位" + +msgctxt "model:ir.ui.menu,name:menu_location_lead_time_form" +msgid "Location Lead Times" +msgstr "库位交付周期" + +msgctxt "model:ir.ui.menu,name:menu_location_tree" +msgid "Locations" +msgstr "库位" + +msgctxt "model:ir.ui.menu,name:menu_move_form" +msgid "Moves" +msgstr "变动" + +msgctxt "model:ir.ui.menu,name:menu_period_list" +msgid "Periods" +msgstr "分期" + +msgctxt "model:ir.ui.menu,name:menu_reporting" +msgid "Reporting" +msgstr "报表" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_reporting_margin" +msgid "Margins" +msgstr "依据" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_form" +msgid "Supplier Shipments" +msgstr "从供应商收货" + +msgctxt "model:ir.ui.menu,name:menu_shipment_in_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_shipment_internal_form" +msgid "Internal Shipments" +msgstr "内部发货" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_form" +msgid "Customer Shipments" +msgstr "向客户发货" + +msgctxt "model:ir.ui.menu,name:menu_shipment_out_return_form" +msgid "Returns" +msgstr "" + +msgctxt "model:ir.ui.menu,name:menu_stock" +msgid "Inventory & Stock" +msgstr "库存 & 盘点" + +#, fuzzy +msgctxt "model:ir.ui.menu,name:menu_stock_configuration" +msgid "Configuration" +msgstr "设置" + +msgctxt "model:party.party.location,name:" +msgid "Party Location" +msgstr "参与者库位" + +msgctxt "model:product.by_location.context,name:" +msgid "Product by Location" +msgstr "按库位划分的产品" + +msgctxt "model:product.cost_price.revision,name:" +msgid "Product Cost Price Revision" +msgstr "产品成本价修正" + +msgctxt "model:product.modify_cost_price.start,name:" +msgid "Modify Cost Price" +msgstr "修改成本价" + +msgctxt "model:product.recompute_cost_price.start,name:" +msgid "Recompute Cost Price" +msgstr "重新计算成本价" + +msgctxt "model:res.group,name:group_stock" +msgid "Stock" +msgstr "库存" + +msgctxt "model:res.group,name:group_stock_admin" +msgid "Stock Administration" +msgstr "库存管理" + +msgctxt "model:res.group,name:group_stock_force_assignment" +msgid "Stock Force Assignment" +msgstr "仓库强制选货" + +msgctxt "model:stock.configuration,name:" +msgid "Stock Configuration" +msgstr "库存配置" + +msgctxt "model:stock.configuration.location,name:" +msgid "Stock Configuration Location" +msgstr "库存配置-库位" + +msgctxt "model:stock.configuration.sequence,name:" +msgid "Stock Configuration Sequence" +msgstr "库存配置序列" + +msgctxt "model:stock.inventory,name:" +msgid "Stock Inventory" +msgstr "库存盘点" + +msgctxt "model:stock.inventory.count.quantity,name:" +msgid "Stock Inventory Count" +msgstr "库存盘点" + +msgctxt "model:stock.inventory.count.search,name:" +msgid "Stock Inventory Count" +msgstr "库存盘点" + +msgctxt "model:stock.inventory.line,name:" +msgid "Stock Inventory Line" +msgstr "库存盘点明细" + +msgctxt "model:stock.location,name:" +msgid "Stock Location" +msgstr "库位" + +msgctxt "model:stock.location,name:location_customer" +msgid "Customer" +msgstr "客户" + +msgctxt "model:stock.location,name:location_input" +msgid "Input Zone" +msgstr "收货区" + +msgctxt "model:stock.location,name:location_lost_found" +msgid "Lost and Found" +msgstr "失物招领区" + +msgctxt "model:stock.location,name:location_output" +msgid "Output Zone" +msgstr "出货区" + +msgctxt "model:stock.location,name:location_storage" +msgid "Storage Zone" +msgstr "存储区" + +msgctxt "model:stock.location,name:location_supplier" +msgid "Supplier" +msgstr "供应商" + +msgctxt "model:stock.location,name:location_transit" +msgid "Transit" +msgstr "中转" + +msgctxt "model:stock.location,name:location_warehouse" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "model:stock.location.lead_time,name:" +msgid "Location Lead Time" +msgstr "库位交货期" + +msgctxt "model:stock.location.waste,name:" +msgid "Warehouse Waste Location" +msgstr "仓库弃物库位" + +msgctxt "model:stock.move,name:" +msgid "Stock Move" +msgstr "库存变动" + +msgctxt "model:stock.period,name:" +msgid "Stock Period" +msgstr "库存分期" + +msgctxt "model:stock.period.cache,name:" +msgid "Stock Period Cache" +msgstr "库存分期缓存" + +msgctxt "model:stock.product_quantities_warehouse,name:" +msgid "Product Quantities By Warehouse" +msgstr "按仓库列出的产品数量" + +msgctxt "model:stock.product_quantities_warehouse.context,name:" +msgid "Product Quantities By Warehouse" +msgstr "按仓库列出的产品数量" + +msgctxt "model:stock.product_quantities_warehouse.move,name:" +msgid "Product Quantities By Warehouse Moves" +msgstr "按库存变动列出的产品数量" + +msgctxt "model:stock.products_by_locations,name:" +msgid "Products by Locations" +msgstr "按库位划分的产品" + +msgctxt "model:stock.products_by_locations.context,name:" +msgid "Products by Locations" +msgstr "按库位划分的产品" + +msgctxt "model:stock.reporting.margin.category,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.time_series,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.category.tree,name:" +msgid "Stock Reporting Margin per Category" +msgstr "" + +msgctxt "model:stock.reporting.margin.context,name:" +msgid "Stock Reporting Margin Context" +msgstr "" + +msgctxt "model:stock.reporting.margin.product,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.reporting.margin.product.time_series,name:" +msgid "Stock Reporting Margin per Product" +msgstr "" + +msgctxt "model:stock.shipment.assign.partial,name:" +msgid "Assign Shipment" +msgstr "选货" + +msgctxt "model:stock.shipment.in,name:" +msgid "Supplier Shipment" +msgstr "从供应商收货" + +msgctxt "model:stock.shipment.in.return,name:" +msgid "Supplier Return Shipment" +msgstr "向供应商退货" + +msgctxt "model:stock.shipment.internal,name:" +msgid "Internal Shipment" +msgstr "内部发货" + +msgctxt "model:stock.shipment.out,name:" +msgid "Customer Shipment" +msgstr "向客户发货" + +msgctxt "model:stock.shipment.out.return,name:" +msgid "Customer Return Shipment" +msgstr "接收客户退货" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "From Location" +msgstr "从库位" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Planned Date:" +msgstr "计划日期:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Product" +msgstr "产品" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Quantity" +msgstr "数量" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Reference:" +msgstr "参考:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Restocking List" +msgstr "补货单" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Shipment Number" +msgstr "收货编号" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Supplier:" +msgstr "供应商:" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "To Location" +msgstr "到库位" + +msgctxt "report:stock.shipment.in.restocking_list:" +msgid "Warehouse:" +msgstr "仓库:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.internal.report:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location" +msgstr "从库位" + +msgctxt "report:stock.shipment.internal.report:" +msgid "From Location:" +msgstr "从库位:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Internal Shipment" +msgstr "内部发货" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Planned Date:" +msgstr "计划日期:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Product" +msgstr "产品" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Quantity" +msgstr "数量" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Reference:" +msgstr "参考:" + +msgctxt "report:stock.shipment.internal.report:" +msgid "Shipment Number" +msgstr "发货号" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location" +msgstr "到库位" + +msgctxt "report:stock.shipment.internal.report:" +msgid "To Location:" +msgstr "到库位:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Customer Code:" +msgstr "客户代码:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Date:" +msgstr "日期:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Delivery Note" +msgstr "提货单" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Product" +msgstr "产品" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Quantity" +msgstr "数量" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Reference:" +msgstr "参考:" + +msgctxt "report:stock.shipment.out.delivery_note:" +msgid "Shipment Number:" +msgstr "发货号:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Customer:" +msgstr "客户:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "From Location" +msgstr "从库位" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Picking List" +msgstr "拣货单" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Planned Date:" +msgstr "计划日期:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Product" +msgstr "产品" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Quantity" +msgstr "数量" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Reference:" +msgstr "参考:" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Shipment Number" +msgstr "发货号" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "To Location" +msgstr "到库位" + +msgctxt "report:stock.shipment.out.picking_list:" +msgid "Warehouse:" +msgstr "仓库:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "/" +msgstr "/" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid ":" +msgstr ":" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Customer" +msgstr "客户" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "From Location" +msgstr "从库位" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Number" +msgstr "数量" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Planned Date:" +msgstr "计划日期:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Product" +msgstr "产品" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Quantity" +msgstr "数量" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Reference:" +msgstr "参考:" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Restocking List" +msgstr "补货单" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Shipment" +msgstr "退货" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "To Location" +msgstr "到库位" + +msgctxt "report:stock.shipment.out.return.restocking_list:" +msgid "Warehouse:" +msgstr "仓库:" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Customer Shipments" +msgstr "选定给客户发送的货物" + +#, fuzzy +msgctxt "selection:ir.cron,method:" +msgid "Assign Internal Shipments" +msgstr "选定内部发送的货物" + +msgctxt "selection:ir.cron,method:" +msgid "Recompute Cost Price from Moves" +msgstr "根据变动重新计算成本价" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Customer Shipments" +msgstr "重新安排向客户发货" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Internal Shipments" +msgstr "重新安排内部发货" + +msgctxt "selection:ir.cron,method:" +msgid "Reschedule Supplier Return Shipments" +msgstr "重新安排向供应商退货" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Empty" +msgstr "空" + +msgctxt "selection:stock.inventory,empty_quantity:" +msgid "Keep" +msgstr "保持" + +msgctxt "selection:stock.inventory,state:" +msgid "Cancelled" +msgstr "取消" + +msgctxt "selection:stock.inventory,state:" +msgid "Done" +msgstr "完成" + +msgctxt "selection:stock.inventory,state:" +msgid "Draft" +msgstr "草案" + +msgctxt "selection:stock.inventory.count.search,search:" +msgid "Product" +msgstr "产品" + +msgctxt "selection:stock.location,type:" +msgid "Customer" +msgstr "客户" + +msgctxt "selection:stock.location,type:" +msgid "Drop" +msgstr "直接代发货" + +msgctxt "selection:stock.location,type:" +msgid "Lost and Found" +msgstr "失物招领区" + +msgctxt "selection:stock.location,type:" +msgid "Production" +msgstr "产品" + +msgctxt "selection:stock.location,type:" +msgid "Storage" +msgstr "存储" + +msgctxt "selection:stock.location,type:" +msgid "Supplier" +msgstr "供应商" + +msgctxt "selection:stock.location,type:" +msgid "View" +msgstr "视图" + +msgctxt "selection:stock.location,type:" +msgid "Warehouse" +msgstr "仓库" + +msgctxt "selection:stock.move,state:" +msgid "Assigned" +msgstr "已选货" + +msgctxt "selection:stock.move,state:" +msgid "Cancelled" +msgstr "已取消" + +msgctxt "selection:stock.move,state:" +msgid "Done" +msgstr "已完成" + +msgctxt "selection:stock.move,state:" +msgid "Draft" +msgstr "草案" + +msgctxt "selection:stock.move,state:" +msgid "Staging" +msgstr "正在进行" + +msgctxt "selection:stock.period,state:" +msgid "Closed" +msgstr "关闭" + +msgctxt "selection:stock.period,state:" +msgid "Draft" +msgstr "草稿" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Product" +msgstr "产品" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse,product:" +msgid "Variant" +msgstr "变体" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Product" +msgstr "产品" + +#, fuzzy +msgctxt "selection:stock.product_quantities_warehouse.move,product:" +msgid "Variant" +msgstr "变体" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Day" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Month" +msgstr "" + +msgctxt "selection:stock.reporting.margin.context,period:" +msgid "Year" +msgstr "" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Cancelled" +msgstr "已取消" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Done" +msgstr "完成" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Draft" +msgstr "草稿" + +msgctxt "selection:stock.shipment.in,state:" +msgid "Received" +msgstr "已接收" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Assigned" +msgstr "已选货" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Cancelled" +msgstr "已取消" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Done" +msgstr "已完成" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Draft" +msgstr "草稿" + +msgctxt "selection:stock.shipment.in.return,state:" +msgid "Waiting" +msgstr "正在等待" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Assigned" +msgstr "已选货" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Cancelled" +msgstr "已取消" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Done" +msgstr "完成" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Draft" +msgstr "草案" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Request" +msgstr "申请" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Shipped" +msgstr "已发货" + +msgctxt "selection:stock.shipment.internal,state:" +msgid "Waiting" +msgstr "正在等待" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Assigned" +msgstr "已选货" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Cancelled" +msgstr "已取消" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Done" +msgstr "完成" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Draft" +msgstr "草稿" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Packed" +msgstr "已包装" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Picked" +msgstr "已拣货" + +msgctxt "selection:stock.shipment.out,state:" +msgid "Waiting" +msgstr "正在等待" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Cancelled" +msgstr "已取消" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Done" +msgstr "完成" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Draft" +msgstr "草稿" + +msgctxt "selection:stock.shipment.out.return,state:" +msgid "Received" +msgstr "已收货" + +msgctxt "view:party.party:" +msgid "Stock" +msgstr "库存" + +msgctxt "view:res.user:" +msgid "The warehouse that you work at." +msgstr "你工作的仓库." + +msgctxt "view:stock.configuration:" +msgid "Inventory" +msgstr "库存盘点" + +msgctxt "view:stock.configuration:" +msgid "Shipments" +msgstr "收发货" + +msgctxt "view:stock.products_by_locations:" +msgid "Cost Value" +msgstr "成本取值" + +msgctxt "view:stock.reporting.margin.category.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category.tree:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.category:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product.time_series:" +msgid "%" +msgstr "" + +msgctxt "view:stock.reporting.margin.product:" +msgid "%" +msgstr "" + +msgctxt "view:stock.shipment.assign.partial:" +msgid "Unable to assign these products:" +msgstr "无法选定这些产品:" + +msgctxt "view:stock.shipment.in.return:" +msgid "Other Info" +msgstr "其它信息" + +msgctxt "view:stock.shipment.in:" +msgid "Other Info" +msgstr "其它信息" + +msgctxt "view:stock.shipment.internal:" +msgid "Other Info" +msgstr "其它信息" + +msgctxt "view:stock.shipment.out.return:" +msgid "Other Info" +msgstr "其它信息" + +msgctxt "view:stock.shipment.out:" +msgid "Other Info" +msgstr "其它信息" + +msgctxt "view:stock.shipment.out:" +msgid "Outgoing Moves" +msgstr "出货库存变动" + +msgctxt "wizard_button:product.modify_cost_price,start,end:" +msgid "Cancel" +msgstr "取消" + +msgctxt "wizard_button:product.modify_cost_price,start,modify:" +msgid "OK" +msgstr "确定" + +msgctxt "wizard_button:product.recompute_cost_price,start,end:" +msgid "Cancel" +msgstr "取消" + +msgctxt "wizard_button:product.recompute_cost_price,start,recompute:" +msgid "Recompute" +msgstr "重新计算" + +msgctxt "wizard_button:stock.inventory.count,quantity,add:" +msgid "Add" +msgstr "添加" + +msgctxt "wizard_button:stock.inventory.count,quantity,search:" +msgid "Cancel" +msgstr "取消" + +msgctxt "wizard_button:stock.inventory.count,search,end:" +msgid "End" +msgstr "结束" + +msgctxt "wizard_button:stock.inventory.count,search,quantity:" +msgid "Select" +msgstr "选择" + +msgctxt "wizard_button:stock.shipment.assign,partial,cancel:" +msgid "Cancel" +msgstr "取消" + +msgctxt "wizard_button:stock.shipment.assign,partial,end:" +msgid "Wait" +msgstr "等待" + +msgctxt "wizard_button:stock.shipment.assign,partial,force:" +msgid "Force" +msgstr "强制" + +msgctxt "wizard_button:stock.shipment.assign,partial,ignore:" +msgid "Ignore" +msgstr "忽略" diff --git a/modules/stock/location.py b/modules/stock/location.py new file mode 100644 index 0000000000..4c7e4d5ba3 --- /dev/null +++ b/modules/stock/location.py @@ -0,0 +1,827 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import datetime +import operator +from decimal import Decimal + +from sql import Column + +from trytond.i18n import gettext +from trytond.model import ( + Model, ModelView, ModelSQL, MatchMixin, ValueMixin, DeactivableMixin, + fields, sequence_ordered, tree) +from trytond import backend +from trytond.cache import Cache +from trytond.pyson import Eval, If +from trytond.transaction import Transaction +from trytond.pool import Pool, PoolMeta +from trytond.tools import grouped_slice +from trytond.tools.multivalue import migrate_property + +from trytond.modules.product import price_digits, round_price + +from .exceptions import LocationValidationError + + +class WarehouseWasteLocation(ModelSQL): + "Warehouse Waste Location" + __name__ = 'stock.location.waste' + + warehouse = fields.Many2One( + 'stock.location', "Warehouse", required=True, ondelete='CASCADE', + domain=[('type', '=', 'warehouse')]) + location = fields.Many2One( + 'stock.location', "Waste Location", required=True, ondelete='CASCADE', + domain=[('type', '=', 'lost_found')]) + + +class Location(DeactivableMixin, tree(), ModelSQL, ModelView): + "Stock Location" + __name__ = 'stock.location' + _default_warehouse_cache = Cache('stock.location.default_warehouse', + context=False) + + name = fields.Char("Name", size=None, required=True, translate=True) + code = fields.Char( + "Code", size=None, select=True, + help="The internal identifier used for the location.") + address = fields.Many2One( + 'party.address', "Address", + states={ + 'invisible': Eval('type') != 'warehouse', + }, + depends=['type']) + type = fields.Selection([ + ('supplier', 'Supplier'), + ('customer', 'Customer'), + ('lost_found', 'Lost and Found'), + ('warehouse', 'Warehouse'), + ('storage', 'Storage'), + ('production', 'Production'), + ('drop', 'Drop'), + ('view', 'View'), + ], "Location type") + type_string = type.translated('type') + parent = fields.Many2One("stock.location", "Parent", select=True, + left="left", right="right", + states={ + 'invisible': Eval('type') == 'warehouse', + }, + depends=['type'], + help="Used to add structure above the location.") + left = fields.Integer('Left', required=True, select=True) + right = fields.Integer('Right', required=True, select=True) + childs = fields.One2Many("stock.location", "parent", "Children", + help="Used to add structure below the location.") + flat_childs = fields.Boolean( + "Flat Children", + help="Check to enforce a single level of children with no " + "grandchildren.") + warehouse = fields.Function(fields.Many2One('stock.location', 'Warehouse'), + 'get_warehouse') + input_location = fields.Many2One( + "stock.location", "Input", states={ + 'invisible': Eval('type') != 'warehouse', + 'required': Eval('type') == 'warehouse', + }, + domain=[ + ('type', '=', 'storage'), + ['OR', + ('parent', 'child_of', [Eval('id')]), + ('parent', '=', None), + ], + ], + depends=['type', 'id'], + help="Where incoming stock is received.") + output_location = fields.Many2One( + "stock.location", "Output", states={ + 'invisible': Eval('type') != 'warehouse', + 'required': Eval('type') == 'warehouse', + }, + domain=[ + ('type', '=', 'storage'), + ['OR', + ('parent', 'child_of', [Eval('id')]), + ('parent', '=', None)]], + depends=['type', 'id'], + help="Where outgoing stock is sent from.") + storage_location = fields.Many2One( + "stock.location", "Storage", states={ + 'invisible': Eval('type') != 'warehouse', + 'required': Eval('type') == 'warehouse', + }, + domain=[ + ('type', 'in', ['storage', 'view']), + ['OR', + ('parent', 'child_of', [Eval('id')]), + ('parent', '=', None)]], + depends=['type', 'id'], + help="The top level location where stock is stored.") + picking_location = fields.Many2One( + 'stock.location', 'Picking', states={ + 'invisible': Eval('type') != 'warehouse', + }, + domain=[ + ('type', '=', 'storage'), + ('parent', 'child_of', [Eval('storage_location', -1)]), + ], + depends=['type', 'storage_location'], + help="Where stock is picked from.\n" + "Leave empty to use the storage location.") + lost_found_location = fields.Many2One( + 'stock.location', "Lost and Found", + states={ + 'invisible': Eval('type') != 'warehouse', + 'readonly': ~Eval('active'), + }, + domain=[ + ('type', '=', 'lost_found'), + ], + depends=['type', 'active'], + help="Used, by inventories, when correcting stock levels " + "in the warehouse.") + waste_locations = fields.Many2Many( + 'stock.location.waste', 'warehouse', 'location', "Waste Locations", + states={ + 'invisible': Eval('type') != 'warehouse', + }, + domain=[ + ('type', '=', 'lost_found'), + ], + depends=['type'], + help="The locations used for waste products from the warehouse.") + waste_warehouses = fields.Many2Many( + 'stock.location.waste', 'location', 'warehouse', "Waste Warehouses", + states={ + 'invisible': Eval('type') != 'lost_found', + }, + domain=[ + ('type', '=', 'warehouse'), + ], + depends=['type'], + help="The warehouses that use the location for waste products.") + + quantity = fields.Function( + fields.Float( + "Quantity", digits=(16, Eval('quantity_uom_digits', 2)), + depends=['quantity_uom_digits'], + help="The amount of stock in the location."), + 'get_quantity', searcher='search_quantity') + forecast_quantity = fields.Function( + fields.Float( + "Forecast Quantity", digits=(16, Eval('quantity_uom_digits', 2)), + depends=['quantity_uom_digits'], + help="The amount of stock expected to be in the location."), + 'get_quantity', searcher='search_quantity') + quantity_uom = fields.Function(fields.Many2One( + 'product.uom', "Quantity UOM"), + 'get_quantity_uom') + quantity_uom_digits = fields.Function(fields.Integer( + "Quantity UOM Digits"), + 'get_quantity_uom') + cost_value = fields.Function(fields.Numeric( + "Cost Value", digits=price_digits, + help="The value of the stock in the location."), + 'get_cost_value') + + @classmethod + def __setup__(cls): + super(Location, cls).__setup__() + cls._order.insert(0, ('name', 'ASC')) + + parent_domain = [ + ['OR', + ('parent.flat_childs', '=', False), + ('parent', '=', None), + ] + ] + childs_domain = [ + If(Eval('flat_childs', False), + ('childs', '=', None), + ()), + ] + childs_mapping = cls._childs_domain() + for type_, allowed_parents in cls._parent_domain().items(): + parent_domain.append(If(Eval('type') == type_, + ('type', 'in', allowed_parents), ())) + childs_domain.append(If(Eval('type') == type_, + ('type', 'in', childs_mapping[type_]), ())) + cls.parent.domain = parent_domain + cls.childs.domain = childs_domain + cls.childs.depends.extend(['flat_childs', 'type']) + + @classmethod + def _parent_domain(cls): + '''Returns a dict with location types as keys and a list of allowed + parent location types as values''' + return { + 'customer': ['customer'], + 'supplier': ['supplier'], + 'production': ['production'], + 'lost_found': ['lost_found'], + 'view': ['warehouse', 'view', 'storage'], + 'storage': ['warehouse', 'view', 'storage'], + 'warehouse': [''], + } + + @classmethod + def _childs_domain(cls): + childs_domain = {} + for type_, allowed_parents in cls._parent_domain().items(): + for parent in allowed_parents: + childs_domain.setdefault(parent, []) + childs_domain[parent].append(type_) + return childs_domain + + @classmethod + def __register__(cls, module_name): + super(Location, cls).__register__(module_name) + + table = cls.__table_handler__(module_name) + table.index_action(['left', 'right'], 'add') + + @classmethod + def validate(cls, locations): + super(Location, cls).validate(locations) + inactives = [] + for location in locations: + location.check_type_for_moves() + if not location.active: + inactives.append(location) + cls.check_inactive(inactives) + + def check_type_for_moves(self): + """ Check locations with moves have types compatible with moves. """ + invalid_move_types = ['warehouse', 'view'] + Move = Pool().get('stock.move') + if self.type in invalid_move_types: + # Use root to compute for all companies + with Transaction().set_user(0): + moves = Move.search([ + ['OR', + ('to_location', '=', self.id), + ('from_location', '=', self.id), + ], + ('state', 'not in', ['staging', 'draft']), + ]) + if moves: + raise LocationValidationError( + gettext('stock.msg_location_invalid_type_for_moves', + location=self.rec_name, + type=self.type_string)) + + @classmethod + def check_inactive(cls, locations): + "Check inactive location are empty" + assert all(not l.active for l in locations) + empty = cls.get_empty_locations(locations) + non_empty = set(locations) - set(empty) + if non_empty: + raise LocationValidationError( + gettext('stock.msg_location_inactive_not_empty', + location=next(iter(non_empty)).rec_name)) + + @classmethod + def get_empty_locations(cls, locations=None): + pool = Pool() + Move = pool.get('stock.move') + if locations is None: + locations = cls.search([]) + if not locations: + return [] + location_ids = list(map(int, locations)) + # Use root to compute for all companies + # and ensures inactive locations are in the query + with Transaction().set_user(0), \ + Transaction().set_context(active_test=False): + query = Move.compute_quantities_query( + location_ids, with_childs=True) + quantities = Move.compute_quantities( + query, location_ids, with_childs=True) + empty = set(location_ids) + for (location_id, product), quantity in quantities.items(): + if quantity: + empty.discard(location_id) + for sub_ids in grouped_slice(list(empty)): + sub_ids = list(sub_ids) + moves = Move.search([ + ('state', 'not in', ['done', 'cancelled']), + ['OR', + ('from_location', 'in', sub_ids), + ('to_location', 'in', sub_ids), + ], + ]) + for move in moves: + for location in [move.from_location, move.to_location]: + empty.discard(location.id) + return cls.browse(empty) + + @staticmethod + def default_left(): + return 0 + + @staticmethod + def default_right(): + return 0 + + @classmethod + def default_flat_childs(cls): + return False + + @staticmethod + def default_type(): + return 'storage' + + @classmethod + def check_xml_record(cls, records, values): + return True + + def get_warehouse(self, name): + # Order by descending left to get the first one in the tree + with Transaction().set_context(active_test=False): + locations = self.search([ + ('parent', 'parent_of', [self.id]), + ('type', '=', 'warehouse'), + ], order=[('left', 'DESC')]) + if locations: + return locations[0].id + + @classmethod + def get_default_warehouse(cls): + warehouse = Transaction().context.get('warehouse') + if warehouse: + return warehouse + + warehouse = cls._default_warehouse_cache.get(None, -1) + if warehouse == -1: + warehouses = cls.search([ + ('type', '=', 'warehouse'), + ], limit=2) + if len(warehouses) == 1: + warehouse = warehouses[0].id + else: + warehouse = None + cls._default_warehouse_cache.set(None, warehouse) + return warehouse + + @property + def lost_found_used(self): + if self.warehouse: + return self.warehouse.lost_found_location + + @classmethod + def search_rec_name(cls, name, clause): + if clause[1].startswith('!') or clause[1].startswith('not '): + bool_op = 'AND' + else: + bool_op = 'OR' + return [bool_op, + (cls._rec_name,) + tuple(clause[1:]), + ('code',) + tuple(clause[1:]), + ] + + @classmethod + def _get_quantity_grouping(cls): + context = Transaction().context + grouping, grouping_filter, key = (), (), [] + if context.get('product') is not None: + grouping = ('product',) + grouping_filter = ([context['product']],) + key = (context['product'],) + elif context.get('product_template') is not None: + grouping = ('product.template',) + grouping_filter = ([context['product_template']],) + key = (context['product_template'],) + return grouping, grouping_filter, key + + @classmethod + def get_quantity(cls, locations, name): + pool = Pool() + Product = pool.get('product.product') + Date_ = pool.get('ir.date') + trans_context = Transaction().context + + def valid_context(name): + return (trans_context.get(name) is not None + and isinstance(trans_context[name], int)) + + context = {} + if (name == 'quantity' + and (trans_context.get('stock_date_end', datetime.date.max) + > Date_.today())): + context['stock_date_end'] = Date_.today() + + if name == 'forecast_quantity': + context['forecast'] = True + if not trans_context.get('stock_date_end'): + context['stock_date_end'] = datetime.date.max + + grouping, grouping_filter, key = cls._get_quantity_grouping() + if not grouping: + return {loc.id: None for loc in locations} + + pbl = {} + for sub_locations in grouped_slice(locations): + location_ids = [l.id for l in sub_locations] + with Transaction().set_context(context): + pbl.update(Product.products_by_location( + location_ids, + grouping=grouping, + grouping_filter=grouping_filter, + with_childs=trans_context.get('with_childs', True))) + + return dict((loc.id, pbl.get((loc.id,) + key, 0)) for loc in locations) + + @classmethod + def search_quantity(cls, name, domain): + _, operator_, operand = domain + operator_ = { + '=': operator.eq, + '>=': operator.ge, + '>': operator.gt, + '<=': operator.le, + '<': operator.lt, + '!=': operator.ne, + 'in': lambda v, l: v in l, + 'not in': lambda v, l: v not in l, + }.get(operator_, lambda v, l: False) + + ids = [] + for location in cls.search([]): + if operator_(getattr(location, name), operand): + ids.append(location.id) + return [('id', 'in', ids)] + + @classmethod + def get_quantity_uom(cls, locations, name): + pool = Pool() + Product = pool.get('product.product') + Template = pool.get('product.template') + context = Transaction().context + value = None + uom = None + if context.get('product') is not None: + product = Product(context['product']) + uom = product.default_uom + elif context.get('product_template') is not None: + template = Template(context['product_template']) + uom = template.default_uom + if uom: + if name == 'quantity_uom': + value = uom.id + elif name == 'quantity_uom_digits': + value = uom.digits + return {l.id: value for l in locations} + + @classmethod + def get_cost_value(cls, locations, name): + pool = Pool() + Product = pool.get('product.product') + Template = pool.get('product.template') + trans_context = Transaction().context + cost_values = {l.id: None for l in locations} + + def valid_context(name): + return (trans_context.get(name) is not None + and isinstance(trans_context[name], int)) + + if not any(map(valid_context, ['product', 'product_template'])): + return cost_values + + def get_record(): + if trans_context.get('product') is not None: + return Product(trans_context['product']) + else: + return Template(trans_context['product_template']) + + context = {} + if 'stock_date_end' in trans_context: + # Use the last cost_price of the day + context['_datetime'] = datetime.datetime.combine( + trans_context['stock_date_end'], datetime.time.max) + # The date could be before the product creation + record = get_record() + if record.create_date > context['_datetime']: + return cost_values + with Transaction().set_context(context): + cost_price = get_record().cost_price + # The template may have more than one product + if cost_price is not None: + for location in locations: + cost_values[location.id] = round_price( + Decimal(str(location.quantity)) * cost_price) + return cost_values + + @classmethod + def _set_warehouse_parent(cls, locations): + ''' + Set the parent of child location of warehouse if not set + ''' + to_update = set() + to_save = [] + for location in locations: + if location.type == 'warehouse': + if not location.input_location.parent: + to_update.add(location.input_location) + if not location.output_location.parent: + to_update.add(location.output_location) + if not location.storage_location.parent: + to_update.add(location.storage_location) + if to_update: + for child_location in to_update: + child_location.parent = location + to_save.append(child_location) + to_update.clear() + cls.save(to_save) + + @classmethod + def create(cls, vlist): + locations = super(Location, cls).create(vlist) + cls._set_warehouse_parent(locations) + cls._default_warehouse_cache.clear() + return locations + + @classmethod + def write(cls, *args): + super(Location, cls).write(*args) + locations = sum(args[::2], []) + cls._set_warehouse_parent(locations) + cls._default_warehouse_cache.clear() + + ids = [l.id for l in locations] + warehouses = cls.search([ + ('type', '=', 'warehouse'), + ['OR', + ('storage_location', 'in', ids), + ('input_location', 'in', ids), + ('output_location', 'in', ids), + ]]) + + fields = ('storage_location', 'input_location', 'output_location') + wh2childs = {} + for warehouse in warehouses: + in_out_sto = (getattr(warehouse, f).id for f in fields) + for location in locations: + if location.id not in in_out_sto: + continue + childs = wh2childs.setdefault(warehouse.id, cls.search([ + ('parent', 'child_of', warehouse.id), + ])) + if location not in childs: + raise LocationValidationError( + gettext('stock.msg_location_child_of_warehouse', + location=location.rec_name, + warehouse=warehouse.rec_name)) + + @classmethod + def delete(cls, *args): + super().delete(*args) + cls._default_warehouse_cache.clear() + + @classmethod + def copy(cls, locations, default=None): + if default is None: + default = {} + else: + default = default.copy() + + res = [] + for location in locations: + if location.type == 'warehouse': + + wh_default = default.copy() + wh_default['type'] = 'view' + wh_default['input_location'] = None + wh_default['output_location'] = None + wh_default['storage_location'] = None + wh_default['childs'] = None + + new_location, = super(Location, cls).copy([location], + default=wh_default) + + with Transaction().set_context( + cp_warehouse_locations={ + 'input_location': location.input_location.id, + 'output_location': location.output_location.id, + 'storage_location': location.storage_location.id, + }, + cp_warehouse_id=new_location.id): + cls.copy(location.childs, + default={'parent': new_location.id}) + cls.write([new_location], { + 'type': 'warehouse', + }) + else: + new_location, = super(Location, cls).copy([location], + default=default) + warehouse_locations = Transaction().context.get( + 'cp_warehouse_locations') or {} + if location.id in warehouse_locations.values(): + cp_warehouse = cls( + Transaction().context['cp_warehouse_id']) + for field, loc_id in warehouse_locations.items(): + if loc_id == location.id: + cls.write([cp_warehouse], { + field: new_location.id, + }) + + res.append(new_location) + return res + + @classmethod + def view_attributes(cls): + storage_types = Eval('type').in_(['storage', 'warehouse', 'view']) + return super().view_attributes() + [ + ('/tree/field[@name="quantity"]', + 'visual', If( + storage_types & (Eval('quantity', 0) < 0), 'danger', ''), + ['type']), + ('/tree/field[@name="forecast_quantity"]', + 'visual', If( + storage_types & (Eval('forecast_quantity', 0) < 0), + 'warning', ''), + ['type']), + ] + + +supplier_location = fields.Many2One( + 'stock.location', "Supplier Location", domain=[('type', '=', 'supplier')], + help="The default source location for stock received from the party.") +customer_location = fields.Many2One( + 'stock.location', "Customer Location", domain=[('type', '=', 'customer')], + help="The default destination location for stock sent to the party.") + + +class Party(metaclass=PoolMeta): + __name__ = 'party.party' + supplier_location = fields.MultiValue(supplier_location) + customer_location = fields.MultiValue(customer_location) + locations = fields.One2Many( + 'party.party.location', 'party', "Locations") + + @classmethod + def multivalue_model(cls, field): + pool = Pool() + if field in {'supplier_location', 'customer_location'}: + return pool.get('party.party.location') + return super(Party, cls).multivalue_model(field) + + @classmethod + def default_supplier_location(cls, **pattern): + return cls.multivalue_model( + 'supplier_location').default_supplier_location() + + @classmethod + def default_customer_location(cls, **pattern): + return cls.multivalue_model( + 'customer_location').default_customer_location() + + +class PartyLocation(ModelSQL, ValueMixin): + "Party Location" + __name__ = 'party.party.location' + party = fields.Many2One( + 'party.party', "Party", ondelete='CASCADE', select=True) + supplier_location = supplier_location + customer_location = customer_location + + @classmethod + def __register__(cls, module_name): + exist = backend.TableHandler.table_exist(cls._table) + + super(PartyLocation, cls).__register__(module_name) + + if not exist: + cls._migrate_property([], [], []) + + @classmethod + def _migrate_property(cls, field_names, value_names, fields): + field_names.extend(['supplier_location', 'customer_location']) + value_names.extend(['supplier_location', 'customer_location']) + migrate_property( + 'party.party', field_names, cls, value_names, + parent='party', fields=fields) + + @classmethod + def default_supplier_location(cls): + pool = Pool() + ModelData = pool.get('ir.model.data') + try: + return ModelData.get_id('stock', 'location_supplier') + except KeyError: + return None + + @classmethod + def default_customer_location(cls): + pool = Pool() + ModelData = pool.get('ir.model.data') + try: + return ModelData.get_id('stock', 'location_customer') + except KeyError: + return None + + +class ProductsByLocationsContext(ModelView): + 'Products by Locations' + __name__ = 'stock.products_by_locations.context' + forecast_date = fields.Date( + 'At Date', + help="The date for which the stock quantity is calculated.\n" + "* An empty value calculates as far ahead as possible.\n" + "* A date in the past will provide historical values.") + stock_date_end = fields.Function(fields.Date('At Date'), + 'on_change_with_stock_date_end') + + @staticmethod + def default_forecast_date(): + Date_ = Pool().get('ir.date') + return Date_.today() + + @fields.depends('forecast_date') + def on_change_with_stock_date_end(self, name=None): + if self.forecast_date is None: + return datetime.date.max + return self.forecast_date + + +class ProductsByLocations(DeactivableMixin, ModelSQL, ModelView): + "Products by Locations" + __name__ = 'stock.products_by_locations' + + product = fields.Many2One('product.product', "Product") + quantity = fields.Function( + fields.Float( + "Quantity", digits=(16, Eval('default_uom_digits', 2)), + depends=['default_uom_digits']), + 'get_product', searcher='search_product') + forecast_quantity = fields.Function( + fields.Float( + "Forecast Quantity", digits=(16, Eval('default_uom_digits', 2)), + depends=['default_uom_digits']), + 'get_product', searcher='search_product') + default_uom = fields.Function( + fields.Many2One('product.uom', "Default UOM"), + 'get_product', searcher='search_product') + default_uom_digits = fields.Function( + fields.Integer("Default UOM Digits"), 'get_product') + cost_value = fields.Function( + fields.Numeric("Cost Value"), 'get_product') + consumable = fields.Function( + fields.Boolean("Consumable"), 'get_product', + searcher='search_product') + + @classmethod + def __setup__(cls): + super().__setup__() + cls._order.insert(0, ('product', 'ASC')) + + @classmethod + def table_query(cls): + pool = Pool() + Product = pool.get('product.product') + product = Product.__table__() + columns = [] + for fname, field in cls._fields.items(): + if not hasattr(field, 'set'): + if (isinstance(field, fields.Many2One) + and field.get_target() == Product): + column = Column(product, 'id') + else: + column = Column(product, fname) + columns.append(column.as_(fname)) + return product.select(*columns) + + def get_product(self, name): + value = getattr(self.product, name) + if isinstance(value, Model): + value = value.id + return value + + @classmethod + def search_product(cls, name, clause): + nested = clause[0].lstrip(name) + return [('product.' + name + nested,) + tuple(clause[1:])] + + +class LocationLeadTime(sequence_ordered(), ModelSQL, ModelView, MatchMixin): + 'Location Lead Time' + __name__ = 'stock.location.lead_time' + + warehouse_from = fields.Many2One('stock.location', 'Warehouse From', + ondelete='CASCADE', + domain=[ + ('type', '=', 'warehouse'), + ]) + warehouse_to = fields.Many2One('stock.location', 'Warehouse To', + ondelete='CASCADE', + domain=[ + ('type', '=', 'warehouse'), + ]) + lead_time = fields.TimeDelta('Lead Time', + help="The time it takes to move stock between the warehouses.") + + @classmethod + def get_lead_time(cls, pattern): + for record in cls.search([]): + if record.match(pattern): + return record.lead_time diff --git a/modules/stock/location.xml b/modules/stock/location.xml new file mode 100644 index 0000000000..7a6bdcb812 --- /dev/null +++ b/modules/stock/location.xml @@ -0,0 +1,234 @@ + + + + + + stock.location + form + location_form + + + stock.location + tree + + childs + location_tree + + + stock.location + tree + + location_list + + + + Locations + stock.location + + + + + + + + + + + + + + + + Locations + stock.location + + + + + + + + + + + + + + + + stock.products_by_locations.context + form + products_by_locations_context_form + + + + stock.products_by_locations + tree + products_by_locations_list + + + + Products by Locations + stock.products_by_locations + + + + stock.products_by_locations.context + + + + + + + + tree_open + stock.location,-1 + + + + form_relate + stock.location,-1 + + + + + + + + + + + + + + + + + + + + + party.party + + party_form + + + + + stock.location.lead_time + tree + location_lead_time_list + + + + stock.location.lead_time + form + location_lead_time_form + + + + Location Lead Times + stock.location.lead_time + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Input Zone + IN + storage + + + Output Zone + OUT + storage + + + Storage Zone + STO + storage + + + Lost and Found + lost_found + + + Warehouse + WH + warehouse + + + + + + + Supplier + SUP + supplier + + + Customer + CUS + customer + + + Transit + storage + + + diff --git a/modules/stock/message.xml b/modules/stock/message.xml new file mode 100644 index 0000000000..893b7204bd --- /dev/null +++ b/modules/stock/message.xml @@ -0,0 +1,120 @@ + + + + + + You cannot change the default UOM of a product which is associated with stock moves. + + + You cannot change the type of a product which is associated with stock moves. + + + You cannot change the cost price of a product which is associated with stock moves. +You must use the "Modify Cost Price" wizard. + + + Invalid cost price "%(cost_price)s" for product "%(product)s" with exception "%(exception)s". + + + You cannot change the type of location "%(location)s" to "%(type)s" +because the type does not support moves and location has existing moves. + + + To set location "%(location)s" as storage/input/output of warehouse "%(warehouse)s", it must be in the warehouse. + + + To inactivate location "%(location)s", you must empty it. + + + You cannot close periods with a date in the future or today. + + + You cannot close periods with assigned moves in it. + + + To delete shipment "%(shipment)s" you must cancel it. + + + To delete inventory "%(inventory)s" you must cancel it. + + + To confirm the inventory "%(inventory)s" you must select an option for empty quantity. + + + To confirm the inventory "%(inventory)s" you must set a lost and found on a parent of location "%(location)s". + + + Inventory line "%(line)s" is not unique on inventory "%(inventory)s". + + + Inventory line quantity must be positive. + + + To delete inventory line "%(line)s" you must cancel inventory "%(inventory)s". + + + No existing line found for "%(search)s". + + + You cannot erase party "%(party)s" while they have pending shipments with company "%(company)s". + + + To delete stock move "%(move)s" you must cancel it or reset its state to draft. + + + To modify stock move "%(move)s" you must reopen period "%(period)s". + + + To modify stock move "%(move)s" you must reset its state to draft. + + + You cannot modify stock move "%(move)s" because it is done. + + + You cannot modify stock move "%(move)s" because it is cancelled. + + + Stock moves "%(moves)s" have no origin. + + + Move quantity must be positive. + + + Internal move quantity must be positive. + + + The source and destination of stock move must be different. + + + The moves "%(moves)s" have effective dates in the future. + + + The inventories "%(inventories)s" have dates in the future. + + + Company + + + Number + + + Cost + + + Revenue + + + Profit + + + Margin + + + Margin Trend + + + Currency Digits + + + diff --git a/modules/stock/move.py b/modules/stock/move.py new file mode 100644 index 0000000000..19518495dd --- /dev/null +++ b/modules/stock/move.py @@ -0,0 +1,1644 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import datetime +import hashlib +import operator +from decimal import Decimal +from collections import OrderedDict, defaultdict +from itertools import groupby + +from sql import Literal, Union, Column, Null, For +from sql.aggregate import Max, Sum +from sql.conditionals import Coalesce, Case +from sql.functions import Round + +from trytond.i18n import gettext +from trytond.model import Workflow, Model, ModelView, ModelSQL, fields, Check +from trytond.model.exceptions import AccessError +from trytond.pyson import Eval, If, Bool +from trytond.tools import reduce_ids, grouped_slice +from trytond.transaction import Transaction +from trytond.pool import Pool + +from trytond.modules.product import price_digits, round_price + +from .exceptions import MoveOriginWarning, MoveFutureWarning + +STATES = { + 'readonly': Eval('state').in_(['cancelled', 'assigned', 'done']), +} +DEPENDS = ['state'] +LOCATION_DOMAIN = [ + If(Eval('state').in_(['staging', 'draft', 'cancelled']), + ('type', 'not in', ['warehouse']), + ('type', 'not in', ['warehouse', 'view'])), + If(~Eval('state').in_(['done', 'cancelled']), + ('active', '=', True), + ()), + ] +LOCATION_DEPENDS = ['state'] + + +class StockMixin(object): + '''Mixin class with helper to setup stock quantity field.''' + __slots__ = () + + @classmethod + def _quantity_context(cls, name): + pool = Pool() + Date = pool.get('ir.date') + today = Date.today() + context = Transaction().context + new_context = {} + stock_date_end = context.get('stock_date_end') + if name == 'quantity': + new_context['forecast'] = False + if (stock_date_end or datetime.date.max) > today: + new_context['stock_date_end'] = today + elif name == 'forecast_quantity': + new_context['forecast'] = True + if not stock_date_end: + new_context['stock_date_end'] = datetime.date.max + return new_context + + @classmethod + def _get_quantity(cls, records, name, location_ids, + grouping=('product',), grouping_filter=None, position=-1): + """ + Compute for each record the stock quantity in the default uom of the + product. + + location_ids is the list of IDs of locations to take account to compute + the stock. + grouping defines how stock moves are grouped. + grouping_filter is a tuple of values, for the Move's field at the same + position in grouping tuple, used to filter which moves are used to + compute quantities. If it is None all the products are used. + position defines which field of grouping corresponds to the record + whose quantity is computed. + + Return a dictionary with records id as key and quantity as value. + """ + pool = Pool() + Product = pool.get('product.product') + + record_ids = [r.id for r in records] + quantities = dict.fromkeys(record_ids, 0.0) + if not location_ids: + return quantities + + with_childs = Transaction().context.get( + 'with_childs', len(location_ids) == 1) + + with Transaction().set_context(cls._quantity_context(name)): + pbl = Product.products_by_location( + location_ids, + with_childs=with_childs, + grouping=grouping, + grouping_filter=grouping_filter) + + for key, quantity in pbl.items(): + # pbl could return None in some keys + if (key[position] is not None + and key[position] in quantities): + quantities[key[position]] += quantity + return quantities + + @classmethod + def _search_quantity(cls, name, location_ids, domain=None, + grouping=('product',), position=-1): + """ + Compute the domain to filter records which validates the domain over + quantity field. + + location_ids is the list of IDs of locations to take account to compute + the stock. + grouping defines how stock moves are grouped. + position defines which field of grouping corresponds to the record + whose quantity is computed. + """ + pool = Pool() + Product = pool.get('product.product') + Move = pool.get('stock.move') + Uom = pool.get('product.uom') + uom = Uom.__table__() + + if not location_ids or not domain: + return [] + with_childs = Transaction().context.get( + 'with_childs', len(location_ids) == 1) + _, operator_, operand = domain + + with Transaction().set_context(cls._quantity_context(name)): + if (len(location_ids) == 1 + and not Transaction().context.get('stock_skip_warehouse')): + # We can use the compute quantities query if the request is for + # a single location because all the locations are children and + # so we can do a SUM. + Operator = fields.SQL_OPERATORS[operator_] + query = Move.compute_quantities_query( + location_ids, with_childs, grouping=grouping) + col_id = Column(query, grouping[position]) + # We need to round the result to have same result as + # products_by_location but as we do not have the unit, we use + # the biggest digits of all unit as best approximation. + quantity = Round( + fields.Numeric('quantity').sql_cast(Sum(query.quantity)), + uom.select(Max(uom.digits))) + group_by = [Column(query, key).as_(key) for key in grouping] + return [('id', 'in', query.select( + col_id, + group_by=group_by, + having=Operator(quantity, operand)))] + + pbl = Product.products_by_location( + location_ids, with_childs=with_childs, grouping=grouping) + + operator_ = { + '=': operator.eq, + '>=': operator.ge, + '>': operator.gt, + '<=': operator.le, + '<': operator.lt, + '!=': operator.ne, + 'in': lambda v, l: v in l, + 'not in': lambda v, l: v not in l, + }.get(operator_, lambda v, l: False) + record_ids = [] + for key, quantity in pbl.items(): + if (quantity is not None and operand is not None + and operator_(quantity, operand)): + # pbl could return None in some keys + if key[position] is not None: + record_ids.append(key[position]) + + return [('id', 'in', record_ids)] + + +class Move(Workflow, ModelSQL, ModelView): + "Stock Move" + __name__ = 'stock.move' + _order_name = 'product' + product = fields.Many2One("product.product", "Product", required=True, + select=True, states=STATES, + context={ + 'company': Eval('company', -1), + }, + depends=DEPENDS + ['company'], + help="The product that the move is associated with.") + product_uom_category = fields.Function( + fields.Many2One('product.uom.category', 'Product Uom Category'), + 'on_change_with_product_uom_category') + uom = fields.Many2One("product.uom", "Uom", required=True, + states={ + 'readonly': (Eval('state').in_(['cancelled', 'assigned', 'done']) + | Eval('unit_price')), + }, + domain=[ + If(~Eval('state').in_(['done', 'cancelled']), + ('category', '=', Eval('product_uom_category')), + ()), + ], + depends=['state', 'unit_price', 'product_uom_category'], + help="The unit in which the quantity is specified.") + unit_digits = fields.Function(fields.Integer('Unit Digits'), + 'on_change_with_unit_digits') + quantity = fields.Float("Quantity", required=True, + digits=(16, Eval('unit_digits', 2)), states=STATES, + depends=['state', 'unit_digits'], + help="The amount of stock moved.") + internal_quantity = fields.Float('Internal Quantity', readonly=True, + required=True) + from_location = fields.Many2One("stock.location", "From Location", + select=True, required=True, states=STATES, + depends=DEPENDS + LOCATION_DEPENDS, domain=LOCATION_DOMAIN, + help="Where the stock is moved from.") + to_location = fields.Many2One("stock.location", "To Location", select=True, + required=True, states=STATES, + depends=DEPENDS + LOCATION_DEPENDS, domain=LOCATION_DOMAIN, + help="Where the stock is moved to.") + shipment = fields.Reference('Shipment', selection='get_shipment', + readonly=True, select=True, + help="Used to group several stock moves together.") + origin = fields.Reference('Origin', selection='get_origin', select=True, + states={ + 'readonly': Eval('state') != 'draft', + }, + depends=['state'], + help="The source of the stock move.") + planned_date = fields.Date("Planned Date", states={ + 'readonly': (Eval('state').in_(['cancelled', 'assigned', 'done']) + | Eval('shipment')) + }, depends=['state', 'shipment'], + select=True, + help="When the stock is expected to be moved.") + effective_date = fields.Date("Effective Date", select=True, + states={ + 'required': Eval('state') == 'done', + 'readonly': (Eval('state').in_(['cancelled', 'done']) + | Eval('shipment')), + }, + depends=['state', 'shipment'], + help="When the stock was actually moved.") + state = fields.Selection([ + ('staging', 'Staging'), + ('draft', 'Draft'), + ('assigned', 'Assigned'), + ('done', 'Done'), + ('cancelled', 'Cancelled'), + ], 'State', select=True, readonly=True, + help="The current state of the stock move.") + company = fields.Many2One( + 'company.company', "Company", required=True, + states={ + 'readonly': Eval('state') != 'draft', + }, + depends=['state'], + help="The company the stock move is associated with.") + unit_price = fields.Numeric('Unit Price', digits=price_digits, + states={ + 'invisible': ~Eval('unit_price_required'), + 'required': Bool(Eval('unit_price_required')), + 'readonly': Eval('state') != 'draft', + }, + depends=['unit_price_required', 'state']) + unit_price_company = fields.Function( + fields.Numeric("Unit Price", digits=price_digits, + states={ + 'invisible': ~Eval('unit_price_required'), + }, + depends=['unit_price_required'], + help="Unit price in company currency."), + 'get_unit_price_company') + unit_price_updated = fields.Boolean( + "Unit Price Updated", readonly=True, + states={ + 'invisible': Eval('state') != 'done', + }, + depends=['state']) + cost_price = fields.Numeric( + "Cost Price", digits=price_digits, readonly=True, + states={ + 'invisible': ~Eval('cost_price_required'), + 'required': ( + (Eval('state') == 'done') + & Eval('cost_price_required', False)), + }, + depends=['cost_price_required']) + currency = fields.Many2One('currency.currency', 'Currency', + states={ + 'invisible': ~Eval('unit_price_required'), + 'required': Bool(Eval('unit_price_required')), + 'readonly': Eval('state') != 'draft', + }, + depends=['unit_price_required', 'state'], + help="The currency in which the unit price is specified.") + unit_price_required = fields.Function( + fields.Boolean('Unit Price Required'), + 'on_change_with_unit_price_required') + cost_price_required = fields.Function( + fields.Boolean("Cost Price Required"), + 'on_change_with_cost_price_required') + assignation_required = fields.Function( + fields.Boolean('Assignation Required'), + 'on_change_with_assignation_required', + searcher='search_assignation_required') + + @classmethod + def __setup__(cls): + super(Move, cls).__setup__() + cls.create_date.select = True + cls.product.domain = [ + If(Bool(Eval('product_uom_category')) + & ~Eval('state').in_(['done', 'cancelled']), + ('default_uom_category', '=', Eval('product_uom_category')), + ()), + ('type', 'in', cls.get_product_types()), + ] + cls.product.depends += ['product_uom_category'] + cls._deny_modify_assigned = set(['product', 'uom', 'quantity', + 'from_location', 'to_location', 'company', 'currency']) + cls._deny_modify_done_cancel = (cls._deny_modify_assigned + | set(['planned_date', 'effective_date', 'state'])) + cls._allow_modify_closed_period = { + 'cost_price', 'unit_price', 'unit_price_updated'} + + t = cls.__table__() + cls._sql_constraints += [ + ('check_move_qty_pos', Check(t, t.quantity >= 0), + 'stock.msg_move_quantity_positive'), + ('check_move_internal_qty_pos', + Check(t, t.internal_quantity >= 0), + 'stock.msg_move_internal_quantity_positive'), + ('check_from_to_locations', + Check(t, t.from_location != t.to_location), + 'stock.msg_move_from_to_location'), + ] + cls._order[0] = ('id', 'DESC') + cls._transitions |= set(( + ('staging', 'draft'), + ('staging', 'cancelled'), + ('draft', 'assigned'), + ('draft', 'done'), + ('draft', 'cancelled'), + ('assigned', 'draft'), + ('assigned', 'done'), + ('assigned', 'cancelled'), + )) + cls._buttons.update({ + 'cancel': { + 'invisible': ~Eval('state').in_(['draft', 'assigned']), + 'readonly': Eval('shipment'), + 'depends': ['state', 'shipment'], + }, + 'draft': { + 'invisible': ~Eval('state').in_(['assigned']), + 'readonly': Eval('shipment'), + 'depends': ['state', 'shipment'], + }, + 'assign': { + 'invisible': ~Eval('state').in_(['assigned']), + 'depends': ['state'], + }, + 'do': { + 'invisible': ~Eval('state').in_(['draft', 'assigned']), + 'readonly': (Eval('shipment') + | (Eval('assignation_required', True) + & (Eval('state') == 'draft'))), + 'depends': ['state', 'assignation_required', 'shipment'], + }, + }) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + sql_table = cls.__table__() + + super(Move, cls).__register__(module_name) + table = cls.__table_handler__(module_name) + + # Index for period join in compute_quantities_query + table.index_action([ + Coalesce(sql_table.effective_date, + sql_table.planned_date, + datetime.date.max)], action='add') + + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + + @classmethod + def get_product_types(cls): + return ['goods', 'assets'] + + @staticmethod + def default_planned_date(): + return Transaction().context.get('planned_date') + + @staticmethod + def default_state(): + return 'draft' + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @classmethod + def default_unit_price_updated(cls): + return True + + @staticmethod + def default_currency(): + Company = Pool().get('company.company') + company = Transaction().context.get('company') + if company: + company = Company(company) + return company.currency.id + + @staticmethod + def default_unit_digits(): + return 2 + + @fields.depends('uom') + def on_change_with_unit_digits(self, name=None): + if self.uom: + return self.uom.digits + return 2 + + @fields.depends('product', 'uom') + def on_change_product(self): + if self.product: + if (not self.uom + or self.uom.category != self.product.default_uom.category): + self.uom = self.product.default_uom + self.unit_digits = self.product.default_uom.digits + + @fields.depends('product') + def on_change_with_product_uom_category(self, name=None): + if self.product: + return self.product.default_uom_category.id + + @classmethod + def get_unit_price_company(cls, moves, name): + pool = Pool() + Currency = pool.get('currency.currency') + Uom = pool.get('product.uom') + Date = pool.get('ir.date') + today = Date.today() + prices = {} + for move in moves: + if move.unit_price is not None: + date = move.effective_date or move.planned_date or today + with Transaction().set_context(date=date): + unit_price = Currency.compute( + move.currency, move.unit_price, + move.company.currency, round=False) + unit_price = Uom.compute_price( + move.uom, unit_price, move.product.default_uom) + prices[move.id] = round_price(unit_price) + else: + prices[move.id] = None + return prices + + @fields.depends('from_location', 'to_location') + def on_change_with_unit_price_required(self, name=None): + from_type = self.from_location.type if self.from_location else None + to_type = self.to_location.type if self.to_location else None + + if from_type == 'supplier' and to_type in {'storage', 'drop'}: + return True + if from_type == 'production' and to_type != 'lost_found': + return True + if from_type in {'storage', 'drop'} and to_type == 'customer': + return True + if from_type in {'storage', 'drop'} and to_type == 'supplier': + return True + if from_type == 'customer' and to_type in {'storage', 'drop'}: + return True + return False + + @fields.depends('from_location', 'to_location') + def on_change_with_cost_price_required(self, name=None): + from_type = self.from_location.type if self.from_location else None + to_type = self.to_location.type if self.to_location else None + return ((from_type != 'storage' and to_type == 'storage') + or (from_type == 'storage' and to_type != 'storage') + or (from_type != 'drop' and to_type == 'drop') + or (from_type == 'drop' and to_type != 'drop')) + + @fields.depends('from_location', 'quantity') + def on_change_with_assignation_required(self, name=None): + if self.from_location: + return ( + self.quantity + and self.from_location.type in {'storage', 'view'}) + + @classmethod + def search_assignation_required(cls, name, clause): + operators = { + '=': 'in', + '!=': 'not in', + } + reverse = { + '=': '!=', + '!=': '=', + } + if clause[1] in operators: + if not clause[2]: + operator = reverse[clause[1]] + else: + operator = clause[1] + return [ + ('quantity', '!=', 0), + ('from_location.type', operators[operator], [ + 'storage', 'view']), + ] + else: + return [] + + @staticmethod + def _get_shipment(): + 'Return list of Model names for shipment Reference' + return [ + 'stock.shipment.in', + 'stock.shipment.out', + 'stock.shipment.out.return', + 'stock.shipment.in.return', + 'stock.shipment.internal', + ] + + @classmethod + def get_shipment(cls): + IrModel = Pool().get('ir.model') + get_name = IrModel.get_name + models = cls._get_shipment() + return [(None, '')] + [(m, get_name(m)) for m in models] + + @classmethod + def _get_origin(cls): + 'Return list of Model names for origin Reference' + return [cls.__name__, 'stock.inventory.line'] + + @classmethod + def get_origin(cls): + IrModel = Pool().get('ir.model') + get_name = IrModel.get_name + models = cls._get_origin() + return [(None, '')] + [(m, get_name(m)) for m in models] + + @property + def origin_name(self): + return self.origin.rec_name if self.origin else None + + @classmethod + def check_period_closed(cls, moves): + Period = Pool().get('stock.period') + with Transaction().set_context(_check_access=False): + for company, moves in groupby(moves, lambda m: m.company): + periods = Period.search([ + ('state', '=', 'closed'), + ('company', '=', company.id), + ], order=[('date', 'DESC')], limit=1) + if periods: + period, = periods + for move in moves: + date = (move.effective_date if move.effective_date + else move.planned_date) + if date and date <= period.date: + raise AccessError( + gettext('stock.msg_move_modify_period_close', + move=move.rec_name, + period=period.rec_name)) + + def get_rec_name(self, name): + pool = Pool() + Lang = pool.get('ir.lang') + lang = Lang.get() + return (lang.format( + '%.*f', (self.uom.digits, self.quantity)) + + '%s %s' % (self.uom.symbol, self.product.rec_name)) + + @classmethod + def search_rec_name(cls, name, clause): + return [('product.rec_name',) + tuple(clause[1:])] + + def _compute_product_cost_price(self, direction, product_cost_price=None): + """ + Update the cost price on the given product. + The direction must be "in" if incoming and "out" if outgoing. + """ + pool = Pool() + Uom = pool.get('product.uom') + + if direction == 'in': + quantity = self.quantity + elif direction == 'out': + quantity = -self.quantity + qty = Uom.compute_qty(self.uom, quantity, self.product.default_uom) + + qty = Decimal(str(qty)) + product_qty = Decimal(str(self.product.quantity)) + unit_price = self.get_cost_price(product_cost_price=product_cost_price) + cost_price = self.product.get_multivalue( + 'cost_price', **self._cost_price_pattern) + if product_qty + qty > 0 and product_qty >= 0: + new_cost_price = ( + (cost_price * product_qty) + (unit_price * qty) + ) / (product_qty + qty) + elif direction == 'in': + new_cost_price = unit_price + elif direction == 'out': + new_cost_price = cost_price + return round_price(new_cost_price) + + @staticmethod + def _get_internal_quantity(quantity, uom, product): + Uom = Pool().get('product.uom') + internal_quantity = Uom.compute_qty(uom, quantity, + product.default_uom, round=True) + return internal_quantity + + def set_effective_date(self): + pool = Pool() + Date = pool.get('ir.date') + ShipmentInternal = pool.get('stock.shipment.internal') + + if (not self.effective_date + and isinstance(self.shipment, ShipmentInternal) + and self.to_location == self.shipment.transit_location): + self.effective_date = self.shipment.effective_start_date + elif not self.effective_date and self.shipment: + self.effective_date = self.shipment.effective_date + if not self.effective_date: + self.effective_date = Date.today() + + @classmethod + def view_attributes(cls): + return super().view_attributes() + [ + ('/tree', 'visual', If(Eval('state') == 'cancelled', 'muted', '')), + ] + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, moves): + cls.write(moves, { + 'effective_date': None, + }) + + @classmethod + @ModelView.button + @Workflow.transition('assigned') + def assign(cls, moves): + cls.check_origin(moves) + + @classmethod + @ModelView.button + @Workflow.transition('done') + def do(cls, moves): + pool = Pool() + Product = pool.get('product.product') + Date = pool.get('ir.date') + Warning = pool.get('res.user.warning') + today_cache = {} + + def in_future(move): + if move.company not in today_cache: + with Transaction().set_context(company=move.company.id): + today_cache[move.company] = Date.today() + today = today_cache[move.company] + if move.effective_date and move.effective_date > today: + return move + + def set_cost_values(cost_values): + Value = Product.multivalue_model('cost_price') + values = [] + for product, cost_price, pattern in cost_values: + values.extend(product.set_multivalue( + 'cost_price', cost_price, save=False, **pattern)) + Value.save(values) + + cls.check_origin(moves) + for key, grouped_moves in groupby(moves, key=cls._cost_price_key): + to_save = [] + cost_values = [] + products = set() + grouped_moves = list(grouped_moves) + context = dict(key) + context.update(cls._cost_price_context(grouped_moves)) + with Transaction().set_context(context): + grouped_moves = cls.browse(grouped_moves) + for move in grouped_moves: + if move.product in products: + # The average computation of product cost price + # requires each previous move of the same product to be + # saved + cls.save(to_save) + set_cost_values(cost_values) + del to_save[:] + del cost_values[:] + products.clear() + + move.set_effective_date() + cost_price = move._do() + if cost_price is not None: + cost_values.append( + (move.product, cost_price, + move._cost_price_pattern)) + if move.cost_price_required and move.cost_price is None: + if cost_price is None: + cost_price = move.product.get_multivalue( + 'cost_price', **move._cost_price_pattern) + move.cost_price = cost_price + move.state = 'done' + + to_save.append(move) + products.add(move.product) + + if to_save: + cls.save(to_save) + if cost_values: + set_cost_values(cost_values) + + future_moves = sorted(filter(in_future, moves)) + if future_moves: + names = ', '.join(m.rec_name for m in future_moves[:5]) + if len(future_moves) > 5: + names += '...' + warning_name = ( + '%s.effective_date_future' % hashlib.md5( + str(future_moves).encode('utf-8')).hexdigest()) + if Warning.check(warning_name): + raise MoveFutureWarning(warning_name, + gettext('stock.msg_move_effective_date_in_the_future', + moves=names)) + + @property + def _cost_price_pattern(self): + return { + 'company': self.company.id, + } + + def _cost_price_key(self): + return ( + ('company', self.company.id), + ) + + def get_cost_price(self, product_cost_price=None): + "Return the cost price of the move for computation" + with Transaction().set_context(date=self.effective_date): + if (self.from_location.type in {'supplier', 'production'} + or self.to_location.type == 'supplier'): + return self.unit_price_company + elif product_cost_price is not None: + return product_cost_price + elif self.cost_price is not None: + return self.cost_price + else: + return self.product.get_multivalue( + 'cost_price', **self._cost_price_pattern) + + @classmethod + def _cost_price_context(cls, moves): + pool = Pool() + Location = pool.get('stock.location') + Date = pool.get('ir.date') + context = {} + locations = Location.search([ + ('type', '=', 'storage'), + ]) + context['with_childs'] = False + context['locations'] = [l.id for l in locations] + context['stock_date_end'] = Date.today() + context['company'] = moves[0].company.id + return context + + def _do(self): + if (self.from_location.type in ('supplier', 'production') + and self.to_location.type == 'storage' + and self.product.cost_price_method == 'average'): + return self._compute_product_cost_price('in') + elif (self.to_location.type == 'supplier' + and self.from_location.type == 'storage' + and self.product.cost_price_method == 'average'): + return self._compute_product_cost_price('out') + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + def cancel(cls, moves): + pass + + @classmethod + def create(cls, vlist): + pool = Pool() + Product = pool.get('product.product') + Uom = pool.get('product.uom') + + vlist = [x.copy() for x in vlist] + # Use ordered dict to optimize cache alignment + products, uoms = OrderedDict(), OrderedDict() + for vals in vlist: + products[vals['product']] = None + uoms[vals['uom']] = None + id2product = {p.id: p for p in Product.browse(products.keys())} + id2uom = {u.id: u for u in Uom.browse(uoms.keys())} + for vals in vlist: + assert vals.get('state', cls.default_state() + ) in ['draft', 'staging'] + product = id2product[int(vals['product'])] + uom = id2uom[int(vals['uom'])] + internal_quantity = cls._get_internal_quantity( + vals['quantity'], uom, product) + vals['internal_quantity'] = internal_quantity + moves = super(Move, cls).create(vlist) + cls.check_period_closed(moves) + return moves + + @classmethod + def write(cls, *args): + actions = iter(args) + for moves, values in zip(actions, actions): + vals_set = set(values) + if cls._deny_modify_assigned & vals_set: + for move in moves: + if move.state == 'assigned': + raise AccessError( + gettext('stock.msg_move_modify_assigned', + move=move.rec_name)) + if cls._deny_modify_done_cancel & vals_set: + for move in moves: + if move.state in ('done', 'cancelled'): + raise AccessError( + gettext('stock.msg_move_modify_%s' % move.state, + move=move.rec_name)) + + super(Move, cls).write(*args) + + to_write = [] + unit_price_update = [] + actions = iter(args) + for moves, values in zip(actions, actions): + if any(f not in cls._allow_modify_closed_period for f in values): + cls.check_period_closed(moves) + for move in moves: + internal_quantity = cls._get_internal_quantity(move.quantity, + move.uom, move.product) + if (internal_quantity != move.internal_quantity + and internal_quantity + != values.get('internal_quantity')): + to_write.extend(([move], { + 'internal_quantity': internal_quantity, + })) + if move.state == 'done' and 'unit_price' in values: + unit_price_update.append(move) + + if to_write: + cls.write(*to_write) + if unit_price_update: + cls.write(unit_price_update, {'unit_price_updated': True}) + + @classmethod + def delete(cls, moves): + for move in moves: + if move.state not in {'staging', 'draft', 'cancelled'}: + raise AccessError( + gettext('stock.msg_move_delete_draft_cancel', + move=move.rec_name)) + super(Move, cls).delete(moves) + + @staticmethod + def check_origin_types(): + "Location types to check for origin" + return set() + + @classmethod + def check_origin(cls, moves, types=None): + pool = Pool() + Warning = pool.get('res.user.warning') + if types is None: + types = cls.check_origin_types() + if not types: + return + + def no_origin(move): + return ((move.from_location.type in types) + ^ (move.to_location.type in types) + and not move.origin) + moves = sorted(filter(no_origin, moves)) + if moves: + names = ', '.join(m.rec_name for m in moves[:5]) + if len(moves) > 5: + names += '...' + warning_name = '%s.done' % hashlib.md5( + str(moves).encode('utf-8')).hexdigest() + if Warning.check(warning_name): + raise MoveOriginWarning(warning_name, + gettext('stock.msg_move_no_origin', + moves=names)) + + def pick_product(self, quantities): + """ + Pick the product across the keys. Naive (fast) implementation. + Return a list of tuple (key, quantity) for quantities that can be + picked. + """ + to_pick = [] + needed_qty = self.quantity + for key, available_qty in quantities: + # Ignore available_qty when too small + if available_qty < self.uom.rounding: + continue + if needed_qty <= available_qty: + to_pick.append((key, needed_qty)) + return to_pick + else: + to_pick.append((key, available_qty)) + needed_qty -= available_qty + # Force assignation for consumables: + if self.product.consumable and self.from_location.type != 'view': + to_pick.append(((self.from_location,), needed_qty)) + return to_pick + return to_pick + + @classmethod + def assign_try(cls, moves, with_childs=True, grouping=('product',)): + ''' + Try to assign moves. + It will split the moves to assign as much possible. + Return True if succeed or False if not. + ''' + pool = Pool() + Product = pool.get('product.product') + Uom = pool.get('product.uom') + Date = pool.get('ir.date') + Location = pool.get('stock.location') + + moves = [m for m in moves if m.state in {'draft', 'staging'}] + if not moves: + return True + + if with_childs: + locations = Location.search([ + ('parent', 'child_of', + [x.from_location.id for x in moves]), + ]) + else: + locations = list(set((m.from_location for m in moves))) + location_ids = [l.id for l in locations] + product_ids = list(set((m.product.id for m in moves))) + companies = {m.company for m in moves} + stock_date_end = Date.today() + + cls._assign_try_lock( + product_ids, location_ids, [c.id for c in companies], + stock_date_end, grouping) + + pblc = {} + for company in companies: + with Transaction().set_context( + stock_date_end=stock_date_end, + stock_assign=True, + company=company.id): + pblc[company.id] = Product.products_by_location( + location_ids, + grouping=grouping, + grouping_filter=(product_ids,)) + + def get_key(move, location_id): + key = (location_id,) + for field in grouping: + value = getattr(move, field) + if isinstance(value, Model): + value = value.id + key += (value,) + return key + + def get_values(key, location_name): + yield location_name, key[0] + for field, value in zip(grouping, key[1:]): + if value is not None and '.' not in field: + yield field, value + + def match(key, pattern): + for k, p in zip(key, pattern): + if p is None or k == p: + continue + else: + return False + else: + return True + + child_locations = {} + to_write = [] + to_assign = [] + success = True + for move in moves: + if move.state != 'draft': + if move.state == 'staging': + success = False + continue + pbl = pblc[move.company.id] + # Keep location order for pick_product + if with_childs: + childs = child_locations.get(move.from_location) + if childs is None: + childs = Location.search([ + ('parent', 'child_of', [move.from_location.id]), + ('type', '!=', 'view'), + ]) + child_locations[move.from_location] = childs + else: + childs = [move.from_location] + # Prevent picking from the destination location + try: + childs.remove(move.to_location) + except ValueError: + pass + # Try first to pick from source location + try: + childs.remove(move.from_location) + childs.insert(0, move.from_location) + except ValueError: + # from_location may be a view + pass + index = {l.id: i for i, l in enumerate(childs)} + location_qties = [] + pbl_items = pbl.items() + pbl_items = filter(lambda x: x[0][0] in index, pbl_items) + pbl_items = sorted(pbl_items, key=lambda x: index[x[0][0]]) + for key, qty in pbl_items: + move_key = get_key(move, key[0]) + if match(key, move_key): + qty = Uom.compute_qty( + move.product.default_uom, qty, move.uom, + round=False) + location_qties.append((key, qty)) + + to_pick = move.pick_product(location_qties) + + picked_qties = 0.0 + for _, qty in to_pick: + picked_qties += qty + + if move.quantity - picked_qties >= move.uom.rounding: + success = False + first = False + values = { + 'quantity': move.uom.round( + move.quantity - picked_qties), + } + to_write.extend([[move], values]) + else: + first = True + for key, qty in to_pick: + values = dict(get_values(key, 'from_location')) + values['quantity'] = move.uom.round(qty) + if first: + to_write.extend([[move], values]) + to_assign.append(move) + first = False + else: + with Transaction().set_context(_stock_move_split=True): + to_assign.extend(cls.copy([move], default=values)) + + qty_default_uom = Uom.compute_qty(move.uom, qty, + move.product.default_uom, round=False) + + pbl[key] = pbl.get(key, 0.0) - qty_default_uom + if to_write: + cls.write(*to_write) + if to_assign: + cls.assign(to_assign) + return success + + @classmethod + def _assign_try_lock( + cls, product_ids, location_ids, company_ids, date, grouping): + """Lock the database to prevent concurrent assignation""" + pool = Pool() + Period = pool.get('stock.period') + transaction = Transaction() + database = transaction.database + connection = transaction.connection + + if database.has_select_for(): + count = database.IN_MAX // 2 + PeriodCache = Period.get_cache(grouping) + with connection.cursor() as cursor: + for company_id in company_ids: + period = None + if PeriodCache: + periods = Period.search([ + ('date', '<', date), + ('company', '=', company_id), + ('state', '=', 'closed'), + ], order=[('date', 'DESC')], limit=1) + if periods: + period, = periods + for sub_location_ids in grouped_slice(location_ids, count): + sub_location_ids = list(sub_location_ids) + table = cls.__table__() + query = table.select(Literal(1), + where=(reduce_ids( + table.to_location, sub_location_ids) + | reduce_ids( + table.from_location, sub_location_ids)) + & table.product.in_(product_ids) + & (table.company == company_id), + for_=For('UPDATE', nowait=True)) + + if period: + query.where &= Coalesce( + table.effective_date, + table.planned_date, + datetime.date.max) > period.date + cursor.execute(*query) + else: + database.lock(connection, cls._table) + + @classmethod + def compute_quantities_query(cls, location_ids, with_childs=False, + grouping=('product',), grouping_filter=None): + """ + Prepare a query object to compute for each location and product the + stock quantity in the default uom of the product. + + The context with keys: + stock_date_end: if set the date of the stock computation. + stock_date_start: if set return the delta of the stock between the + two dates, (ignored if stock_date_end is missing). + stock_assign: if set compute also the assigned outgoing moves as + done at the stock_date_end except for delta which is at the + planned date. + forecast: if set compute the forecast quantity. + stock_destinations: A list of location ids. If set, restrict the + computation to moves from and to those locations. + If with_childs, it computes also for child locations. + grouping is a tuple of Move (or Product if prefixed by 'product.') + field names and defines how stock moves are grouped. + grouping_filter is a tuple of values, for the Move's field at the same + position in grouping tuple, used to filter which moves are used to + compute quantities. It must be None or have the same number of + elements than grouping. If no grouping_filter is provided it + returns quantities for all products. + + The query return the location as first column, after the fields in + grouping, and the last column is the quantity. + """ + pool = Pool() + User = pool.get('res.user') + Location = pool.get('stock.location') + Date = pool.get('ir.date') + Period = pool.get('stock.period') + Move = pool.get('stock.move') + Product = pool.get('product.product') + + move = Move.__table__() + today = Date.today() + + if not location_ids: + return None + context = Transaction().context.copy() + + use_product = False + for field in grouping: + if field.startswith('product.'): + Model = Product + field = field[len('product.'):] + use_product = True + else: + Model = Move + if field not in Model._fields: + raise ValueError('"%s" has no field "%s"' % (Model, field)) + assert grouping_filter is None or len(grouping_filter) <= len(grouping) + assert len(set(grouping)) == len(grouping) + + company = User(Transaction().user).company + + def get_column(name, table, product): + if name.startswith('product.'): + column = Column(product, name[len('product.'):]) + else: + column = Column(table, name) + return column.as_(name) + + if use_product: + product = Product.__table__() + columns = ['id', 'state', 'effective_date', 'planned_date', + 'internal_quantity', 'from_location', 'to_location', 'company'] + columns += [c for c in grouping if c not in columns] + columns = [get_column(c, move, product) for c in columns] + move = (move + .join(product, condition=move.product == product.id) + .select(*columns)) + + PeriodCache = Period.get_cache(grouping) + period = None + if PeriodCache: + period_cache = PeriodCache.__table__() + period_table = Period.__table__() + if use_product: + product_cache = Product.__table__() + columns = ['internal_quantity', 'period', 'location'] + columns += [c for c in grouping if c not in columns] + columns = [get_column(c, period_cache, product_cache) + for c in columns] + period_cache = (period_cache + .join(product_cache, + condition=(period_cache.product == product_cache.id)) + .join(period_table, + condition=(period_cache.period == period_table.id) + & ((period_table.company == company.id) + if company else Literal(True))) + .select(*columns)) + + if with_childs: + # Replace tables with union which replaces flat children locations + # by their parent location. + from_location = Location.__table__() + from_parent_location = Location.__table__() + to_location = Location.__table__() + to_parent_location = Location.__table__() + columns = ['id', 'state', 'effective_date', 'planned_date', + 'internal_quantity', 'company'] + columns += [c for c in grouping if c not in columns] + columns = [Column(move, c).as_(c) for c in columns] + + move_with_parent = (move + .join(from_location, + condition=move.from_location == from_location.id) + .join(from_parent_location, type_='LEFT', + condition=from_location.parent == from_parent_location.id) + .join(to_location, + condition=move.to_location == to_location.id) + .join(to_parent_location, type_='LEFT', + condition=to_location.parent == to_parent_location.id)) + + move = Union( + # Moves not linked to any flat location + move_with_parent.select( + move.from_location.as_('from_location'), + move.to_location.as_('to_location'), + *columns, + where=(Coalesce(from_parent_location.flat_childs, False) + != Literal(True)) + & (Coalesce(to_parent_location.flat_childs, False) + != Literal(True))), + # Append moves linked from/to flat locations to their parents + move_with_parent.select( + Case( + (from_parent_location.flat_childs, + from_parent_location.id), + else_=move.from_location).as_('from_location'), + Case( + (to_parent_location.flat_childs, + to_parent_location.id), + else_=move.to_location).as_('to_location'), + *columns, + where=(from_parent_location.flat_childs == Literal(True)) + | (to_parent_location.flat_childs == Literal(True))), + # Append moves linked to from/to flat locations only + move_with_parent.select( + Case( + (from_parent_location.flat_childs, + from_location.id), + else_=Null).as_('from_location'), + Case( + (to_parent_location.flat_childs, + to_location.id), + else_=Null).as_('to_location'), + *columns, + where=(from_parent_location.flat_childs == Literal(True)) + | (to_parent_location.flat_childs == Literal(True))), + all_=True) + + if PeriodCache: + location = Location.__table__() + parent_location = Location.__table__() + columns = ['internal_quantity', 'period'] + list(grouping) + columns = [Column(period_cache, c).as_(c) for c in columns] + period_cache = Union( + period_cache.select( + period_cache.location.as_('location'), + *columns), + period_cache.join(location, + condition=period_cache.location == location.id + ).join(parent_location, type_='LEFT', + condition=location.parent == parent_location.id + ).select( + parent_location.id.as_('location'), + *columns, + where=parent_location.flat_childs == Literal(True)), + all_=True) + + if not context.get('stock_date_end'): + context['stock_date_end'] = datetime.date.max + + # date end in the past or today: filter on state done + if (context['stock_date_end'] < today + or (context['stock_date_end'] == today + and not context.get('forecast'))): + + def state_date_clause(stock_assign): + return (move.state.in_(['done', + 'assigned' if stock_assign else 'done']) + & ( + ( + (move.effective_date == Null) + & (move.planned_date <= context['stock_date_end']) + ) + | (move.effective_date <= context['stock_date_end']) + | (move.state == ( + 'assigned' + if not context.get('stock_date_start') + else '')) + )) + state_date_clause_in = state_date_clause(False) + state_date_clause_out = state_date_clause( + context.get('stock_assign')) + # future date end: filter move on state done and date + # before today, or on all state and date between today and + # date_end. + else: + def state_date_clause(stock_assign): + return ((move.state.in_(['done', + 'assigned' if stock_assign else 'done']) + & ( + ( + (move.effective_date == Null) + & (move.planned_date <= today) + ) + | (move.effective_date <= today) + | (move.state == ( + 'assigned' + if not context.get('stock_date_start') + else '')) + ) + ) + | (move.state.in_(['done', 'assigned', 'draft']) + & ( + ( + (move.effective_date == Null) + & (Coalesce( + move.planned_date, datetime.date.max) + <= context['stock_date_end']) + & (Coalesce( + move.planned_date, datetime.date.max) + >= today) + ) + | ( + (move.effective_date + <= context['stock_date_end']) + & (move.effective_date >= today) + ) + | (move.state == ( + 'assigned' + if not context.get('stock_date_start') + else '')) + ) + ) + ) + state_date_clause_in = state_date_clause(False) + state_date_clause_out = state_date_clause( + context.get('stock_assign')) + + if context.get('stock_date_start'): + if context['stock_date_start'] > today: + def state_date_clause(): + return (move.state.in_(['done', 'assigned', 'draft']) + & ( + ( + (move.effective_date == Null) + & ( + (move.planned_date + >= context['stock_date_start']) + | (move.planned_date == Null) + ) + ) + | (move.effective_date + >= context['stock_date_start']) + ) + ) + state_date_clause_in &= state_date_clause() + state_date_clause_out &= state_date_clause() + else: + def state_date_clause(stock_assign): + return (( + move.state.in_(['done', 'assigned', 'draft']) + & ( + ( + (move.effective_date == Null) + & ( + (move.planned_date >= today) + | (move.planned_date == Null) + ) + ) + | (move.effective_date >= today) + ) + ) + | ( + move.state.in_(['done', + 'assigned' if stock_assign else 'done']) + & ( + ( + (move.effective_date == Null) + & ( + ( + (move.planned_date + >= context['stock_date_start']) + & (move.planned_date < today) + ) + | (move.planned_date == Null) + ) + ) + | ( + (move.effective_date + >= context['stock_date_start']) + & (move.effective_date < today) + ) + ) + ) + ) + state_date_clause_in &= state_date_clause(False) + state_date_clause_out &= state_date_clause( + context.get('stock_assign')) + elif PeriodCache: + periods = Period.search([ + ('date', '<=', context['stock_date_end']), + ('state', '=', 'closed'), + ('company', '=', company.id if company else -1), + ], order=[('date', 'DESC')], limit=1) + if periods: + period, = periods + + def state_date_clause(): + return (Coalesce(move.effective_date, move.planned_date, + datetime.date.max) > period.date) + state_date_clause_in &= state_date_clause() + state_date_clause_out &= state_date_clause() + + if with_childs: + location_query = _location_children(location_ids, query=True) + else: + location_query = location_ids[:] + + if PeriodCache: + from_period = period_cache + where = where_period = Literal(True) + if grouping_filter and any(grouping_filter): + for fieldname, grouping_ids in zip(grouping, grouping_filter): + if not grouping_ids: + continue + column = Column(move, fieldname) + if PeriodCache: + cache_column = Column(period_cache, fieldname) + if isinstance(grouping_ids[0], (int, float, Decimal)): + where &= reduce_ids(column, grouping_ids) + if PeriodCache: + where_period &= reduce_ids(cache_column, grouping_ids) + else: + where &= column.in_(grouping_ids) + if PeriodCache: + where_period &= cache_column.in_(grouping_ids) + + if context.get('stock_destinations'): + destinations = context['stock_destinations'] + dest_clause_from = move.from_location.in_(destinations) + dest_clause_to = move.to_location.in_(destinations) + + if PeriodCache: + dest_clause_period = period_cache.location.in_(destinations) + + else: + dest_clause_from = dest_clause_to = dest_clause_period = \ + Literal(True) + + # The main select clause is a union between three similar subqueries. + # One that sums incoming moves towards locations, one that sums + # outgoing moves and one for the period cache. UNION ALL is used + # because we already know that there will be no duplicates. + move_keys_alias = [Column(move, key).as_(key) for key in grouping] + move_keys = [Column(move, key) for key in grouping] + query = move.select(move.to_location.as_('location'), + Sum(move.internal_quantity).as_('quantity'), + *move_keys_alias, + where=state_date_clause_in + & where + & move.to_location.in_(location_query) + & ((move.company == company.id) if company else Literal(True)) + & dest_clause_from, + group_by=[move.to_location] + move_keys) + query = Union(query, move.select(move.from_location.as_('location'), + (-Sum(move.internal_quantity)).as_('quantity'), + *move_keys_alias, + where=state_date_clause_out + & where + & move.from_location.in_(location_query) + & ((move.company == company.id) if company else Literal(True)) + & dest_clause_to, + group_by=[move.from_location] + move_keys), + all_=True) + if PeriodCache: + period_keys = [Column(period_cache, key).as_(key) + for key in grouping] + query = Union(query, from_period.select( + period_cache.location.as_('location'), + period_cache.internal_quantity.as_('quantity'), + *period_keys, + where=(period_cache.period + == (period.id if period else None)) + & where_period + & period_cache.location.in_(location_query) + & dest_clause_period), + all_=True) + query_keys = [Column(query, key).as_(key) for key in grouping] + columns = ([query.location.as_('location')] + + query_keys + + [Sum(query.quantity).as_('quantity')]) + query = query.select(*columns, + group_by=[query.location] + query_keys) + return query + + @classmethod + def compute_quantities(cls, query, location_ids, with_childs=False, + grouping=('product',), grouping_filter=None): + """ + Executes the supplied query to compute for each location and product + the stock quantity in the default uom of the product and rounded to + Uom's rounding digits. + + See compute_quantites_query for params explanation. + + Return a dictionary with location id and grouping as key + and quantity as value. + """ + pool = Pool() + Product = pool.get('product.product') + Template = pool.get('product.template') + + assert query is not None, ( + "Query in Move.compute_quantities() can't be None") + assert 'product' in grouping or 'product.template' in grouping + + cursor = Transaction().connection.cursor() + cursor.execute(*query) + + if 'product' in grouping: + id_name = 'product' + Model = Product + else: + id_name = 'product.template' + Model = Template + id_getter = operator.itemgetter(grouping.index(id_name) + 1) + ids = set() + quantities = defaultdict(int) + keys = set() + # We can do a quick loop without propagation if the request is for a + # single location because all the locations are children and we can sum + # them directly. + if len(location_ids) == 1: + location, = location_ids + for line in cursor: + if len(location_ids) > 1: + location = line[0] + key = tuple(line[1:-1]) + quantity = line[-1] + quantities[(location,) + key] += quantity + ids.add(id_getter(line)) + keys.add(key) + + # Propagate quantities on from child locations to their parents + if with_childs and len(location_ids) > 1: + # Fetch all child locations + locations = _location_children(location_ids) + # Generate a set of locations without childs and a dict + # giving the parent of each location. + leafs = set([l.id for l in locations]) + parent = {} + for location in locations: + if not location.parent or location.parent.flat_childs: + continue + if location.parent.id in leafs: + leafs.remove(location.parent.id) + parent[location.id] = location.parent.id + locations = set((l.id for l in locations)) + while leafs: + for l in leafs: + locations.remove(l) + if l not in parent: + continue + for key in keys: + parent_key = (parent[l],) + key + quantities.setdefault(parent_key, 0) + quantities[parent_key] += quantities.get((l,) + key, 0) + next_leafs = set(locations) + for l in locations: + if l not in parent: + continue + if parent[l] in next_leafs and parent[l] in locations: + next_leafs.remove(parent[l]) + leafs = next_leafs + + # clean result + for key in list(quantities.keys()): + location = key[0] + if location not in location_ids: + del quantities[key] + + # Round quantities + default_uom = dict((p.id, p.default_uom) for p in + Model.browse(list(ids))) + for key, quantity in quantities.items(): + location = key[0] + uom = default_uom[id_getter(key)] + quantities[key] = uom.round(quantity) + + return quantities + + +def _location_children(location_ids, query=False): + "Return children location without including flat children" + pool = Pool() + Location = pool.get('stock.location') + nested_location_ids = [] + flat_location_ids = [] + for location in Location.browse(location_ids): + if location.flat_childs: + flat_location_ids.append(location.id) + else: + nested_location_ids.append(location.id) + if nested_location_ids: + return Location.search(['OR', + [ + ('parent', 'child_of', nested_location_ids), + ('parent.flat_childs', '!=', True), + ], + ('id', 'in', location_ids), + ], query=query, order=[]) + else: + if query: + return flat_location_ids + else: + return Location.browse(flat_location_ids) diff --git a/modules/stock/move.xml b/modules/stock/move.xml new file mode 100644 index 0000000000..491536996d --- /dev/null +++ b/modules/stock/move.xml @@ -0,0 +1,185 @@ + + + + + + stock.move + form + move_form + + + stock.move + tree + + move_tree + + + + stock.move + tree + + move_tree_simple + + + + stock.move + tree + + move_list_shipment_in + + + + stock.move + tree + + move_list_shipment + + + + Moves + stock.move + + + + + + + + + + + + + + All + + + + + + From Suppliers + + + + + + From Suppliers Waiting + + + + + + + To Customers + + + + + + + + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + cancel + Cancel + Are you sure you want to cancel the move? + + + + + draft + Reset to Draft + + + + + assign + + + + + do + Do + Are you sure you want to complete the move? + + + + + Stock Moves + stock.move + + + + + + + + + + + + + + + + form_relate + product.product,-1 + + + + form_relate + product.template,-1 + + + + + + + + + diff --git a/modules/stock/party.py b/modules/stock/party.py new file mode 100644 index 0000000000..731a53d37d --- /dev/null +++ b/modules/stock/party.py @@ -0,0 +1,70 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.i18n import gettext +from trytond.model import fields +from trytond.pool import PoolMeta, Pool + +from trytond.modules.party.exceptions import EraseError + + +class Address(metaclass=PoolMeta): + __name__ = 'party.address' + delivery = fields.Boolean( + 'Delivery', + help="Check to send deliveries to the address.") + + +class ContactMechanism(metaclass=PoolMeta): + __name__ = 'party.contact_mechanism' + delivery = fields.Boolean( + 'Delivery', + help="Check to use for delivery.") + + @classmethod + def usages(cls, _fields=None): + if _fields is None: + _fields = [] + _fields.append('delivery') + return super().usages(_fields=_fields) + + +class Replace(metaclass=PoolMeta): + __name__ = 'party.replace' + + @classmethod + def fields_to_replace(cls): + return super().fields_to_replace() + [ + ('stock.shipment.in', 'supplier'), + ('stock.shipment.in.return', 'supplier'), + ('stock.shipment.out', 'customer'), + ('stock.shipment.out.return', 'customer'), + ] + + +class Erase(metaclass=PoolMeta): + __name__ = 'party.erase' + + def check_erase_company(self, party, company): + pool = Pool() + ShipmentIn = pool.get('stock.shipment.in') + ShipmentInReturn = pool.get('stock.shipment.in.return') + ShipmentOut = pool.get('stock.shipment.out') + ShipmentOutReturn = pool.get('stock.shipment.out.return') + super().check_erase_company(party, company) + + for Shipment, field in [ + (ShipmentIn, 'supplier'), + (ShipmentInReturn, 'supplier'), + (ShipmentOut, 'customer'), + (ShipmentOutReturn, 'customer'), + ]: + shipments = Shipment.search([ + (field, '=', party.id), + ('company', '=', company.id), + ('state', 'not in', ['done', 'cancelled']), + ]) + if shipments: + raise EraseError( + gettext('stock.msg_erase_party_shipment', + party=party.rec_name, + company=company.rec_name)) diff --git a/modules/stock/party.xml b/modules/stock/party.xml new file mode 100644 index 0000000000..e7dda7f12e --- /dev/null +++ b/modules/stock/party.xml @@ -0,0 +1,79 @@ + + + + + + party.address + + party_address_tree + + + party.address + + party_address_form + + + party.address + + party_address_tree + + + + party.contact_mechanism + + party_contact_mechanism_tree + + + party.contact_mechanism + + party_contact_mechanism_form + + + party.contact_mechanism + + party_contact_mechanism_tree + + + + Customer Shipments + stock.shipment.out + + + + + form_relate + party.party,-1 + + + + + + + + + Supplier Shipments + stock.shipment.in + + + + + form_relate + party.party,-1 + + + + + + + + + diff --git a/modules/stock/period.py b/modules/stock/period.py new file mode 100644 index 0000000000..54e5f4bd92 --- /dev/null +++ b/modules/stock/period.py @@ -0,0 +1,171 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from itertools import chain + +from sql import Literal, For + +from trytond.i18n import gettext +from trytond.model import Workflow, ModelView, ModelSQL, fields +from trytond.pyson import Eval +from trytond.transaction import Transaction +from trytond.pool import Pool +from trytond.tools import grouped_slice + +from .exceptions import PeriodCloseError + + +class Period(Workflow, ModelSQL, ModelView): + 'Stock Period' + __name__ = 'stock.period' + date = fields.Date('Date', required=True, states={ + 'readonly': Eval('state') == 'closed', + }, depends=['state'], + help="When the stock period ends.") + company = fields.Many2One( + 'company.company', "Company", required=True, + help="The company the stock period is associated with.") + caches = fields.One2Many('stock.period.cache', 'period', 'Caches', + readonly=True) + state = fields.Selection([ + ('draft', 'Draft'), + ('closed', 'Closed'), + ], 'State', select=True, readonly=True, + help="The current state of the stock period.") + + @classmethod + def __setup__(cls): + super(Period, cls).__setup__() + cls._transitions |= set(( + ('draft', 'closed'), + ('closed', 'draft'), + )) + cls._buttons.update({ + 'draft': { + 'invisible': Eval('state') == 'draft', + 'depends': ['state'], + }, + 'close': { + 'invisible': Eval('state') == 'closed', + 'depends': ['state'], + }, + }) + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @staticmethod + def default_state(): + return 'draft' + + @staticmethod + def groupings(): + return [('product',)] + + @staticmethod + def get_cache(grouping): + pool = Pool() + if all(g == 'product' or g.startswith('product.') for g in grouping): + return pool.get('stock.period.cache') + + def get_rec_name(self, name): + return str(self.date) + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, periods): + for grouping in cls.groupings(): + Cache = cls.get_cache(grouping) + caches = [] + for sub_periods in grouped_slice(periods): + caches.append(Cache.search([ + ('period', 'in', + [p.id for p in sub_periods]), + ], order=[])) + Cache.delete(list(chain(*caches))) + + @classmethod + @ModelView.button + @Workflow.transition('closed') + def close(cls, periods): + pool = Pool() + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Date = pool.get('ir.date') + transaction = Transaction() + connection = transaction.connection + database = transaction.database + + # XXX: A move in the period could be inserted before the lock + # from a different transaction. It will not be taken in the pbl + # computation but it is quite rare because only past periods are + # closed. + database.lock(connection, Move._table) + if database.has_select_for(): + move = Move.__table__() + query = move.select(Literal(1), for_=For('UPDATE', nowait=True)) + with connection.cursor() as cursor: + cursor.execute(*query) + + locations = Location.search([ + ('type', 'not in', ['warehouse', 'view']), + ], order=[]) + today = Date.today() + + recent_date = max(period.date for period in periods) + if recent_date >= today: + raise PeriodCloseError( + gettext('stock.msg_period_close_date')) + if Move.search([ + ('state', '=', 'assigned'), + ['OR', [ + ('effective_date', '=', None), + ('planned_date', '<=', recent_date), + ], + ('effective_date', '<=', recent_date), + ]]): + raise PeriodCloseError( + gettext('stock.msg_period_close_assigned_move')) + + for grouping in cls.groupings(): + Cache = cls.get_cache(grouping) + to_create = [] + for period in periods: + with Transaction().set_context( + stock_date_end=period.date, + stock_date_start=None, + stock_assign=False, + forecast=False, + stock_destinations=None, + ): + pbl = Product.products_by_location( + [l.id for l in locations], grouping=grouping) + for key, quantity in pbl.items(): + values = { + 'location': key[0], + 'period': period.id, + 'internal_quantity': quantity, + } + for i, field in enumerate(grouping, 1): + values[field] = key[i] + to_create.append(values) + if to_create: + Cache.create(to_create) + + +class Cache(ModelSQL, ModelView): + ''' + Stock Period Cache + + It is used to store cached computation of stock quantities. + ''' + __name__ = 'stock.period.cache' + period = fields.Many2One('stock.period', 'Period', required=True, + readonly=True, select=True, ondelete='CASCADE') + location = fields.Many2One('stock.location', 'Location', required=True, + readonly=True, select=True, ondelete='CASCADE') + product = fields.Many2One('product.product', 'Product', required=True, + readonly=True, select=True, ondelete='CASCADE') + internal_quantity = fields.Float('Internal Quantity', readonly=True) diff --git a/modules/stock/period.xml b/modules/stock/period.xml new file mode 100644 index 0000000000..e9286c2966 --- /dev/null +++ b/modules/stock/period.xml @@ -0,0 +1,130 @@ + + + + + + stock.period + form + period_form + + + stock.period + tree + period_list + + + + Periods + stock.period + + + + + + + + + + + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + draft + Draft + + + + + + + + + close + Close + + + + + + + + + stock.period.cache + form + period_cache_form + + + stock.period.cache + tree + period_cache_list + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/stock/picking_list.fodt b/modules/stock/picking_list.fodt new file mode 100644 index 0000000000..5e50620df8 --- /dev/null +++ b/modules/stock/picking_list.fodt @@ -0,0 +1,490 @@ + + + + LibreOffice/5.2.7.2$Linux_X86_64 LibreOffice_project/20m0$Build-2Bertrand Chenal2009-03-26T13:54:482016-03-21T16:05:27.39538848350PT7H39M6S + + + 0 + 0 + 43760 + 21691 + true + false + + + view2 + 2630 + 5313 + 0 + 0 + 43759 + 21689 + 0 + 0 + false + 100 + false + + + + + false + true + true + true + 0 + true + true + + false + false + false + false + false + false + false + false + false + false + false + false + false + true + false + true + true + false + false + false + false + + false + false + true + false + false + + false + false + false + false + true + 2539458 + false + true + true + false + true + true + false + true + 0 + false + true + high-resolution + false + false + false + true + true + true + + true + false + false + true + false + false + false + + false + false + 1812667 + false + 1 + true + false + false + 0 + false + false + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <if test="company and company.header"> + <for each="line in company.header.split('\n')"> + <line> + </for> + </if> + <company.rec_name if company else ''> + + + <if test="company and company.footer"> + <for each="line in company.footer.split('\n')"> + <line> + </for> + </if> + 2/2 + + + + + + + + + + + + + <for each="shipment in records"> + Picking List + Shipment Number: <shipment.number> + Reference: <shipment.origins or ''><', ' if (shipment.origins and shipment.reference) else ''><shipment.reference or ''> + Customer: <shipment.customer.rec_name> + Planned Date: <shipment.planned_date and format_date(shipment.planned_date, user.language) or ''> + Warehouse: <shipment.warehouse.rec_name> + + + + + + + + From Location + + + To Location + + + Product + + + Quantity + + + + + + <for each="move in moves[shipment.id]"> + + + + + + + + + + + + <move.from_location.rec_name> + + + <move.to_location.rec_name> + + + <move.product.rec_name> + + + <format_number(move.quantity, user.language, digits=move.unit_digits)> <move.uom.symbol> + + + + + </for> + + + + + + + + + + + </for> + + + \ No newline at end of file diff --git a/modules/stock/product.py b/modules/stock/product.py new file mode 100644 index 0000000000..406d2c55cc --- /dev/null +++ b/modules/stock/product.py @@ -0,0 +1,1210 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import datetime +import functools +from decimal import Decimal +from collections import defaultdict +from copy import deepcopy + +from simpleeval import simple_eval + +from sql import Literal, Select, Window, With +from sql.aggregate import Max, Sum +from sql.conditionals import Coalesce, Case +from sql.functions import CurrentTimestamp +from sql.operators import Concat + +from trytond.i18n import gettext +from trytond.model import ModelSQL, ModelView, fields +from trytond.model.exceptions import AccessError +from trytond.wizard import ( + Wizard, StateTransition, StateAction, StateView, Button) +from trytond.pyson import Eval, If, Bool, PYSONEncoder +from trytond.tools import decistmt +from trytond.transaction import Transaction +from trytond.pool import Pool, PoolMeta +from trytond.tools import grouped_slice + +from trytond.modules.product import round_price, price_digits + +from .exceptions import ProductCostPriceError +from .move import StockMixin +from .shipment import ShipmentAssignMixin + + +def check_no_move(func): + + def find_moves(cls, records): + pool = Pool() + Move = pool.get('stock.move') + if cls.__name__ == 'product.template': + field = 'product.template' + else: + field = 'product' + for sub_records in grouped_slice(records): + moves = Move.search([ + (field, 'in', list(map(int, sub_records))), + ], + limit=1, order=[]) + if moves: + return moves + return False + + @functools.wraps(func) + def decorator(cls, *args): + pool = Pool() + Template = pool.get('product.template') + transaction = Transaction() + if (transaction.user != 0 + and transaction.context.get('_check_access')): + actions = iter(args) + for records, values in zip(actions, actions): + for field, msg in Template._modify_no_move: + if field in values: + if find_moves(cls, records): + raise AccessError(gettext(msg)) + # No moves for those records + break + + if not values.get('template'): + continue + template = Template(values['template']) + for record in records: + for field, msg in Template._modify_no_move: + if isinstance( + getattr(Template, field), fields.Function): + continue + if getattr(record, field) != getattr(template, field): + if find_moves(cls, [record]): + raise AccessError(gettext(msg)) + # No moves for this record + break + func(cls, *args) + return decorator + + +class Template(metaclass=PoolMeta): + __name__ = "product.template" + quantity = fields.Function(fields.Float('Quantity', + help="The amount of stock in the location."), + 'sum_product') + forecast_quantity = fields.Function(fields.Float('Forecast Quantity', + help="The amount of stock expected to be in the location."), + 'sum_product') + cost_value = fields.Function(fields.Numeric('Cost Value', + help="The value of the stock in the location."), + 'sum_product') + + def sum_product(self, name): + if name not in ('quantity', 'forecast_quantity', 'cost_value'): + raise Exception('Bad argument') + sum_ = 0. if name != 'cost_value' else Decimal(0) + for product in self.products: + sum_ += getattr(product, name) + return sum_ + + @classmethod + def __setup__(cls): + super().__setup__() + cls._modify_no_move = [ + ('default_uom', 'stock.msg_product_change_default_uom'), + ('type', 'stock.msg_product_change_type'), + ('cost_price', 'stock.msg_product_change_cost_price'), + ] + + @classmethod + @check_no_move + def write(cls, *args): + super(Template, cls).write(*args) + + @classmethod + def recompute_cost_price(cls, templates, start=None): + pool = Pool() + Product = pool.get('product.product') + + products = [p for t in templates for p in t.products] + Product.recompute_cost_price(products, start=start) + + +class Product(StockMixin, object, metaclass=PoolMeta): + __name__ = "product.product" + quantity = fields.Function(fields.Float( + "Quantity", digits=(16, Eval('default_uom_digits', 2)), + depends=['default_uom_digits'], + help="The amount of stock in the location."), + 'get_quantity', searcher='search_quantity') + forecast_quantity = fields.Function(fields.Float( + "Forecast Quantity", digits=(16, Eval('default_uom_digits', 2)), + depends=['default_uom_digits'], + help="The amount of stock expected to be in the location."), + 'get_quantity', searcher='search_quantity') + cost_value = fields.Function(fields.Numeric( + "Cost Value", digits=price_digits, + help="The value of the stock in the location."), + 'get_cost_value') + + @classmethod + def get_quantity(cls, products, name): + location_ids = Transaction().context.get('locations') + product_ids = list(map(int, products)) + return cls._get_quantity( + products, name, location_ids, grouping_filter=(product_ids,)) + + @classmethod + def search_quantity(cls, name, domain=None): + location_ids = Transaction().context.get('locations') + return cls._search_quantity(name, location_ids, domain) + + @classmethod + def get_cost_value(cls, products, name): + cost_values = {p.id: None for p in products} + context = {} + trans_context = Transaction().context + if trans_context.get('stock_date_end'): + # Use the last cost_price of the day + context['_datetime'] = datetime.datetime.combine( + trans_context['stock_date_end'], datetime.time.max) + # The date could be before the product creation + products = [p for p in products + if p.create_date <= context['_datetime']] + with Transaction().set_context(context): + for product in cls.browse(products): + # The product may not have a cost price + if product.cost_price is not None: + cost_values[product.id] = round_price( + Decimal(str(product.quantity)) * product.cost_price) + return cost_values + + @classmethod + @check_no_move + def write(cls, *args): + super(Product, cls).write(*args) + + @classmethod + def products_by_location(cls, location_ids, + with_childs=False, grouping=('product',), grouping_filter=None): + """ + Compute for each location and product the stock quantity in the default + uom of the product. + + The context with keys: + stock_skip_warehouse: if set, quantities on a warehouse are no more + quantities of all child locations but quantities of the storage + zone. + + Return a dictionary with location id and grouping as key + and quantity as value. + """ + pool = Pool() + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + # Skip warehouse location in favor of their storage location + # to compute quantities. Keep track of which ids to remove + # and to add after the query. + storage_to_remove = set() + wh_to_add = {} + if Transaction().context.get('stock_skip_warehouse'): + location_ids = set(location_ids) + for location in Location.browse(list(location_ids)): + if location.type == 'warehouse': + location_ids.remove(location.id) + if location.storage_location.id not in location_ids: + storage_to_remove.add(location.storage_location.id) + location_ids.add(location.storage_location.id) + wh_to_add[location.id] = location.storage_location.id + location_ids = list(location_ids) + + query = Move.compute_quantities_query(location_ids, with_childs, + grouping=grouping, grouping_filter=grouping_filter) + if query is None: + return {} + quantities = Move.compute_quantities(query, location_ids, with_childs, + grouping=grouping, grouping_filter=grouping_filter) + + if wh_to_add: + for wh, storage in wh_to_add.items(): + for key in list(quantities.keys()): + if key[0] == storage: + quantities[(wh,) + key[1:]] = quantities[key] + if storage in storage_to_remove: + del quantities[key] + return quantities + + @classmethod + def recompute_cost_price_from_moves(cls): + pool = Pool() + Move = pool.get('stock.move') + products = set() + for move in Move.search([ + ('unit_price_updated', '=', True), + cls._domain_moves_cost(), + ], + order=[('effective_date', 'ASC')]): + if move.product not in products: + cls.__queue__.recompute_cost_price( + [move.product], start=move.effective_date) + products.add(move.product) + + @classmethod + def recompute_cost_price(cls, products, start=None): + pool = Pool() + Move = pool.get('stock.move') + costs = defaultdict(list) + for product in products: + if product.type == 'service': + continue + cost = getattr( + product, 'recompute_cost_price_%s' % + product.cost_price_method)(start) + cost = round_price(cost) + costs[cost].append(product) + + updated = [] + for sub_products in grouped_slice(products): + domain = [ + ('unit_price_updated', '=', True), + cls._domain_moves_cost(), + ('product', 'in', [p.id for p in sub_products]), + ] + if start: + domain.append(('effective_date', '>=', start)) + updated += Move.search(domain, order=[]) + if updated: + Move.write(updated, {'unit_price_updated': False}) + + if costs: + cls.update_cost_price(costs) + + @classmethod + def update_cost_price(cls, costs): + "Update cost price of products from costs re-computation dictionary" + to_write = [] + for cost, products in costs.items(): + to_write.append(products) + to_write.append({'cost_price': cost}) + + with Transaction().set_context(_check_access=False): + cls.write(*to_write) + + def recompute_cost_price_fixed(self, start=None): + return self.cost_price + + @classmethod + def _domain_moves_cost(cls): + "Returns the domain for moves to use in cost computation" + context = Transaction().context + return [ + ('company', '=', context.get('company')), + ('state', '=', 'done'), + ] + + @classmethod + def _domain_in_moves_cost(cls): + "Return the domain for incoming moves in cost computation" + return [ + ('to_location.type', '=', 'storage'), + ('from_location.type', '!=', 'storage'), + ] + + @classmethod + def _domain_out_moves_cost(cls): + "Return the domain for outgoing moves in cost computation" + return [ + ('from_location.type', '=', 'storage'), + ('to_location.type', '!=', 'storage'), + ] + + @classmethod + def _domain_storage_quantity(cls): + "Returns the domain for locations to use in cost computation" + return [('type', '=', 'storage')] + + def _get_storage_quantity(self, date=None): + pool = Pool() + Location = pool.get('stock.location') + + locations = Location.search(self._domain_storage_quantity()) + if not date: + date = datetime.date.today() + location_ids = [l.id for l in locations] + with Transaction().set_context( + locations=location_ids, + with_childs=False, + stock_date_end=date): + return self.__class__(self.id).quantity + + def recompute_cost_price_average(self, start=None): + pool = Pool() + Move = pool.get('stock.move') + Uom = pool.get('product.uom') + Revision = pool.get('product.cost_price.revision') + + domain = [ + ('product', '=', self.id), + self._domain_moves_cost(), + ['OR', + self._domain_in_moves_cost(), + self._domain_out_moves_cost(), + ] + ] + if start: + domain.append(('effective_date', '>=', start)) + moves = Move.search( + domain, order=[('effective_date', 'ASC'), ('id', 'ASC')]) + + _in_moves = Move.search([ + ('product', '=', self.id), + self._domain_moves_cost(), + self._domain_in_moves_cost(), + ], order=[]) + _in_moves = set(m.id for m in _in_moves) + + revisions = Revision.get_for_product(self) + + cost_price = Decimal(0) + quantity = 0 + if start: + domain.remove(('effective_date', '>=', start)) + domain.append(('effective_date', '<', start)) + domain.append(self._domain_in_moves_cost()) + prev_moves = Move.search( + domain, + order=[('effective_date', 'DESC'), ('id', 'DESC')], + limit=1) + if prev_moves: + move, = prev_moves + cost_price = move.cost_price + quantity = self._get_storage_quantity( + date=start - datetime.timedelta(days=1)) + quantity = Decimal(str(quantity)) + + def in_move(move): + return move.id in _in_moves + + def out_move(move): + return not in_move(move) + + current_moves = [] + current_cost_price = cost_price + for move in moves: + if (current_moves + and current_moves[-1].effective_date + != move.effective_date): + Move.write([ + m for m in current_moves + if m.cost_price != current_cost_price], + dict(cost_price=current_cost_price)) + current_moves.clear() + current_moves.append(move) + + cost_price = Revision.apply_up_to( + revisions, cost_price, move.effective_date) + qty = Uom.compute_qty(move.uom, move.quantity, self.default_uom) + qty = Decimal(str(qty)) + if out_move(move): + qty *= -1 + if in_move(move): + unit_price = move.get_cost_price(product_cost_price=cost_price) + if quantity + qty > 0 and quantity >= 0: + cost_price = ( + (cost_price * quantity) + (unit_price * qty) + ) / (quantity + qty) + elif qty > 0: + cost_price = unit_price + current_cost_price = round_price(cost_price) + quantity += qty + + Move.write([ + m for m in current_moves + if m.cost_price != current_cost_price], + dict(cost_price=current_cost_price)) + + for revision in revisions: + cost_price = revision.get_cost_price(cost_price) + return cost_price + + @classmethod + def view_attributes(cls): + return super().view_attributes() + [ + ('/tree/field[@name="quantity"]', + 'visual', If(Eval('quantity', 0) < 0, 'danger', '')), + ('/tree/field[@name="forecast_quantity"]', + 'visual', If(Eval('forecast_quantity', 0) < 0, 'warning', '')), + ] + + +class ProductByLocationContext(ModelView): + 'Product by Location' + __name__ = 'product.by_location.context' + forecast_date = fields.Date( + 'At Date', + help="The date for which the stock quantity is calculated.\n" + "* An empty value calculates as far ahead as possible.\n" + "* A date in the past will provide historical values.") + stock_date_end = fields.Function(fields.Date('At Date'), + 'on_change_with_stock_date_end') + + @staticmethod + def default_forecast_date(): + Date = Pool().get('ir.date') + return Date.today() + + @fields.depends('forecast_date') + def on_change_with_stock_date_end(self, name=None): + if self.forecast_date is None: + return datetime.date.max + return self.forecast_date + + +class OpenProductQuantitiesByWarehouse(Wizard): + "Open Product Quantities By Warehouse" + __name__ = 'stock.product_quantities_warehouse.open' + start_state = 'open_' + open_ = StateAction('stock.act_product_quantities_warehouse') + + def do_open_(self, action): + encoder = PYSONEncoder() + action['pyson_context'] = encoder.encode(self.get_context()) + action['pyson_search_value'] = encoder.encode(self.get_search_value()) + action['pyson_domain'] = encoder.encode(self.get_domain()) + action['name'] += '(' + self.record.rec_name + ')' + return action, {} + + def get_context(self): + context = {} + if issubclass(self.model, ShipmentAssignMixin): + context['product_template'] = None + context['product'] = [ + m.product.id for m in self.record.assign_moves] + warehouse = getattr(self.record, 'warehouse', None) + if self.model == 'stock.shipment.internal': + warehouse = self.record.from_location.warehouse + if warehouse: + context['warehouse'] = warehouse.id + return context + + def get_search_value(self): + pool = Pool() + Date = pool.get('ir.date') + today = Date.today() + value = [('date', '>=', today)] + if (getattr(self.record, 'planned_date', None) + and self.record.planned_date >= today): + value.append(('date', '<=', self.record.planned_date)) + return value + + def get_domain(self): + if issubclass(self.model, ShipmentAssignMixin): + return [('product', 'in', [ + str(m.product) for m in self.record.assign_moves])] + return [] + + +class ProductQuantitiesByWarehouse(ModelSQL, ModelView): + 'Product Quantities By Warehouse' + __name__ = 'stock.product_quantities_warehouse' + + class _Date(fields.Date): + def get(self, ids, model, name, values=None): + if values is None: + values = {} + result = {} + for v in values: + date = v[name] + # SQLite does not convert to date + if isinstance(date, str): + date = datetime.date(*map(int, date.split('-', 2))) + result[v['id']] = date + return result + + product = fields.Reference("Product", [ + ('product.product', "Variant"), + ('product.template', "Product"), + ]) + date = _Date('Date') + quantity = fields.Function(fields.Float('Quantity'), 'get_quantity') + company = fields.Many2One('company.company', "Company") + + del _Date + + @classmethod + def __setup__(cls): + super(ProductQuantitiesByWarehouse, cls).__setup__() + cls._order.insert(0, ('date', 'ASC')) + + @classmethod + def table_query(cls): + pool = Pool() + Move = pool.get('stock.move') + Location = pool.get('stock.location') + Product = pool.get('product.product') + Date = pool.get('ir.date') + move = from_ = Move.__table__() + context = Transaction().context + today = Date.today() + + if context.get('product_template') is not None: + product_template = context['product_template'] + if isinstance(product_template, int): + product_template = [product_template] + product = Product.__table__() + from_ = move.join(product, condition=move.product == product.id) + product_clause = product.template.in_(product_template or [-1]) + product_column = Concat('product.template,', product.template) + products = [('product.template', i) for i in product_template] + else: + product = context.get('product') + if product is None: + product = [] + if isinstance(product, int): + product = [product] + product_clause = move.product.in_(product or [-1]) + product_column = Concat('product.product,', move.product) + products = [('product.product', i) for i in product] + + if 'warehouse' in context: + warehouse = Location(context.get('warehouse')) + if context.get('stock_skip_warehouse'): + location_id = warehouse.storage_location.id + else: + location_id = warehouse.id + else: + location_id = -1 + warehouse = With('id', query=Location.search([ + ('parent', 'child_of', [location_id]), + ], query=True, order=[])) + date_column = Coalesce(move.effective_date, move.planned_date) + query = (from_.select( + Max(move.id * 3).as_('id'), + Literal(0).as_('create_uid'), + CurrentTimestamp().as_('create_date'), + Literal(None).as_('write_uid'), + Literal(None).as_('write_date'), + product_column.as_('product'), + date_column.as_('date'), + move.company.as_('company'), + where=product_clause + & ( + (move.from_location.in_( + warehouse.select(warehouse.id)) + & ~move.to_location.in_( + warehouse.select(warehouse.id))) + | (~move.from_location.in_( + warehouse.select(warehouse.id)) + & move.to_location.in_( + warehouse.select(warehouse.id)))) + & ((date_column < today) & (move.state == 'done') + | (date_column > today)), + group_by=(date_column, product_column, move.company), + with_=warehouse)) + for model, id_ in products: + gap = ['product.template', 'product.product'].index(model) + 1 + query |= Select([ + Literal(id_ * 3 + gap).as_('id'), + Literal(0).as_('create_uid'), + CurrentTimestamp().as_('create_date'), + Literal(None).as_('write_uid'), + Literal(None).as_('write_date'), + Literal('%s,%s' % (model, id_)).as_('product'), + Literal(today).as_('date'), + Literal(context.get('company', -1)).as_('company'), + ]) + return query + + @classmethod + def parse_view(cls, tree, type, *args, **kwargs): + pool = Pool() + Product = pool.get('product.product') + Template = pool.get('product.template') + context = Transaction().context + if kwargs.get('view_depends') is None: + view_depends = [] + else: + view_depends = kwargs['view_depends'].copy() + kwargs['view_depends'] = view_depends + if type == 'graph': + encoder = PYSONEncoder() + if context.get('product_template') is not None: + product_template = context['product_template'] + if isinstance(product_template, int): + product_template = [product_template] + records = Template.browse(product_template) + elif context.get('product'): + product = context['product'] + if product is None: + product = -1 + if isinstance(product, int): + product = [product] + records = Product.browse(product) + else: + records = [] + if len(records) > 1: + quantity_node, = tree.xpath('//y/field[@name="quantity"]') + parent = quantity_node.getparent() + parent.remove(quantity_node) + for record in records: + node = deepcopy(quantity_node) + node.set('key', str(record.id)) + node.set('string', record.rec_name) + node.set('domain', encoder.encode( + Eval('product') == str(record))) + node.set('fill', '0') + parent.append(node) + graph, = tree.xpath('/graph') + graph.set('legend', '1') + view_depends.append('product') + return super().parse_view(tree, type, *args, **kwargs) + + @classmethod + def get_quantity(cls, lines, name): + Product = Pool().get('product.product') + trans_context = Transaction().context + + if trans_context.get('product_template') is not None: + grouping = ('product.template',) + product_template = trans_context['product_template'] + if isinstance(product_template, int): + product_template = [product_template] + grouping_filter = (product_template,) + else: + grouping = ('product',) + product = trans_context.get('product', -1) + if product is None: + product = -1 + if isinstance(product, int): + product = [product] + grouping_filter = (product,) + warehouse_id = trans_context.get('warehouse') + + def cast_date(date): + if isinstance(date, str): + date = datetime.date(*map(int, date.split('-', 2))) + return date + + dates = sorted({cast_date(l.date) for l in lines}) + quantities = {} + keys = set() + date_start = None + for date in dates: + context = { + 'stock_date_start': date_start, + 'stock_date_end': date, + 'forecast': True, + } + with Transaction().set_context(**context): + quantities[date] = Product.products_by_location( + [warehouse_id], + grouping=grouping, + grouping_filter=grouping_filter, + with_childs=True) + keys.update(quantities[date]) + try: + date_start = date + datetime.timedelta(1) + except OverflowError: + pass + cumulate = defaultdict(lambda: 0) + for date in dates: + for key in keys: + cumulate[key] += quantities[date][key] + quantities[date][key] = cumulate[key] + + return { + l.id: quantities[cast_date(l.date)].get( + (warehouse_id, int(l.product)), 0) + for l in lines} + + def get_rec_name(self, name): + return self.product.rec_name if self.product else '' + + +class ProductQuantitiesByWarehouseContext(ModelView): + 'Product Quantities By Warehouse' + __name__ = 'stock.product_quantities_warehouse.context' + warehouse = fields.Many2One('stock.location', 'Warehouse', required=True, + domain=[ + ('type', '=', 'warehouse'), + ], + help="The warehouse for which the quantities will be calculated.") + stock_skip_warehouse = fields.Boolean( + "Only storage zone", + help="Check to use only the quantity of the storage zone.") + + @classmethod + def default_warehouse(cls): + Location = Pool().get('stock.location') + return Location.get_default_warehouse() + + @classmethod + def default_stock_skip_warehouse(cls): + return Transaction().context.get('stock_skip_warehouse') + + +class OpenProductQuantitiesByWarehouseMove(Wizard): + "Open Product Quantities By Warehouse Moves" + __name__ = 'stock.product_quantities_warehouse.move.open' + start_state = 'open_' + open_ = StateAction('stock.act_product_quantities_warehouse_move') + + def do_open_(self, action): + encoder = PYSONEncoder() + action['pyson_context'] = '{}' + action['pyson_search_value'] = encoder.encode( + [('date', '>=', self.record.date)]) + action['pyson_domain'] = encoder.encode( + [('product', '=', str(self.record.product))]) + action['name'] += ' (' + self.record.rec_name + ')' + return action, {} + + +class ProductQuantitiesByWarehouseMove(ModelSQL, ModelView): + "Product Quantities By Warehouse Moves" + __name__ = 'stock.product_quantities_warehouse.move' + + product = fields.Reference("Product", [ + ('product.product', "Variant"), + ('product.template', "Product"), + ]) + date = fields.Date("Date") + move = fields.Many2One('stock.move', "Move") + origin = fields.Reference("Origin", selection='get_origin') + document = fields.Function( + fields.Reference("Document", selection='get_documents'), + 'get_document') + quantity = fields.Float("Quantity") + cumulative_quantity_start = fields.Function( + fields.Float("Cumulative Quantity Start"), 'get_cumulative_quantity') + cumulative_quantity_delta = fields.Float("Cumulative Quantity Delta") + cumulative_quantity_end = fields.Function( + fields.Float("Cumulative Quantity End"), 'get_cumulative_quantity') + company = fields.Many2One('company.company', "Company") + + @classmethod + def __setup__(cls): + super().__setup__() + cls._order.insert(0, ('date', 'ASC')) + + @classmethod + def table_query(cls): + pool = Pool() + Date = pool.get('ir.date') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Product = pool.get('product.product') + move = from_ = Move.__table__() + transaction = Transaction() + context = transaction.context + database = transaction.database + today = Date.today() + + if context.get('product_template') is not None: + product_template = context['product_template'] + if isinstance(product_template, int): + product_template = [product_template] + product = Product.__table__() + from_ = move.join(product, condition=move.product == product.id) + product_clause = product.template.in_(product_template or [-1]) + product_column = Concat('product.template,', product.template) + else: + product = context.get('product', -1) + if product is None: + product = -1 + if isinstance(product, int): + product = [product] + product_clause = move.product.in_(product or [-1]) + product_column = Concat('product.product,', move.product) + + if 'warehouse' in context: + warehouse = Location(context.get('warehouse')) + if context.get('stock_skip_warehouse'): + location_id = warehouse.storage_location.id + else: + location_id = warehouse.id + else: + location_id = -1 + warehouse = With('id', query=Location.search([ + ('parent', 'child_of', [location_id]), + ], query=True, order=[])) + date_column = Coalesce(move.effective_date, move.planned_date) + quantity = Case( + (move.to_location.in_(warehouse.select(warehouse.id)), + move.internal_quantity), + else_=-move.internal_quantity) + if database.has_window_functions(): + cumulative_quantity_delta = Sum( + quantity, + window=Window( + [product_column, date_column], order_by=[move.id.asc])) + else: + cumulative_quantity_delta = Literal(0) + return (from_.select( + move.id.as_('id'), + Literal(0).as_('create_uid'), + CurrentTimestamp().as_('create_date'), + Literal(None).as_('write_uid'), + Literal(None).as_('write_date'), + product_column.as_('product'), + date_column.as_('date'), + move.id.as_('move'), + move.origin.as_('origin'), + quantity.as_('quantity'), + cumulative_quantity_delta.as_('cumulative_quantity_delta'), + move.company.as_('company'), + where=product_clause + & ( + (move.from_location.in_( + warehouse.select(warehouse.id)) + & ~move.to_location.in_( + warehouse.select(warehouse.id))) + | (~move.from_location.in_( + warehouse.select(warehouse.id)) + & move.to_location.in_( + warehouse.select(warehouse.id)))) + & ((date_column < today) & (move.state == 'done') + | (date_column >= today) & (move.state != 'cancelled')), + with_=warehouse)) + + @classmethod + def get_origin(cls): + pool = Pool() + Move = pool.get('stock.move') + return Move.get_origin() + + @classmethod + def _get_document_models(cls): + pool = Pool() + Move = pool.get('stock.move') + return [m for m, _ in Move.get_shipment() if m] + + @classmethod + def get_documents(cls): + pool = Pool() + Model = pool.get('ir.model') + get_name = Model.get_name + models = cls._get_document_models() + return [(None, '')] + [(m, get_name(m)) for m in models] + + def get_document(self, name): + if self.move and self.move.shipment: + return str(self.move.shipment) + + @classmethod + def get_cumulative_quantity(cls, records, names): + pool = Pool() + Product = pool.get('product.product') + transaction = Transaction() + database = transaction.database + trans_context = transaction.context + + if trans_context.get('product_template') is not None: + grouping = ('product.template',) + product_template = trans_context['product_template'] + if isinstance(product_template, int): + product_template = [product_template] + grouping_filter = (product_template,) + else: + grouping = ('product',) + product = trans_context.get('product', -1) + if product is None: + product = -1 + if isinstance(product, int): + product = [product] + grouping_filter = (product,) + warehouse_id = trans_context.get('warehouse') + + def cast_date(date): + if isinstance(date, str): + date = datetime.date(*map(int, date.split('-', 2))) + return date + + dates = sorted({cast_date(r.date) for r in records}) + quantities = {} + keys = set() + date_start = None + for date in dates: + try: + context = { + 'stock_date_start': date_start, + 'stock_date_end': date - datetime.timedelta(days=1), + 'forecast': True, + } + except OverflowError: + pass + with Transaction().set_context(**context): + quantities[date] = Product.products_by_location( + [warehouse_id], + grouping=grouping, + grouping_filter=grouping_filter, + with_childs=True) + keys.update(quantities[date]) + date_start = date + cumulate = defaultdict(lambda: 0) + for date in dates: + for key in keys: + cumulate[key] += quantities[date][key] + quantities[date][key] = cumulate[key] + + result = {} + if database.has_window_functions(): + if 'cumulative_quantity_start' in names: + result['cumulative_quantity_start'] = { + r.id: ( + quantities[cast_date(r.date)].get( + (warehouse_id, int(r.product)), 0) + + r.cumulative_quantity_delta + - r.quantity) + for r in records} + if 'cumulative_quantity_end' in names: + result['cumulative_quantity_end'] = { + r.id: ( + quantities[cast_date(r.date)].get( + (warehouse_id, int(r.product)), 0) + + r.cumulative_quantity_delta) + for r in records} + else: + values = { + r.id: quantities[cast_date(r.date)].get( + (warehouse_id, int(r.product)), 0) + for r in records} + for name in names: + result[name] = values + return result + + def get_rec_name(self, name): + return self.move.rec_name + + +class RecomputeCostPrice(Wizard): + 'Recompute Cost Price' + __name__ = 'product.recompute_cost_price' + start = StateView( + 'product.recompute_cost_price.start', + 'stock.recompute_cost_price_start_view_form', [ + Button("Cancel", 'end'), + Button("Recompute", 'recompute', default=True)]) + recompute = StateTransition() + + def default_start(self, fields): + pool = Pool() + Move = pool.get('stock.move') + Product = pool.get('product.product') + + if self.model.__name__ == 'product.product': + products = self.records + elif self.model.__name__ == 'product.template': + templates = self.records + products = sum((t.products for t in templates), ()) + else: + products = [] + + from_ = None + for sub_products in grouped_slice(products): + moves = Move.search([ + ('unit_price_updated', '=', True), + Product._domain_moves_cost(), + ('product', 'in', [p.id for p in sub_products]), + ], + order=[('effective_date', 'ASC')], + limit=1) + if moves: + move, = moves + from_ = min(from_ or datetime.date.max, move.effective_date) + return {'from_': from_} + + def transition_recompute(self): + self.model.recompute_cost_price(self.records, start=self.start.from_) + return 'end' + + +class RecomputeCostPriceStart(ModelView): + "Recompute Cost Price" + __name__ = 'product.recompute_cost_price.start' + from_ = fields.Date("From") + + +class ModifyCostPrice(Wizard): + "Modify Cost Price" + __name__ = 'product.modify_cost_price' + start = StateView( + 'product.modify_cost_price.start', + 'stock.product_modify_cost_price_start_form', [ + Button("Cancel", 'end', 'tryton-cancel'), + Button("OK", 'modify', default=True), + ]) + modify = StateTransition() + + def transition_modify(self): + pool = Pool() + Product = pool.get('product.product') + Revision = pool.get('product.cost_price.revision') + Date = pool.get('ir.date') + today = Date.today() + revisions = [] + costs = defaultdict(list) + if self.model.__name__ == 'product.product': + records = list(self.records) + for product in list(records): + revision = self.get_revision(Revision) + revision.product = product + revision.template = product.template + revisions.append(revision) + if (( + product.cost_price_method == 'fixed' + and revision.date == today) + or product.type == 'service'): + cost = revision.get_cost_price(product.cost_price) + costs[cost].append(product) + records.remove(product) + elif self.model.__name__ == 'product.template': + records = list(self.records) + for template in list(records): + revision = self.get_revision(Revision) + revision.template = template + revisions.append(revision) + if (( + template.cost_price_method == 'fixed' + and revision.date == today) + or template.type == 'service'): + for product in template.products: + cost = revision.get_cost_price(product.cost_price) + costs[cost].append(product) + records.remove(template) + Revision.save(revisions) + if costs: + Product.update_cost_price(costs) + if records: + start = min((r.date for r in revisions), default=None) + self.model.recompute_cost_price(records, start=start) + return 'end' + + def get_revision(self, Revision): + return Revision( + company=Transaction().context.get('company'), + date=self.start.date, + cost_price=self.start.cost_price, + ) + + +class ModifyCostPriceStart(ModelView): + "Modify Cost Price" + __name__ = 'product.modify_cost_price.start' + date = fields.Date("Date", required=True) + cost_price = fields.Char( + "New Cost Price", required=True, + help="Python expression that will be evaluated with:\n" + "- cost_price: the current cost price of the product") + + @classmethod + def default_date(cls): + pool = Pool() + Date = pool.get('ir.date') + return Date.today() + + @classmethod + def default_cost_price(cls): + return 'cost_price' + + +class CostPriceRevision(ModelSQL, ModifyCostPriceStart): + "Product Cost Price Revision" + __name__ = 'product.cost_price.revision' + template = fields.Many2One( + 'product.template', "Product", + ondelete='CASCADE', select=True, required=True, + domain=[ + If(Bool(Eval('product')), + ('products', '=', Eval('product')), + ()), + ], + context={ + 'company': Eval('company', -1), + }, + depends=['product', 'company']) + product = fields.Many2One( + 'product.product', "Variant", + ondelete='CASCADE', select=True, + domain=[ + If(Bool(Eval('template')), + ('template', '=', Eval('template')), + ()), + ], + context={ + 'company': Eval('company', -1), + }, + depends=['template', 'company']) + company = fields.Many2One( + 'company.company', "Company", ondelete='CASCADE', required=True) + + @classmethod + def __setup__(cls): + super().__setup__() + cls._order.insert(0, ('date', 'DESC')) + + @classmethod + def default_company(cls): + return Transaction().context.get('company') + + @fields.depends('product', '_parent_product.template') + def on_change_product(self): + if self.product: + self.template = self.product.template + + @classmethod + def validate(cls, revisions): + super().validate(revisions) + for revision in revisions: + revision.check_cost_price() + + def check_cost_price(self): + try: + if not isinstance(self.get_cost_price(Decimal(0)), Decimal): + raise ValueError + except Exception as exception: + raise ProductCostPriceError( + gettext('stock.msg_invalid_cost_price', + cost_price=self.cost_price, + product=(self.product or self.template).rec_name, + exception=exception)) from exception + + def get_cost_price(self, cost_price, **context): + context.setdefault('names', {})['cost_price'] = cost_price + context.setdefault('functions', {})['Decimal'] = Decimal + return simple_eval(decistmt(self.cost_price), **context) + + @classmethod + def _get_for_product_domain(cls): + context = Transaction().context + return [ + ('company', '=', context.get('company')), + ] + + @classmethod + def get_for_product(cls, product): + revisions = cls.search([ + cls._get_for_product_domain(), + ['OR', + ('product', '=', product.id), + [ + ('template', '=', product.template.id), + ('product', '=', None), + ], + ], + ], + order=[('date', 'ASC'), ('id', 'ASC')]) + return revisions + + @classmethod + def apply_up_to(cls, revisions, cost_price, date): + """Apply revision to cost price up to date + revisions list is modified""" + try: + while True: + revision = revisions.pop(0) + if revision.date <= date: + cost_price = revision.get_cost_price(cost_price) + else: + revisions.insert(0, revision) + break + except IndexError: + pass + return cost_price diff --git a/modules/stock/product.xml b/modules/stock/product.xml new file mode 100644 index 0000000000..eecfc41080 --- /dev/null +++ b/modules/stock/product.xml @@ -0,0 +1,414 @@ + + + + + + Recompute Cost Price + product.recompute_cost_price + + + form_action + product.product,-1 + + + + form_action + product.template,-1 + + + + + + + + + product.recompute_cost_price.start + form + recompute_cost_price_start_form + + + + product.product|recompute_cost_price_from_moves + + days + + + + product.cost_price.revision + form + product_cost_price_revision_form + + + product.cost_price.revision + tree + product_cost_price_revision_list + + + + Cost Price Revision + product.cost_price.revision + + + + + + + + + + + + + + form_relate + product.template,-1 + + + + form_relate + product.product,-1 + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + + product.modify_cost_price.start + form + product_modify_cost_price_start_form + + + + Modify Cost Price + product.modify_cost_price + + + form_action + product.product,-1 + + + + form_action + product.template,-1 + + + + + + + + + stock.location + tree + childs + + location_quantity_tree + + + + stock.location + form + + location_quantity_form + + + + stock.location + tree + + location_quantity_tree + + + + Locations Tree Quantity + stock.location + + + product.by_location.context + + + + + + + + + + + + + + form_relate + product.product,-1 + + + + form_relate + product.template,-1 + + + + + + + + + Locations List Quantity + stock.location + + + product.by_location.context + + + + + + + + form_relate + product.product,-1 + + + + form_relate + product.template,-1 + + + + + + + + + product.by_location.context + form + product_by_location_context_form + + + + Products Quantities By Warehouse + stock.product_quantities_warehouse.open + + + form_relate + stock.shipment.in.return,-1 + + + + form_relate + stock.shipment.out,-1 + + + + form_relate + stock.shipment.internal,-1 + + + + + stock.product_quantities_warehouse + graph + product_quantities_warehouse_graph + + + + stock.product_quantities_warehouse + tree + product_quantities_warehouse_list + + + + Product Quantities By Warehouse + stock.product_quantities_warehouse + + + stock.product_quantities_warehouse.context + + + + + + + + + + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + + stock.product_quantities_warehouse.context + form + product_quantities_warehouse_context_form + + + + form_relate + product.product,-1 + + + + form_relate + product.template,-1 + + + + + + + + + Stock Moves + stock.product_quantities_warehouse.move.open + + + tree_open + stock.product_quantities_warehouse,-1 + + + + + stock.product_quantities_warehouse.move + tree + product_quantities_warehouse_move_list + + + + Stock Moves By Warehouse + stock.product_quantities_warehouse.move + + + stock.product_quantities_warehouse.context + + + + + + + + + form_relate + product.product,-1 + + + + form_relate + product.template,-1 + + + + + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/stock/res.py b/modules/stock/res.py new file mode 100644 index 0000000000..c19ad85b73 --- /dev/null +++ b/modules/stock/res.py @@ -0,0 +1,51 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from trytond.model import fields +from trytond.pool import PoolMeta, Pool +from trytond.transaction import Transaction + + +class User(metaclass=PoolMeta): + __name__ = 'res.user' + + warehouse = fields.Many2One('stock.location', + "Current Warehouse", + domain=[('type', '=', 'warehouse')], + help="The warehouse that the user works at.") + + @classmethod + def __setup__(cls): + super(User, cls).__setup__() + cls._context_fields.insert(0, 'warehouse') + + @classmethod + def _get_preferences(cls, user, context_only=False): + preferences = super()._get_preferences(user, context_only=context_only) + if user.warehouse: + preferences['warehouse'] = user.warehouse.id + return preferences + + def get_status_bar(self, name): + pool = Pool() + Location = pool.get('stock.location') + status = super().get_status_bar(name) + + if (self.warehouse + and len(Location.search([('type', '=', 'warehouse')])) > 1): + status += ' - %s' % self.warehouse.rec_name + return status + + @classmethod + def read(cls, ids, fields_names): + context = Transaction().context + user_id = Transaction().user + if user_id == 0 and 'user' in Transaction().context: + user_id = Transaction().context['user'] + result = super().read(ids, fields_names) + if ('warehouse' in fields_names + and context.get('warehouse') + and user_id in ids): + for values in result: + if values['id'] == user_id: + values['warehouse'] = context['warehouse'] + return result diff --git a/modules/stock/res.xml b/modules/stock/res.xml new file mode 100644 index 0000000000..e75b801bee --- /dev/null +++ b/modules/stock/res.xml @@ -0,0 +1,17 @@ + + + + + + res.user + + user_form + + + res.user + + user_form_preferences + + + diff --git a/modules/stock/setup.py b/modules/stock/setup.py new file mode 100755 index 0000000000..83e8536d39 --- /dev/null +++ b/modules/stock/setup.py @@ -0,0 +1,156 @@ +#!/usr/bin/env python3 +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +import io +import os +import re +from configparser import ConfigParser +from setuptools import setup, find_packages + + +def read(fname): + content = io.open( + os.path.join(os.path.dirname(__file__), fname), + 'r', encoding='utf-8').read() + content = re.sub( + r'(?m)^\.\. toctree::\r?\n((^$|^\s.*$)\r?\n)*', '', content) + return content + + +def get_require_version(name): + if minor_version % 2: + require = '%s >= %s.%s.dev0, < %s.%s' + else: + require = '%s >= %s.%s, < %s.%s' + require %= (name, major_version, minor_version, + major_version, minor_version + 1) + return require + + +config = ConfigParser() +config.read_file(open(os.path.join(os.path.dirname(__file__), 'tryton.cfg'))) +info = dict(config.items('tryton')) +for key in ('depends', 'extras_depend', 'xml'): + if key in info: + info[key] = info[key].strip().splitlines() +version = info.get('version', '0.0.1') +major_version, minor_version, _ = version.split('.', 2) +major_version = int(major_version) +minor_version = int(minor_version) +name = 'trytond_stock' + +download_url = 'http://downloads.tryton.org/%s.%s/' % ( + major_version, minor_version) +if minor_version % 2: + version = '%s.%s.dev0' % (major_version, minor_version) + download_url = ( + 'hg+http://hg.tryton.org/modules/%s#egg=%s-%s' % ( + name[8:], name, version)) +local_version = [] +if os.environ.get('CI_JOB_ID'): + local_version.append(os.environ['CI_JOB_ID']) +else: + for build in ['CI_BUILD_NUMBER', 'CI_JOB_NUMBER']: + if os.environ.get(build): + local_version.append(os.environ[build]) + else: + local_version = [] + break +if local_version: + version += '+' + '.'.join(local_version) + +requires = ['python-sql >= 1.3.0', 'simpleeval'] +for dep in info.get('depends', []): + if not re.match(r'(ir|res)(\W|$)', dep): + requires.append(get_require_version('trytond_%s' % dep)) +requires.append(get_require_version('trytond')) + +tests_require = [get_require_version('proteus')] +dependency_links = [] +if minor_version % 2: + dependency_links.append( + 'https://trydevpi.tryton.org/?local_version=' + + '.'.join(local_version)) + +setup(name=name, + version=version, + description='Tryton module for stock and inventory', + long_description=read('README.rst'), + author='Tryton', + author_email='bugs@tryton.org', + url='http://www.tryton.org/', + download_url=download_url, + project_urls={ + "Bug Tracker": 'https://bugs.tryton.org/', + "Documentation": 'https://docs.tryton.org/projects/modules-stock/', + "Forum": 'https://www.tryton.org/forum', + "Source Code": 'https://hg.tryton.org/modules/stock', + }, + keywords='tryton stock', + package_dir={'trytond.modules.stock': '.'}, + packages=( + ['trytond.modules.stock'] + + ['trytond.modules.stock.%s' % p for p in find_packages()] + ), + package_data={ + 'trytond.modules.stock': (info.get('xml', []) + + ['tryton.cfg', 'view/*.xml', 'locale/*.po', '*.fodt', + 'icons/*.svg', 'tests/*.rst']), + }, + classifiers=[ + 'Development Status :: 5 - Production/Stable', + 'Environment :: Plugins', + 'Framework :: Tryton', + 'Intended Audience :: Developers', + 'Intended Audience :: Financial and Insurance Industry', + 'Intended Audience :: Legal Industry', + 'Intended Audience :: Manufacturing', + 'License :: OSI Approved :: ' + 'GNU General Public License v3 or later (GPLv3+)', + 'Natural Language :: Bulgarian', + 'Natural Language :: Catalan', + 'Natural Language :: Chinese (Simplified)', + 'Natural Language :: Czech', + 'Natural Language :: Dutch', + 'Natural Language :: English', + 'Natural Language :: Finnish', + 'Natural Language :: French', + 'Natural Language :: German', + 'Natural Language :: Hungarian', + 'Natural Language :: Indonesian', + 'Natural Language :: Italian', + 'Natural Language :: Persian', + 'Natural Language :: Polish', + 'Natural Language :: Portuguese (Brazilian)', + 'Natural Language :: Romanian', + 'Natural Language :: Russian', + 'Natural Language :: Slovenian', + 'Natural Language :: Spanish', + 'Natural Language :: Turkish', + 'Operating System :: OS Independent', + 'Programming Language :: Python :: 3', + 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: Implementation :: CPython', + 'Programming Language :: Python :: Implementation :: PyPy', + 'Topic :: Office/Business', + ], + license='GPL-3', + python_requires='>=3.6', + install_requires=requires, + extras_require={ + 'sparklines': ['pygal'], + }, + dependency_links=dependency_links, + zip_safe=False, + entry_points=""" + [trytond.modules] + stock = trytond.modules.stock + """, + test_suite='tests', + test_loader='trytond.test_loader:Loader', + tests_require=tests_require, + ) diff --git a/modules/stock/shipment.py b/modules/stock/shipment.py new file mode 100644 index 0000000000..9067c3167f --- /dev/null +++ b/modules/stock/shipment.py @@ -0,0 +1,2823 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import functools +import datetime +from collections import defaultdict +from functools import partial + +from sql import Null +from sql.conditionals import Coalesce + +from trytond.i18n import gettext +from trytond.model import Workflow, ModelView, ModelSQL, fields, dualmethod +from trytond.model.exceptions import AccessError +from trytond.modules.company import CompanyReport +from trytond.wizard import Wizard, StateTransition, StateView, Button +from trytond.pyson import Eval, If, Id, Bool +from trytond.transaction import Transaction +from trytond.pool import Pool + +from trytond.modules.company.model import employee_field, set_employee + + +class ShipmentMixin: + + @classmethod + def view_attributes(cls): + return super().view_attributes() + [ + ('/tree', 'visual', If(Eval('state') == 'cancelled', 'muted', '')), + ] + + +class ShipmentAssignMixin(ShipmentMixin): + _assign_moves_field = None + + partially_assigned = fields.Function( + fields.Boolean("Partially Assigned"), + 'get_partially_assigned', + searcher='search_partially_assigned') + + @classmethod + def assign_wizard(cls, shipments): + raise NotImplementedError + + @property + def assign_moves(self): + return getattr(self, self._assign_moves_field) + + @dualmethod + @ModelView.button + def assign_try(cls, shipments): + raise NotImplementedError + + @dualmethod + def assign_reset(cls, shipments): + cls.wait(shipments) + + @dualmethod + @ModelView.button + def assign_force(cls, shipments): + cls.assign(shipments) + + @dualmethod + def assign_ignore(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Move.write([ + m for s in shipments for m in s.assign_moves + if m.assignation_required + and m.state in {'staging', 'draft'}], { + 'quantity': 0, + }) + cls.assign(shipments) + + @classmethod + def _get_assign_domain(cls): + pool = Pool() + Date = pool.get('ir.date') + context = Transaction().context + return [ + ('company', '=', context.get('company')), + ('state', '=', 'waiting'), + ('planned_date', '=', Date.today()), + ] + + @classmethod + def assign_cron(cls): + shipments = cls.search(cls._get_assign_domain()) + cls.assign_try(shipments) + + def get_partially_assigned(self, name): + return (self.state != 'assigned' + and any(m.state == 'assigned' for m in self.assign_moves + if m.assignation_required)) + + @classmethod + def search_partially_assigned(cls, name, clause): + operators = { + '=': 'where', + '!=': 'not where', + } + reverse = { + '=': '!=', + '!=': '=', + } + if clause[1] in operators: + if not clause[2]: + operator = reverse[clause[1]] + else: + operator = clause[1] + return [ + (cls._assign_moves_field, operators[operator], [ + ('state', '=', 'assigned'), + ('assignation_required', '=', True), + ]), + ('state', '=', 'waiting'), + ] + else: + return [] + + +class ShipmentIn(ShipmentMixin, Workflow, ModelSQL, ModelView): + "Supplier Shipment" + __name__ = 'stock.shipment.in' + _rec_name = 'number' + effective_date = fields.Date('Effective Date', + states={ + 'readonly': Eval('state').in_(['cancelled', 'done']), + }, + depends=['state'], + help="When the stock was actually received.") + planned_date = fields.Date('Planned Date', states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="When the stock is expected to be received.") + company = fields.Many2One( + 'company.company', "Company", required=True, + states={ + 'readonly': Eval('state') != 'draft', + }, + depends=['state'], + help="The company the shipment is associated with.") + reference = fields.Char("Reference", size=None, select=True, + states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="The supplier's identifier for the shipment.") + supplier = fields.Many2One('party.party', 'Supplier', + states={ + 'readonly': (((Eval('state') != 'draft') + | Eval('incoming_moves', [0])) + & Eval('supplier')), + }, required=True, + context={ + 'company': Eval('company', -1), + }, + depends=['state', 'supplier', 'company'], + help="The party that supplied the stock.") + supplier_location = fields.Function(fields.Many2One('stock.location', + 'Supplier Location'), + 'on_change_with_supplier_location') + contact_address = fields.Many2One('party.address', 'Contact Address', + states={ + 'readonly': Eval('state') != 'draft', + }, domain=[('party', '=', Eval('supplier'))], + depends=['state', 'supplier'], + help="The address at which the supplier can be contacted.") + warehouse = fields.Many2One('stock.location', "Warehouse", + required=True, domain=[('type', '=', 'warehouse')], + states={ + 'readonly': (Eval('state').in_(['cancelled', 'done']) + | Eval('incoming_moves', [0]) | Eval('inventory_moves', [0])), + }, depends=['state'], + help="Where the stock is received.") + warehouse_input = fields.Function(fields.Many2One('stock.location', + 'Warehouse Input'), + 'on_change_with_warehouse_input') + warehouse_storage = fields.Function(fields.Many2One('stock.location', + 'Warehouse Storage'), + 'on_change_with_warehouse_storage') + incoming_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Incoming Moves', + add_remove=[ + ('shipment', '=', None), + ('from_location', '=', Eval('supplier_location')), + ('state', '=', 'draft'), + If(Eval('warehouse_input') == Eval('warehouse_storage'), + ('to_location', 'child_of', + [Eval('warehouse_input', -1)], 'parent'), + ('to_location', '=', Eval('warehouse_input'))), + ], + domain=[ + ('from_location', '=', Eval('supplier_location')), + If(Eval('warehouse_input') == Eval('warehouse_storage'), + ('to_location', 'child_of', + [Eval('warehouse_input', -1)], 'parent'), + ('to_location', '=', Eval('warehouse_input'))), + ('company', '=', Eval('company')), + ], + states={ + 'readonly': ( + Eval('state').in_(['received', 'done', 'cancelled']) + | ~Eval('warehouse') | ~Eval('supplier')), + }, + depends=['state', 'warehouse', 'supplier_location', + 'warehouse_input', 'warehouse_storage', 'company'], + help="The moves that bring the stock into the warehouse."), + 'get_incoming_moves', setter='set_incoming_moves') + inventory_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Inventory Moves', + domain=[ + ('from_location', '=', Eval('warehouse_input')), + If(~Eval('state').in_(['done', 'cancelled']), + ['OR', + ('to_location', 'child_of', + [Eval('warehouse_storage', -1)], 'parent'), + ('to_location.waste_warehouses', '=', + Eval('warehouse')), + ], + [],), + ('company', '=', Eval('company')), + ], + states={ + 'readonly': Eval('state').in_(['draft', 'done', 'cancelled']), + 'invisible': ( + Eval('warehouse_input') == Eval('warehouse_storage')), + }, + depends=['state', 'warehouse', 'warehouse_input', + 'warehouse_storage', 'company'], + help="The moves that put the stock away into the storage area."), + 'get_inventory_moves', setter='set_inventory_moves') + moves = fields.One2Many('stock.move', 'shipment', 'Moves', + domain=[('company', '=', Eval('company'))], readonly=True, + depends=['company']) + origins = fields.Function(fields.Char('Origins'), 'get_origins') + number = fields.Char('Number', size=None, select=True, readonly=True, + help="The main identifier for the shipment.") + received_by = employee_field("Received By") + done_by = employee_field("Done By") + state = fields.Selection([ + ('draft', 'Draft'), + ('done', 'Done'), + ('cancelled', 'Cancelled'), + ('received', 'Received'), + ], 'State', readonly=True, + help="The current state of the shipment.") + + @classmethod + def __setup__(cls): + super(ShipmentIn, cls).__setup__() + cls.create_date.select = True + cls._order = [ + ('id', 'DESC'), + ] + cls._transitions |= set(( + ('draft', 'received'), + ('received', 'done'), + ('draft', 'cancelled'), + ('received', 'cancelled'), + ('cancelled', 'draft'), + )) + cls._buttons.update({ + 'cancel': { + 'invisible': Eval('state').in_(['cancelled', 'done']), + 'depends': ['state'], + }, + 'draft': { + 'invisible': Eval('state') != 'cancelled', + 'depends': ['state'], + }, + 'receive': { + 'invisible': Eval('state') != 'draft', + 'depends': ['state'], + }, + 'done': { + 'invisible': Eval('state') != 'received', + 'depends': ['state'], + }, + }) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + table = cls.__table_handler__(module_name) + sql_table = cls.__table__() + + # Migration from 3.8: rename code into number + if table.column_exist('code'): + table.column_rename('code', 'number') + + super(ShipmentIn, cls).__register__(module_name) + + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + + @classmethod + def order_effective_date(cls, tables): + table, _ = tables[None] + return [Coalesce(table.effective_date, table.planned_date)] + + @staticmethod + def default_planned_date(): + return Pool().get('ir.date').today() + + @staticmethod + def default_state(): + return 'draft' + + @classmethod + def default_warehouse(cls): + Location = Pool().get('stock.location') + return Location.get_default_warehouse() + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @fields.depends('supplier') + def on_change_supplier(self): + self.contact_address = None + if self.supplier: + self.contact_address = self.supplier.address_get() + + @fields.depends('supplier') + def on_change_with_supplier_location(self, name=None): + if self.supplier and self.supplier.supplier_location: + return self.supplier.supplier_location.id + + @classmethod + def default_warehouse_input(cls): + warehouse = cls.default_warehouse() + if warehouse: + return cls(warehouse=warehouse).on_change_with_warehouse_input() + + @fields.depends('warehouse') + def on_change_with_warehouse_input(self, name=None): + if self.warehouse: + return self.warehouse.input_location.id + + @classmethod + def default_warehouse_storage(cls): + warehouse = cls.default_warehouse() + if warehouse: + return cls(warehouse=warehouse).on_change_with_warehouse_storage() + + @fields.depends('warehouse') + def on_change_with_warehouse_storage(self, name=None): + if self.warehouse: + return self.warehouse.storage_location.id + + def get_incoming_moves(self, name): + moves = [] + if self.warehouse_input == self.warehouse_storage: + return [m.id for m in self.moves] + for move in self.moves: + if move.to_location == self.warehouse_input: + moves.append(move.id) + return moves + + @classmethod + def set_incoming_moves(cls, shipments, name, value): + if not value: + return + cls.write(shipments, { + 'moves': value, + }) + + def get_inventory_moves(self, name): + moves = [] + for move in self.moves: + if move.from_location == self.warehouse_input: + moves.append(move.id) + return moves + + @classmethod + def set_inventory_moves(cls, shipments, name, value): + if not value: + return + cls.write(shipments, { + 'moves': value, + }) + + @property + def _move_planned_date(self): + ''' + Return the planned date for incoming moves and inventory_moves + ''' + return self.planned_date, self.planned_date + + @classmethod + def _set_move_planned_date(cls, shipments): + ''' + Set planned date of moves for the shipments + ''' + Move = Pool().get('stock.move') + to_write = [] + for shipment in shipments: + dates = shipment._move_planned_date + incoming_date, inventory_date = dates + # Update planned_date only for later to not be too optimistic if + # the shipment is not directly received. + incoming_moves_to_write = [m for m in shipment.incoming_moves + if (m.state not in ('assigned', 'done', 'cancelled') + and ((m.planned_date or datetime.date.max) + < (incoming_date or datetime.date.max)))] + if incoming_moves_to_write: + to_write.extend((incoming_moves_to_write, { + 'planned_date': incoming_date, + })) + inventory_moves_to_write = [m for m in shipment.inventory_moves + if (m.state not in ('assigned', 'done', 'cancelled') + and ((m.planned_date or datetime.date.max) + < (inventory_date or datetime.date.max)))] + if inventory_moves_to_write: + to_write.extend((inventory_moves_to_write, { + 'planned_date': inventory_date, + })) + if to_write: + Move.write(*to_write) + + def get_origins(self, name): + return ', '.join(set(filter(None, + (m.origin_name for m in self.incoming_moves)))) + + @classmethod + def create(cls, vlist): + pool = Pool() + Config = pool.get('stock.configuration') + + vlist = [x.copy() for x in vlist] + config = Config(1) + default_company = cls.default_company() + for values in vlist: + if values.get('number') is None: + values['number'] = config.get_multivalue( + 'shipment_in_sequence', + company=values.get('company', default_company)).get() + shipments = super(ShipmentIn, cls).create(vlist) + cls._set_move_planned_date(shipments) + return shipments + + @classmethod + def write(cls, *args): + super(ShipmentIn, cls).write(*args) + cls._set_move_planned_date(sum(args[::2], [])) + + @classmethod + def copy(cls, shipments, default=None): + if default is None: + default = {} + else: + default = default.copy() + default.setdefault('inventory_moves', None) + default.setdefault('incoming_moves', None) + default.setdefault('number', None) + default.setdefault('received_by', None) + default.setdefault('done_by', None) + return super(ShipmentIn, cls).copy(shipments, default=default) + + def _get_inventory_move(self, incoming_move): + 'Return inventory move for the incoming move' + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + if incoming_move.quantity <= 0.0: + return None + move = Move() + move.product = incoming_move.product + move.uom = incoming_move.uom + move.quantity = incoming_move.quantity + move.from_location = incoming_move.to_location + move.to_location = self.warehouse_storage + move.state = Move.default_state() + move.planned_date = max( + filter(None, [self._move_planned_date[1], Date.today()])) + move.company = incoming_move.company + move.origin = incoming_move + return move + + @classmethod + def create_inventory_moves(cls, shipments): + for shipment in shipments: + if shipment.warehouse_storage == shipment.warehouse_input: + # Do not create inventory moves + continue + # Use moves instead of inventory_moves because save reset before + # adding new records and as set_inventory_moves is just a proxy to + # moves, it will reset also the incoming_moves + moves = list(shipment.moves) + for incoming_move in shipment.incoming_moves: + move = shipment._get_inventory_move(incoming_move) + if move: + moves.append(move) + shipment.moves = moves + cls.save(shipments) + + @classmethod + def delete(cls, shipments): + Move = Pool().get('stock.move') + # Cancel before delete + cls.cancel(shipments) + for shipment in shipments: + if shipment.state != 'cancelled': + raise AccessError( + gettext('stock.msg_shipment_delete_cancel', + shipment=shipment.rec_name)) + Move.delete([m for s in shipments for m in s.moves]) + super(ShipmentIn, cls).delete(shipments) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + def cancel(cls, shipments): + Move = Pool().get('stock.move') + Move.cancel([m for s in shipments + for m in s.incoming_moves + s.inventory_moves]) + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, shipments): + Move = Pool().get('stock.move') + Move.draft([m for s in shipments for m in s.incoming_moves + if m.state != 'staging']) + Move.delete([m for s in shipments for m in s.inventory_moves + if m.state in ('draft', 'cancelled')]) + + @classmethod + @ModelView.button + @Workflow.transition('received') + @set_employee('received_by') + def receive(cls, shipments): + Move = Pool().get('stock.move') + Move.do([m for s in shipments for m in s.incoming_moves]) + Move.delete([m for s in shipments for m in s.inventory_moves + if m.state in ('draft', 'cancelled')]) + cls.create_inventory_moves(shipments) + # Set received state to allow done transition + cls.write(shipments, {'state': 'received'}) + to_do = [s for s in shipments + if s.warehouse_storage == s.warehouse_input] + if to_do: + cls.done(to_do) + + @classmethod + @ModelView.button + @Workflow.transition('done') + @set_employee('done_by') + def done(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + Move.do([m for s in shipments for m in s.inventory_moves]) + cls.write([s for s in shipments if not s.effective_date], { + 'effective_date': Date.today(), + }) + + +class ShipmentInReturn(ShipmentAssignMixin, Workflow, ModelSQL, ModelView): + "Supplier Return Shipment" + __name__ = 'stock.shipment.in.return' + _rec_name = 'number' + _assign_moves_field = 'moves' + + effective_date = fields.Date('Effective Date', + states={ + 'readonly': Eval('state').in_(['cancelled', 'done']), + }, + depends=['state'], + help="When the stock was actually returned.") + planned_date = fields.Date('Planned Date', + states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="When the stock is expected to be returned.") + company = fields.Many2One( + 'company.company', "Company", required=True, + states={ + 'readonly': Eval('state') != 'draft', + }, + depends=['state'], + help="The company the shipment is associated with.") + number = fields.Char('Number', size=None, select=True, readonly=True, + help="The main identifier for the shipment.") + reference = fields.Char("Reference", size=None, select=True, + states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="The supplier's identifier for the shipment.") + supplier = fields.Many2One('party.party', 'Supplier', + states={ + 'readonly': (((Eval('state') != 'draft') + | Eval('moves', [0])) + & Eval('supplier', 0)), + }, required=True, + context={ + 'company': Eval('company', -1), + }, + depends=['state', 'supplier', 'company'], + help="The party that supplied the stock.") + delivery_address = fields.Many2One('party.address', 'Delivery Address', + states={ + 'readonly': Eval('state') != 'draft', + }, + domain=[ + ('party', '=', Eval('supplier')) + ], + depends=['state', 'supplier'], + help="Where the stock is sent to.") + from_location = fields.Many2One('stock.location', "From Location", + required=True, states={ + 'readonly': (Eval('state') != 'draft') | Eval('moves', [0]), + }, domain=[('type', 'in', ['storage', 'view'])], + depends=['state'], + help="Where the stock is moved from.") + to_location = fields.Many2One('stock.location', "To Location", + required=True, states={ + 'readonly': (Eval('state') != 'draft') | Eval('moves', [0]), + }, domain=[('type', '=', 'supplier')], + depends=['state'], + help="Where the stock is moved to.") + moves = fields.One2Many('stock.move', 'shipment', 'Moves', + states={ + 'readonly': (((Eval('state') != 'draft') | ~Eval('from_location')) + & Eval('to_location')), + }, + domain=[ + If(Eval('state') == 'draft', [ + ('from_location', '=', Eval('from_location')), + ('to_location', '=', Eval('to_location')), + ], + If(~Eval('state').in_(['done', 'cancelled']), [ + ('from_location', 'child_of', + [Eval('from_location', -1)], 'parent'), + ('to_location', 'child_of', + [Eval('to_location', -1)], 'parent'), + ], + [])), + ('company', '=', Eval('company')), + ], + depends=['state', 'from_location', 'to_location', 'company'], + help="The moves that return the stock to the supplier.") + origins = fields.Function(fields.Char('Origins'), 'get_origins') + assigned_by = employee_field("Assigned By") + done_by = employee_field("Done By") + state = fields.Selection([ + ('draft', 'Draft'), + ('cancelled', 'Cancelled'), + ('assigned', 'Assigned'), + ('waiting', 'Waiting'), + ('done', 'Done'), + ], 'State', readonly=True, + help="The current state of the shipment.") + + @classmethod + def __setup__(cls): + super(ShipmentInReturn, cls).__setup__() + cls.create_date.select = True + cls._order = [ + ('effective_date', 'ASC NULLS LAST'), + ('id', 'ASC'), + ] + cls._transitions |= set(( + ('draft', 'waiting'), + ('waiting', 'assigned'), + ('waiting', 'draft'), + ('assigned', 'done'), + ('assigned', 'waiting'), + ('draft', 'cancelled'), + ('waiting', 'cancelled'), + ('assigned', 'cancelled'), + ('cancelled', 'draft'), + )) + cls._buttons.update({ + 'cancel': { + 'invisible': Eval('state').in_(['cancelled', 'done']), + 'depends': ['state'], + }, + 'draft': { + 'invisible': ~Eval('state').in_(['waiting', 'cancelled']), + 'icon': If(Eval('state') == 'cancelled', + 'tryton-undo', + If(Eval('state') == 'waiting', + 'tryton-back', + 'tryton-forward')), + 'depends': ['state'], + }, + 'wait': { + 'invisible': ~Eval('state').in_(['assigned', 'draft']), + 'icon': If(Eval('state') == 'assigned', + 'tryton-back', 'tryton-forward'), + 'depends': ['state'], + }, + 'done': { + 'invisible': Eval('state') != 'assigned', + 'depends': ['state'], + }, + 'assign_wizard': { + 'invisible': Eval('state') != 'waiting', + 'depends': ['state'], + }, + 'assign_try': {}, + 'assign_force': {}, + }) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + table = cls.__table_handler__(module_name) + sql_table = cls.__table__() + + # Migration from 3.8: rename code into number + if table.column_exist('code'): + table.column_rename('code', 'number') + + super(ShipmentInReturn, cls).__register__(module_name) + + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + + @classmethod + def order_effective_date(cls, tables): + table, _ = tables[None] + return [Coalesce(table.effective_date, table.planned_date)] + + @staticmethod + def default_state(): + return 'draft' + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @fields.depends('supplier') + def on_change_supplier(self): + if self.supplier: + self.delivery_address = self.supplier.address_get('delivery') + self.to_location = self.supplier.supplier_location + + @property + def _move_planned_date(self): + ''' + Return the planned date for the moves + ''' + return self.planned_date + + @classmethod + def _set_move_planned_date(cls, shipments): + ''' + Set planned date of moves for the shipments + ''' + Move = Pool().get('stock.move') + to_write = [] + for shipment in shipments: + moves = [m for m in shipment.moves + if (m.state not in ('assigned', 'done', 'cancelled') + and m.planned_date != shipment._move_planned_date)] + if moves: + to_write.extend((moves, { + 'planned_date': shipment._move_planned_date, + })) + if to_write: + Move.write(*to_write) + + def get_origins(self, name): + return ', '.join(set(filter(None, + (m.origin_name for m in self.moves)))) + + @classmethod + def create(cls, vlist): + pool = Pool() + Config = pool.get('stock.configuration') + + vlist = [x.copy() for x in vlist] + config = Config(1) + default_company = cls.default_company() + for values in vlist: + if values.get('number') is None: + values['number'] = config.get_multivalue( + 'shipment_in_return_sequence', + company=values.get('company', default_company)).get() + shipments = super(ShipmentInReturn, cls).create(vlist) + cls._set_move_planned_date(shipments) + return shipments + + @classmethod + def write(cls, *args): + super(ShipmentInReturn, cls).write(*args) + cls._set_move_planned_date(sum(args[::2], [])) + + @classmethod + def delete(cls, shipments): + Move = Pool().get('stock.move') + # Cancel before delete + cls.cancel(shipments) + for shipment in shipments: + if shipment.state != 'cancelled': + raise AccessError( + gettext('stock.msg_shipment_delete_cancel', + shipment=shipment.rec_name)) + Move.delete([m for s in shipments for m in s.moves]) + super(ShipmentInReturn, cls).delete(shipments) + + @classmethod + def copy(cls, shipments, default=None): + if default is None: + default = {} + else: + default = default.copy() + default.setdefault('number', None) + default.setdefault('assigned_by', None) + default.setdefault('done_by', None) + return super(ShipmentInReturn, cls).copy(shipments, default=default) + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, shipments): + Move = Pool().get('stock.move') + Move.draft([m for s in shipments for m in s.moves + if m.state != 'staging']) + for shipment in shipments: + Move.write([m for m in shipment.moves + if m.state != 'done'], { + 'from_location': shipment.from_location.id, + 'to_location': shipment.to_location.id, + 'planned_date': shipment.planned_date, + }) + + @classmethod + @ModelView.button + @Workflow.transition('waiting') + def wait(cls, shipments, moves=None): + """ + If moves is set, only this subset is set to draft. + """ + Move = Pool().get('stock.move') + if moves is None: + moves = sum((s.moves for s in shipments), ()) + else: + assert all(m.shipment in shipments for m in moves) + Move.draft(moves) + cls._set_move_planned_date(shipments) + + @classmethod + @Workflow.transition('assigned') + @set_employee('assigned_by') + def assign(cls, shipments): + Move = Pool().get('stock.move') + Move.assign([m for s in shipments for m in s.assign_moves]) + + @classmethod + @ModelView.button + @Workflow.transition('done') + @set_employee('done_by') + def done(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + + Move.do([m for s in shipments for m in s.moves]) + cls.write([s for s in shipments if not s.effective_date], { + 'effective_date': Date.today(), + }) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + def cancel(cls, shipments): + Move = Pool().get('stock.move') + Move.cancel([m for s in shipments for m in s.moves]) + + @classmethod + @ModelView.button_action('stock.wizard_shipment_in_return_assign') + def assign_wizard(cls, shipments): + pass + + @dualmethod + @ModelView.button + def assign_try(cls, shipments, with_childs=None): + pool = Pool() + Move = pool.get('stock.move') + to_assign = defaultdict(list) + for shipment in shipments: + location_type = shipment.from_location.type + for move in shipment.assign_moves: + if move.assignation_required: + to_assign[location_type].append(move) + success = True + for location_type, moves in to_assign.items(): + if with_childs is None: + _with_childs = location_type == 'view' + elif not with_childs and location_type == 'view': + _with_childs = True + else: + _with_childs = with_childs + if not Move.assign_try(moves, with_childs=_with_childs): + success = False + if success: + cls.assign(shipments) + return success + + @classmethod + def _get_reschedule_domain(cls, date): + return [ + ('state', '=', 'waiting'), + ('planned_date', '<', date), + ] + + @classmethod + def reschedule(cls, date=None): + pool = Pool() + Date = pool.get('ir.date') + if date is None: + date = Date.today() + shipments = cls.search(cls._get_reschedule_domain(date)) + cls.write(shipments, {'planned_date': date}) + + +class ShipmentOut(ShipmentAssignMixin, Workflow, ModelSQL, ModelView): + "Customer Shipment" + __name__ = 'stock.shipment.out' + _rec_name = 'number' + _assign_moves_field = 'moves' + effective_date = fields.Date('Effective Date', + states={ + 'readonly': Eval('state').in_(['cancelled', 'done']), + }, + depends=['state'], + help="When the stock was actually sent.") + planned_date = fields.Date('Planned Date', + states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="When the stock is expected to be sent.") + company = fields.Many2One( + 'company.company', "Company", required=True, + states={ + 'readonly': Eval('state') != 'draft', + }, + depends=['state'], + help="The company the shipment is associated with.") + customer = fields.Many2One('party.party', 'Customer', required=True, + states={ + 'readonly': ((Eval('state') != 'draft') + | Eval('outgoing_moves', [0])), + }, + context={ + 'company': Eval('company', -1), + }, + depends=['state', 'company'], + help="The party that purchased the stock.") + customer_location = fields.Function(fields.Many2One('stock.location', + 'Customer Location'), 'on_change_with_customer_location') + delivery_address = fields.Many2One('party.address', + 'Delivery Address', required=True, + states={ + 'readonly': Eval('state') != 'draft', + }, domain=[('party', '=', Eval('customer'))], + depends=['state', 'customer'], + help="Where the stock is sent to.") + reference = fields.Char("Reference", size=None, select=True, + states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="The customer's identifier for the shipment.") + warehouse = fields.Many2One('stock.location', "Warehouse", required=True, + states={ + 'readonly': ((Eval('state') != 'draft') + | Eval('outgoing_moves', [0]) | Eval('inventory_moves', [0])), + }, domain=[('type', '=', 'warehouse')], + depends=['state'], + help="Where the stock is sent from.") + warehouse_storage = fields.Function(fields.Many2One('stock.location', + 'Warehouse Storage'), 'on_change_with_warehouse_storage') + warehouse_output = fields.Function(fields.Many2One('stock.location', + 'Warehouse Output'), 'on_change_with_warehouse_output') + outgoing_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Outgoing Moves', + domain=[ + ('from_location', '=', Eval('warehouse_output')), + ('to_location', '=', Eval('customer_location')), + ('company', '=', Eval('company')), + ], + states={ + 'readonly': (Eval('state').in_( + If(Eval('warehouse_storage') + == Eval('warehouse_output'), + ['done', 'cancelled'], + ['waiting', 'packed', 'done', 'cancelled'], + )) + | ~Eval('warehouse') | ~Eval('customer')), + }, + depends=['state', 'warehouse', 'customer', 'warehouse_output', + 'customer_location', 'company'], + help="The moves that send the stock to the customer."), + 'get_outgoing_moves', setter='set_outgoing_moves') + inventory_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Inventory Moves', + domain=[ + If(Eval('state').in_(['waiting']), + ('from_location', 'child_of', + [Eval('warehouse_storage', -1)], 'parent'), + ()), + ('to_location', '=', Eval('warehouse_output')), + ('company', '=', Eval('company')), + ], + states={ + 'readonly': Eval('state').in_( + ['draft', 'assigned', 'packed', 'done', 'cancelled']), + 'invisible': ( + Eval('warehouse_storage') == Eval('warehouse_output')), + }, + depends=['state', 'warehouse', 'warehouse_storage', + 'warehouse_output', 'company'], + help="The moves that pick the stock from the storage area."), + 'get_inventory_moves', setter='set_inventory_moves') + moves = fields.One2Many('stock.move', 'shipment', 'Moves', + domain=[('company', '=', Eval('company'))], depends=['company'], + readonly=True) + origins = fields.Function(fields.Char('Origins'), 'get_origins') + number = fields.Char('Number', size=None, select=True, readonly=True, + help="The main identifier for the shipment.") + picked_by = employee_field("Picked By") + packed_by = employee_field("Packed By") + done_by = employee_field("Done By") + state = fields.Selection([ + ('draft', 'Draft'), + ('done', 'Done'), + ('cancelled', 'Cancelled'), + ('assigned', 'Assigned'), + ('picked', 'Picked'), + ('packed', 'Packed'), + ('waiting', 'Waiting'), + ], 'State', readonly=True, + help="The current state of the shipment.") + + @classmethod + def __setup__(cls): + super(ShipmentOut, cls).__setup__() + cls.create_date.select = True + cls._order = [ + ('effective_date', 'ASC NULLS LAST'), + ('id', 'ASC'), + ] + cls._transitions |= set(( + ('draft', 'waiting'), + ('waiting', 'assigned'), + ('waiting', 'picked'), + ('assigned', 'picked'), + ('waiting', 'packed'), + ('picked', 'packed'), + ('packed', 'done'), + ('assigned', 'waiting'), + ('waiting', 'waiting'), + ('waiting', 'draft'), + ('draft', 'cancelled'), + ('waiting', 'cancelled'), + ('assigned', 'cancelled'), + ('picked', 'cancelled'), + ('packed', 'cancelled'), + ('cancelled', 'draft'), + )) + cls._buttons.update({ + 'cancel': { + 'invisible': Eval('state').in_(['cancelled', 'done']), + 'depends': ['state'], + }, + 'draft': { + 'invisible': ~Eval('state').in_(['waiting', 'cancelled']), + 'icon': If(Eval('state') == 'cancelled', + 'tryton-undo', + If(Eval('state') == 'waiting', + 'tryton-back', + 'tryton-forward')), + 'depends': ['state'], + }, + 'wait': { + 'invisible': ~Eval('state').in_(['assigned', 'waiting', + 'draft']), + 'icon': If(Eval('state') == 'assigned', + 'tryton-back', + If(Eval('state') == 'waiting', + 'tryton-clear', + 'tryton-forward')), + 'depends': ['state'], + }, + 'pick': { + 'invisible': If( + Eval('warehouse_storage') == Eval('warehouse_output'), + True, + Eval('state') != 'assigned'), + 'depends': [ + 'state', 'warehouse_storage', 'warehouse_output'], + }, + 'pack': { + 'invisible': If( + Eval('warehouse_storage') == Eval('warehouse_output'), + Eval('state') != 'waiting', + Eval('state') != 'picked'), + 'depends': [ + 'state', 'warehouse_storage', 'warehouse_output'], + }, + 'done': { + 'invisible': Eval('state') != 'packed', + }, + 'assign_wizard': { + 'invisible': ((Eval('state') != 'waiting') + | (Eval('warehouse_storage') + == Eval('warehouse_output'))), + }, + 'assign_try': {}, + 'assign_force': {}, + }) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + table = cls.__table_handler__(module_name) + sql_table = cls.__table__() + + # Migration from 3.8: rename code into number + if table.column_exist('code'): + table.column_rename('code', 'number') + + # Migration from 5.6: rename assigned_by into picked_by + if table.column_exist('assigned_by'): + table.column_rename('assigned_by', 'picked_by') + + super(ShipmentOut, cls).__register__(module_name) + + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + + @classmethod + def order_effective_date(cls, tables): + table, _ = tables[None] + return [Coalesce(table.effective_date, table.planned_date)] + + @staticmethod + def default_state(): + return 'draft' + + @classmethod + def default_warehouse(cls): + Location = Pool().get('stock.location') + return Location.get_default_warehouse() + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @fields.depends('customer') + def on_change_customer(self): + self.delivery_address = None + if self.customer: + self.delivery_address = self.customer.address_get(type='delivery') + + @fields.depends('customer') + def on_change_with_customer_location(self, name=None): + if self.customer: + return self.customer.customer_location.id + + @classmethod + def default_warehouse_storage(cls): + warehouse = cls.default_warehouse() + if warehouse: + return cls(warehouse=warehouse).on_change_with_warehouse_storage() + + @fields.depends('warehouse') + def on_change_with_warehouse_storage(self, name=None): + if self.warehouse: + if self.warehouse.picking_location: + location = self.warehouse.picking_location + else: + location = self.warehouse.storage_location + return location.id + + @classmethod + def default_warehouse_output(cls): + warehouse = cls.default_warehouse() + if warehouse: + return cls(warehouse=warehouse).on_change_with_warehouse_output() + + @fields.depends('warehouse') + def on_change_with_warehouse_output(self, name=None): + if self.warehouse: + return self.warehouse.output_location.id + + def get_outgoing_moves(self, name): + moves = [] + for move in self.moves: + if move.from_location == self.warehouse_output: + moves.append(move.id) + return moves + + @classmethod + def set_outgoing_moves(cls, shipments, name, value): + if not value: + return + cls.write(shipments, { + 'moves': value, + }) + + def get_inventory_moves(self, name): + moves = [] + for move in self.moves: + if move.to_location == self.warehouse_output: + moves.append(move.id) + return moves + + @classmethod + def set_inventory_moves(cls, shipments, name, value): + if not value: + return + cls.write(shipments, { + 'moves': value, + }) + + def get_origins(self, name): + return ', '.join(set(filter(None, + (m.origin_name for m in self.outgoing_moves)))) + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, shipments): + Move = Pool().get('stock.move') + Move.draft([m for s in shipments + for m in s.inventory_moves + s.outgoing_moves + if m.state != 'staging']) + + @classmethod + @ModelView.button + @Workflow.transition('waiting') + def wait(cls, shipments, moves=None): + """ + Complete inventory moves to match the products and quantities + that are in the outgoing moves. + If moves is set, only this subset is set to draft. + """ + Move = Pool().get('stock.move') + + if moves is None: + moves = sum((s.inventory_moves for s in shipments), ()) + else: + assert all(m.shipment in shipments for m in moves) + Move.draft(moves) + Move.delete([m for s in shipments for m in s.inventory_moves + if m.state in ('draft', 'cancelled')]) + + to_create = [] + for shipment in shipments: + if shipment.warehouse_storage == shipment.warehouse_output: + # Do not create inventory moves + continue + for move in shipment.outgoing_moves: + if move.state in ('cancelled', 'done'): + continue + inventory_move = shipment._get_inventory_move(move) + if inventory_move: + to_create.append(inventory_move) + if to_create: + Move.save(to_create) + + def _get_inventory_move(self, move): + 'Return inventory move for the outgoing move if necessary' + pool = Pool() + Move = pool.get('stock.move') + Uom = pool.get('product.uom') + quantity = move.quantity + for inventory_move in self.inventory_moves: + if (inventory_move.origin == move + and inventory_move.state != 'cancelled'): + quantity -= Uom.compute_qty( + inventory_move.uom, inventory_move.quantity, move.uom) + quantity = move.uom.round(quantity) + if quantity <= 0: + return + inventory_move = Move( + from_location=self.warehouse_storage, + to_location=move.from_location, + product=move.product, + uom=move.uom, + quantity=quantity, + shipment=self, + planned_date=move.planned_date, + company=move.company, + origin=move, + state='staging' if move.state == 'staging' else 'draft', + ) + if inventory_move.on_change_with_unit_price_required(): + inventory_move.unit_price = move.unit_price + inventory_move.currency = move.currency + return inventory_move + + @classmethod + @Workflow.transition('assigned') + def assign(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Move.assign([m for s in shipments for m in s.assign_moves]) + cls._sync_inventory_to_outgoing(shipments, quantity=False) + + @classmethod + @ModelView.button + @Workflow.transition('picked') + @set_employee('picked_by') + def pick(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Move.delete([ + m for s in shipments for m in s.inventory_moves + if m.state == 'staging']) + Move.do([m for s in shipments for m in s.inventory_moves]) + cls._sync_inventory_to_outgoing(shipments, quantity=True) + + @classmethod + @ModelView.button + @Workflow.transition('packed') + @set_employee('packed_by') + def pack(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Move.delete([m for s in shipments for m in s.outgoing_moves + if not m.quantity]) + Move.assign([m for s in shipments for m in s.outgoing_moves]) + + def _sync_move_key(self, move): + return ( + ('product', move.product), + ('uom', move.uom), + ) + + def _sync_outgoing_move(self, template=None): + pool = Pool() + Move = pool.get('stock.move') + move = Move( + from_location=self.warehouse_output, + to_location=self.customer_location, + quantity=0, + shipment=self, + planned_date=self.planned_date, + company=self.company, + ) + if template: + move.origin = template.origin + if move.on_change_with_unit_price_required(): + if template: + move.unit_price = template.unit_price + move.currency = template.currency + else: + move.unit_price = 0 + move.currency = self.company.currency + return move + + @classmethod + def _sync_inventory_to_outgoing(cls, shipments, quantity=True): + pool = Pool() + Move = pool.get('stock.move') + Uom = pool.get('product.uom') + + def active(move): + return move.state != 'cancelled' + + moves = [] + for shipment in shipments: + if shipment.warehouse_storage == shipment.warehouse_output: + # Do not have inventory moves + continue + + outgoing_moves = {m: m for m in shipment.outgoing_moves} + inventory_qty = defaultdict(lambda: defaultdict(float)) + for move in filter(active, shipment.outgoing_moves): + key = shipment._sync_move_key(move) + inventory_qty[move][key] = 0 + for move in filter(active, shipment.inventory_moves): + key = shipment._sync_move_key(move) + outgoing_move = outgoing_moves.get(move.origin) + qty_default_uom = Uom.compute_qty( + move.uom, move.quantity, + move.product.default_uom, round=False) + inventory_qty[outgoing_move][key] += qty_default_uom + + for outgoing_move in inventory_qty: + if outgoing_move: + outgoing_key = shipment._sync_move_key(outgoing_move) + for key, qty in inventory_qty[outgoing_move].items(): + if not quantity and outgoing_move: + # Do not create outgoing move with origin + # to allow to reset to draft + continue + if outgoing_move and key == outgoing_key: + move = outgoing_move + else: + move = shipment._sync_outgoing_move(outgoing_move) + for name, value in key: + setattr(move, name, value) + qty = Uom.compute_qty( + move.product.default_uom, qty, + move.uom) + if quantity and move.quantity != qty: + move.quantity = qty + moves.append(move) + Move.save(moves) + + @classmethod + @ModelView.button + @Workflow.transition('done') + @set_employee('done_by') + def done(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + + Move.delete([ + m for s in shipments for m in s.outgoing_moves + if m.state == 'staging']) + Move.do([m for s in shipments for m in s.outgoing_moves]) + cls.write([s for s in shipments if not s.effective_date], { + 'effective_date': Date.today(), + }) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + def cancel(cls, shipments): + Move = Pool().get('stock.move') + Move.cancel([m for s in shipments + for m in s.outgoing_moves + s.inventory_moves]) + + @property + def _move_planned_date(self): + ''' + Return the planned date for outgoing moves and inventory moves + ''' + return self.planned_date, self.planned_date + + @classmethod + def _set_move_planned_date(cls, shipments): + ''' + Set planned date of moves for the shipments + ''' + Move = Pool().get('stock.move') + to_write = [] + for shipment in shipments: + outgoing_date, inventory_date = shipment._move_planned_date + out_moves_to_write = [x for x in shipment.outgoing_moves + if (x.state not in ('assigned', 'done', 'cancelled') + and x.planned_date != outgoing_date)] + if out_moves_to_write: + to_write.extend((out_moves_to_write, { + 'planned_date': outgoing_date, + })) + + inv_moves_to_write = [x for x in shipment.inventory_moves + if (x.state not in ('assigned', 'done', 'cancelled') + and x.planned_date != inventory_date)] + if inv_moves_to_write: + to_write.extend((inv_moves_to_write, { + 'planned_date': inventory_date, + })) + if to_write: + Move.write(*to_write) + + @classmethod + def create(cls, vlist): + pool = Pool() + Config = pool.get('stock.configuration') + + vlist = [x.copy() for x in vlist] + config = Config(1) + default_company = cls.default_company() + for values in vlist: + if values.get('number') is None: + values['number'] = config.get_multivalue( + 'shipment_out_sequence', + company=values.get('company', default_company)).get() + shipments = super(ShipmentOut, cls).create(vlist) + cls._set_move_planned_date(shipments) + return shipments + + @classmethod + def write(cls, *args): + super(ShipmentOut, cls).write(*args) + cls._set_move_planned_date(sum(args[::2], [])) + + @classmethod + def copy(cls, shipments, default=None): + if default is None: + default = {} + else: + default = default.copy() + default.setdefault('inventory_moves', None) + default.setdefault('outgoing_moves', None) + default.setdefault('number', None) + default.setdefault('picked_by', None) + default.setdefault('packed_by', None) + default.setdefault('done_by', None) + return super(ShipmentOut, cls).copy(shipments, default=default) + + @classmethod + def delete(cls, shipments): + Move = Pool().get('stock.move') + # Cancel before delete + cls.cancel(shipments) + for shipment in shipments: + if shipment.state != 'cancelled': + raise AccessError( + gettext('stock.msg_shipment_delete_cancel', + shipment=shipment.rec_name)) + Move.delete([m for s in shipments for m in s.moves]) + super(ShipmentOut, cls).delete(shipments) + + @staticmethod + def _location_amount(target_uom, qty_uom, uom_index): + """ + Take a raw list of quantities and uom and convert it to + the target uom. + """ + Uom = Pool().get('product.uom') + res = 0 + for uom, qty in qty_uom: + res += Uom.compute_qty(uom_index[uom], qty, + uom_index[target_uom]) + return res + + @classmethod + @ModelView.button_action('stock.wizard_shipment_out_assign') + def assign_wizard(cls, shipments): + pass + + @property + def assign_moves(self): + return self.inventory_moves + + @dualmethod + @ModelView.button + def assign_try(cls, shipments): + Move = Pool().get('stock.move') + to_assign = [ + m for s in shipments for m in s.assign_moves + if m.assignation_required] + if Move.assign_try(to_assign): + cls.assign(shipments) + return True + else: + return False + + @classmethod + def _get_reschedule_domain(cls, date): + return [ + ('state', '=', 'waiting'), + ('planned_date', '<', date), + ] + + @classmethod + def reschedule(cls, date=None): + pool = Pool() + Date = pool.get('ir.date') + if date is None: + date = Date.today() + shipments = cls.search(cls._get_reschedule_domain(date)) + cls.write(shipments, {'planned_date': date}) + + +class ShipmentOutReturn(ShipmentMixin, Workflow, ModelSQL, ModelView): + "Customer Return Shipment" + __name__ = 'stock.shipment.out.return' + _rec_name = 'number' + effective_date = fields.Date('Effective Date', + states={ + 'readonly': Eval('state').in_(['cancelled', 'done']), + }, + depends=['state'], + help="When the stock was returned.") + planned_date = fields.Date('Planned Date', + states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="When the stock is expected to be returned.") + company = fields.Many2One( + 'company.company', "Company", required=True, + states={ + 'readonly': Eval('state') != 'draft', + }, + depends=['state'], + help="The company the shipment is associated with.") + customer = fields.Many2One('party.party', 'Customer', required=True, + states={ + 'readonly': ((Eval('state') != 'draft') + | Eval('incoming_moves', [0])), + }, + context={ + 'company': Eval('company', -1), + }, + depends=['state', 'company'], + help="The party that purchased the stock.") + customer_location = fields.Function(fields.Many2One('stock.location', + 'Customer Location'), 'on_change_with_customer_location') + delivery_address = fields.Many2One('party.address', + 'Delivery Address', required=True, + states={ + 'readonly': Eval('state') != 'draft', + }, domain=[('party', '=', Eval('customer'))], + depends=['state', 'customer'], + help="The address the customer can be contacted at.") + reference = fields.Char("Reference", size=None, select=True, + states={ + 'readonly': Eval('state') != 'draft', + }, depends=['state'], + help="The customer's identifier for the shipment.") + warehouse = fields.Many2One('stock.location', "Warehouse", required=True, + states={ + 'readonly': ((Eval('state') != 'draft') + | Eval('incoming_moves', [0]) | Eval('inventory_moves', [0])), + }, domain=[('type', '=', 'warehouse')], + depends=['state'], + help="Where the stock is returned.") + warehouse_storage = fields.Function(fields.Many2One('stock.location', + 'Warehouse Storage'), 'on_change_with_warehouse_storage') + warehouse_input = fields.Function(fields.Many2One('stock.location', + 'Warehouse Input'), 'on_change_with_warehouse_input') + incoming_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Incoming Moves', + domain=[ + ('from_location', '=', Eval('customer_location')), + If(Eval('warehouse_input') == Eval('warehouse_storage'), + ('to_location', 'child_of', + [Eval('warehouse_input', -1)], 'parent'), + ('to_location', '=', Eval('warehouse_input'))), + ('company', '=', Eval('company')), + ], + states={ + 'readonly': ((Eval('state') != 'draft') + | ~Eval('warehouse') | ~Eval('customer')), + }, + depends=['state', 'warehouse', 'customer', 'customer_location', + 'warehouse_input', 'warehouse_storage', 'company'], + help="The moves that bring the stock into the warehouse."), + 'get_incoming_moves', setter='set_incoming_moves') + inventory_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Inventory Moves', + domain=[ + ('from_location', '=', Eval('warehouse_input')), + If(Eval('state').in_(['received']), + ['OR', + ('to_location', 'child_of', + [Eval('warehouse_storage', -1)], 'parent'), + ('to_location.waste_warehouses', '=', + Eval('warehouse')), + ], + []), + ('company', '=', Eval('company')), + ], + states={ + 'readonly': Eval('state').in_(['draft', 'cancelled', 'done']), + 'invisible': ( + Eval('warehouse_input') == Eval('warehouse_storage')), + }, + depends=['state', 'warehouse', 'warehouse_input', + 'warehouse_storage', 'warehouse_input', 'company'], + help="The moves that put the stock away into the storage area."), + 'get_inventory_moves', setter='set_inventory_moves') + moves = fields.One2Many('stock.move', 'shipment', 'Moves', + domain=[('company', '=', Eval('company'))], depends=['company'], + readonly=True) + origins = fields.Function(fields.Char('Origins'), 'get_origins') + number = fields.Char('Number', size=None, select=True, readonly=True, + help="The main identifier for the shipment.") + received_by = employee_field("Received By") + done_by = employee_field("Done By") + state = fields.Selection([ + ('draft', 'Draft'), + ('done', 'Done'), + ('cancelled', 'Cancelled'), + ('received', 'Received'), + ], 'State', readonly=True, + help="The current state of the shipment.") + + @classmethod + def __setup__(cls): + super(ShipmentOutReturn, cls).__setup__() + cls.create_date.select = True + cls._order = [ + ('effective_date', 'ASC NULLS LAST'), + ('id', 'ASC'), + ] + cls._transitions |= set(( + ('draft', 'received'), + ('received', 'done'), + ('received', 'draft'), + ('draft', 'cancelled'), + ('received', 'cancelled'), + ('cancelled', 'draft'), + )) + cls._buttons.update({ + 'cancel': { + 'invisible': Eval('state').in_(['cancelled', 'done']), + 'depends': ['state'], + }, + 'draft': { + 'invisible': Eval('state') != 'cancelled', + 'depends': ['state'], + }, + 'receive': { + 'invisible': Eval('state') != 'draft', + 'depends': ['state'], + }, + 'done': { + 'invisible': Eval('state') != 'received', + 'depends': ['state'], + }, + }) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + table = cls.__table_handler__(module_name) + sql_table = cls.__table__() + + # Migration from 3.8: rename code into number + if table.column_exist('code'): + table.column_rename('code', 'number') + + super(ShipmentOutReturn, cls).__register__(module_name) + + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + + @classmethod + def order_effective_date(cls, tables): + table, _ = tables[None] + return [Coalesce(table.effective_date, table.planned_date)] + + @staticmethod + def default_state(): + return 'draft' + + @classmethod + def default_warehouse(cls): + Location = Pool().get('stock.location') + return Location.get_default_warehouse() + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @fields.depends('customer') + def on_change_customer(self): + self.delivery_address = None + if self.customer: + self.delivery_address = self.customer.address_get(type='delivery') + + @fields.depends('customer') + def on_change_with_customer_location(self, name=None): + if self.customer: + return self.customer.customer_location.id + + @classmethod + def default_warehouse_storage(cls): + warehouse = cls.default_warehouse() + if warehouse: + return cls(warehouse=warehouse).on_change_with_warehouse_storage() + + @fields.depends('warehouse') + def on_change_with_warehouse_storage(self, name=None): + if self.warehouse: + return self.warehouse.storage_location.id + + @classmethod + def default_warehouse_input(cls): + warehouse = cls.default_warehouse() + if warehouse: + return cls(warehouse=warehouse).on_change_with_warehouse_input() + + @fields.depends('warehouse') + def on_change_with_warehouse_input(self, name=None): + if self.warehouse: + return self.warehouse.input_location.id + + def get_incoming_moves(self, name): + moves = [] + if self.warehouse_input == self.warehouse_storage: + return [m.id for m in self.moves] + for move in self.moves: + if move.to_location == self.warehouse_input: + moves.append(move.id) + return moves + + @classmethod + def set_incoming_moves(cls, shipments, name, value): + if not value: + return + cls.write(shipments, { + 'moves': value, + }) + + def get_inventory_moves(self, name): + moves = [] + for move in self.moves: + if move.from_location == self.warehouse_input: + moves.append(move.id) + return moves + + @classmethod + def set_inventory_moves(cls, shipments, name, value): + if not value: + return + cls.write(shipments, { + 'moves': value, + }) + + def _get_move_planned_date(self): + ''' + Return the planned date for incoming moves and inventory moves + ''' + return self.planned_date, self.planned_date + + @classmethod + def _set_move_planned_date(cls, shipments): + ''' + Set planned date of moves for the shipments + ''' + Move = Pool().get('stock.move') + to_write = [] + for shipment in shipments: + dates = shipment._get_move_planned_date() + incoming_date, inventory_date = dates + incoming_moves_to_write = [x for x in shipment.incoming_moves + if (x.state not in ('assigned', 'done', 'cancelled') + and x.planned_date != incoming_date)] + if incoming_moves_to_write: + to_write.extend((incoming_moves_to_write, { + 'planned_date': incoming_date, + })) + inventory_moves_to_write = [x for x in shipment.inventory_moves + if (x.state not in ('assigned', 'done', 'cancelled') + and x.planned_date != inventory_date)] + if inventory_moves_to_write: + to_write.extend((inventory_moves_to_write, { + 'planned_date': inventory_date, + })) + if to_write: + Move.write(*to_write) + + def get_origins(self, name): + return ', '.join(set(filter(None, + (m.origin_name for m in self.incoming_moves)))) + + @classmethod + def create(cls, vlist): + pool = Pool() + Config = pool.get('stock.configuration') + + vlist = [x.copy() for x in vlist] + config = Config(1) + default_company = cls.default_company() + for values in vlist: + if values.get('number') is None: + values['number'] = config.get_multivalue( + 'shipment_out_return_sequence', + company=values.get('company', default_company)).get() + shipments = super(ShipmentOutReturn, cls).create(vlist) + cls._set_move_planned_date(shipments) + return shipments + + @classmethod + def write(cls, *args): + super(ShipmentOutReturn, cls).write(*args) + cls._set_move_planned_date(sum(args[::2], [])) + + @classmethod + def copy(cls, shipments, default=None): + if default is None: + default = {} + default = default.copy() + default.setdefault('inventory_moves', None) + default.setdefault('incoming_moves', None) + default.setdefault('number', None) + default.setdefault('received_by', None) + default.setdefault('done_by', None) + return super(ShipmentOutReturn, cls).copy(shipments, default=default) + + @classmethod + def delete(cls, shipments): + Move = Pool().get('stock.move') + # Cance before delete + cls.cancel(shipments) + for shipment in shipments: + if shipment.state != 'cancelled': + raise AccessError( + gettext('stock.msg_shipment_delete_cancel', + shipment=shipment.rec_name)) + Move.delete([m for s in shipments for m in s.moves]) + super(ShipmentOutReturn, cls).delete(shipments) + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, shipments): + Move = Pool().get('stock.move') + Move.draft([m for s in shipments for m in s.incoming_moves + if m.state != 'staging']) + Move.delete([m for s in shipments for m in s.inventory_moves + if m.state in ('draft', 'cancelled')]) + + @classmethod + @ModelView.button + @Workflow.transition('received') + @set_employee('received_by') + def receive(cls, shipments): + Move = Pool().get('stock.move') + Move.do([m for s in shipments for m in s.incoming_moves]) + cls.create_inventory_moves(shipments) + # Set received state to allow done transition + cls.write(shipments, {'state': 'received'}) + to_do = [s for s in shipments + if s.warehouse_storage == s.warehouse_input] + if to_do: + cls.done(to_do) + + @classmethod + @ModelView.button + @Workflow.transition('done') + @set_employee('done_by') + def done(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + Move.do([m for s in shipments for m in s.inventory_moves]) + cls.write([s for s in shipments if not s.effective_date], { + 'effective_date': Date.today(), + }) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + def cancel(cls, shipments): + Move = Pool().get('stock.move') + Move.cancel([m for s in shipments + for m in s.incoming_moves + s.inventory_moves]) + + def _get_inventory_move(self, incoming_move): + 'Return inventory move for the incoming move' + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + if incoming_move.quantity <= 0.0: + return + move = Move() + move.product = incoming_move.product + move.uom = incoming_move.uom + move.quantity = incoming_move.quantity + move.from_location = incoming_move.to_location + move.to_location = self.warehouse_storage + move.state = Move.default_state() + move.planned_date = max( + filter(None, [self._get_move_planned_date()[1], Date.today()])) + move.company = incoming_move.company + move.origin = incoming_move + return move + + @classmethod + def create_inventory_moves(cls, shipments): + for shipment in shipments: + if shipment.warehouse_storage == shipment.warehouse_input: + # Do not create inventory moves + continue + # Use moves instead of inventory_moves because save reset before + # adding new records and as set_inventory_moves is just a proxy to + # moves, it will reset also the incoming_moves + moves = list(shipment.moves) + for incoming_move in shipment.incoming_moves: + move = shipment._get_inventory_move(incoming_move) + if move: + moves.append(move) + shipment.moves = moves + cls.save(shipments) + + +class ShipmentInternal(ShipmentAssignMixin, Workflow, ModelSQL, ModelView): + "Internal Shipment" + __name__ = 'stock.shipment.internal' + _rec_name = 'number' + _assign_moves_field = 'moves' + effective_date = fields.Date('Effective Date', + states={ + 'readonly': Eval('state').in_(['cancelled', 'done']), + }, + depends=['state'], + help="When the shipment was actually completed.") + planned_date = fields.Date('Planned Date', + states={ + 'readonly': ~Eval('state').in_(['request', 'draft']), + }, depends=['state'], + help="When the shipment is expected to be completed.") + effective_start_date = fields.Date('Effective Start Date', + states={ + 'readonly': Eval('state').in_(['cancelled', 'shipped', 'done']), + }, + depends=['state'], + help="When the stock was actually sent.") + planned_start_date = fields.Date('Planned Start Date', + states={ + 'readonly': ~Eval('state').in_(['request', 'draft']), + 'required': Bool(Eval('planned_date')), + }, + depends=['state'], + help="When the stock is expected to be sent.") + company = fields.Many2One( + 'company.company', "Company", required=True, + states={ + 'readonly': ~Eval('state').in_(['request', 'draft']), + }, + depends=['state'], + help="The company the shipment is associated with.") + number = fields.Char('Number', size=None, select=True, readonly=True, + help="The main identifier for the shipment.") + reference = fields.Char("Reference", size=None, select=True, + states={ + 'readonly': ~Eval('state').in_(['request', 'draft']), + }, depends=['state'], + help="The external identifiers for the shipment.") + from_location = fields.Many2One('stock.location', "From Location", + required=True, states={ + 'readonly': (~Eval('state').in_(['request', 'draft']) + | Eval('moves', [0])), + }, + domain=[ + ('type', 'in', ['view', 'storage', 'lost_found']), + ], depends=['state'], + help="Where the stock is moved from.") + to_location = fields.Many2One('stock.location', "To Location", + required=True, states={ + 'readonly': (~Eval('state').in_(['request', 'draft']) + | Eval('moves', [0])), + }, domain=[ + ('type', 'in', ['view', 'storage', 'lost_found']), + ], depends=['state'], + help="Where the stock is moved to.") + transit_location = fields.Function(fields.Many2One('stock.location', + 'Transit Location', + help="Where the stock is located while it is in transit between " + "the warehouses."), + 'on_change_with_transit_location') + warehouse = fields.Function( + fields.Many2One( + 'stock.location', "Warehouse", + help="Where the stock is sent from."), + 'on_change_with_warehouse') + moves = fields.One2Many('stock.move', 'shipment', 'Moves', + states={ + 'readonly': (Eval('state').in_(['cancelled', 'assigned', 'done']) + | ~Eval('from_location') | ~Eval('to_location')), + 'invisible': (Bool(Eval('transit_location')) + & ~Eval('state').in_(['request', 'draft'])), + }, + domain=[ + If(Eval('state').in_(['request', 'draft']), [ + ('from_location', '=', Eval('from_location')), + ('to_location', '=', Eval('to_location')), + ], + If(~Eval('state').in_(['done', 'cancelled']), + If(~Eval('transit_location'), + [ + ('from_location', 'child_of', + [Eval('from_location', -1)], 'parent'), + ('to_location', 'child_of', + [Eval('to_location', -1)], 'parent'), + ], + ['OR', + [ + ('from_location', 'child_of', + [Eval('from_location', -1)], 'parent'), + ('to_location', '=', Eval('transit_location')), + ], + [ + ('from_location', '=', + Eval('transit_location')), + ('to_location', 'child_of', + [Eval('to_location', -1)], 'parent'), + ], + ]), + [])), + ('company', '=', Eval('company')), + ], + depends=['state', 'from_location', 'to_location', 'transit_location', + 'company'], + help="The moves that perform the shipment.") + outgoing_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Outgoing Moves', + domain=[ + If(Eval('state').in_(['request', 'draft']), [ + ('from_location', 'child_of', + [Eval('from_location', -1)], 'parent'), + If(~Eval('transit_location'), + ('to_location', 'child_of', + [Eval('to_location', -1)], 'parent'), + ('to_location', '=', Eval('transit_location'))), + ], + []), + ], + states={ + 'readonly': Eval('state').in_( + ['assigned', 'shipped', 'done', 'cancelled']), + 'invisible': (~Eval('transit_location') + | Eval('state').in_(['request', 'draft'])), + }, + depends=['from_location', 'to_location', 'transit_location', + 'state'], + help="The moves that send the stock out."), + 'get_outgoing_moves', setter='set_moves') + incoming_moves = fields.Function(fields.One2Many('stock.move', 'shipment', + 'Incoming Moves', + domain=[ + If(~Eval('state').in_(['done', 'cancelled']), [ + If(~Eval('transit_location'), + ('from_location', 'child_of', + [Eval('from_location', -1)], 'parent'), + ('from_location', '=', Eval('transit_location'))), + ('to_location', 'child_of', + [Eval('to_location', -1)], 'parent'), + ], + []), + ], + states={ + 'readonly': Eval('state').in_(['done', 'cancelled']), + 'invisible': (~Eval('transit_location') + | Eval('state').in_(['request', 'draft'])), + }, + depends=['from_location', 'to_location', 'transit_location', + 'state'], + help="The moves that receive the stock in."), + 'get_incoming_moves', setter='set_moves') + assigned_by = employee_field("Received By") + shipped_by = employee_field("Shipped By") + done_by = employee_field("Done By") + state = fields.Selection([ + ('request', 'Request'), + ('draft', 'Draft'), + ('cancelled', 'Cancelled'), + ('waiting', 'Waiting'), + ('assigned', 'Assigned'), + ('shipped', 'Shipped'), + ('done', 'Done'), + ], 'State', readonly=True, + help="The current state of the shipment.") + + @classmethod + def __setup__(cls): + super(ShipmentInternal, cls).__setup__() + cls.create_date.select = True + cls._order = [ + ('effective_date', 'ASC NULLS LAST'), + ('id', 'ASC'), + ] + cls._transitions |= set(( + ('request', 'draft'), + ('draft', 'waiting'), + ('waiting', 'waiting'), + ('waiting', 'assigned'), + ('assigned', 'shipped'), + ('assigned', 'done'), + ('shipped', 'done'), + ('waiting', 'draft'), + ('assigned', 'waiting'), + ('request', 'cancelled'), + ('draft', 'cancelled'), + ('waiting', 'cancelled'), + ('assigned', 'cancelled'), + ('cancelled', 'draft'), + )) + cls._buttons.update({ + 'cancel': { + 'invisible': Eval('state').in_( + ['cancelled', 'shipped', 'done']), + 'depends': ['state'], + }, + 'draft': { + 'invisible': ~Eval('state').in_( + ['cancelled', 'request', 'waiting']), + 'icon': If(Eval('state') == 'cancelled', + 'tryton-undo', + If(Eval('state') == 'request', + 'tryton-forward', + 'tryton-back')), + 'depends': ['state'], + }, + 'wait': { + 'invisible': ~Eval('state').in_(['assigned', 'waiting', + 'draft']), + 'icon': If(Eval('state') == 'assigned', + 'tryton-back', + If(Eval('state') == 'waiting', + 'tryton-clear', + 'tryton-forward')), + 'depends': ['state'], + }, + 'ship': { + 'invisible': ((Eval('state') != 'assigned') + | ~Eval('transit_location')), + 'depends': ['state', 'transit_location'], + }, + 'done': { + 'invisible': If( + ~Eval('transit_location'), + Eval('state') != 'assigned', + Eval('state') != 'shipped'), + 'depends': ['state', 'transit_location'], + }, + 'assign_wizard': { + 'invisible': Eval('state') != 'waiting', + 'depends': ['state'], + }, + 'assign_try': {}, + 'assign_force': {}, + }) + + @classmethod + def __register__(cls, module_name): + cursor = Transaction().connection.cursor() + sql_table = cls.__table__() + table = cls.__table_handler__(module_name) + + # Migration from 3.8: + if table.column_exist('code'): + table.column_rename('code', 'number') + + super(ShipmentInternal, cls).__register__(module_name) + + # Migration from 4.0: fill planned_start_date + cursor = Transaction().connection.cursor() + cursor.execute(*sql_table.update( + [sql_table.planned_start_date], + [sql_table.planned_date], + where=(sql_table.planned_start_date == Null) + & (sql_table.planned_date != Null))) + + # Migration from 5.6: rename state cancel to cancelled + cursor.execute(*sql_table.update( + [sql_table.state], ['cancelled'], + where=sql_table.state == 'cancel')) + + @classmethod + def order_effective_date(cls, tables): + table, _ = tables[None] + return [Coalesce( + table.effective_start_date, table.effective_date, + table.planned_start_date, table.planned_date)] + + @staticmethod + def default_state(): + return 'draft' + + @staticmethod + def default_company(): + return Transaction().context.get('company') + + @fields.depends('planned_date', 'planned_start_date', 'company') + def on_change_with_transit_location(self, name=None): + pool = Pool() + Config = pool.get('stock.configuration') + if self.planned_date != self.planned_start_date: + return Config(1).get_multivalue( + 'shipment_internal_transit', + company=self.company.id if self.company else None).id + + @fields.depends('from_location') + def on_change_with_warehouse(self, name=None): + if self.from_location and self.from_location.warehouse: + return self.from_location.warehouse.id + + @fields.depends('planned_date', 'from_location', 'to_location') + def on_change_with_planned_start_date(self, pattern=None): + pool = Pool() + LocationLeadTime = pool.get('stock.location.lead_time') + if self.planned_date: + if pattern is None: + pattern = {} + pattern.setdefault('warehouse_from', + self.from_location.warehouse.id + if self.from_location and self.from_location.warehouse + else None) + pattern.setdefault('warehouse_to', + self.to_location.warehouse.id + if self.to_location and self.to_location.warehouse + else None) + lead_time = LocationLeadTime.get_lead_time(pattern) + if lead_time: + return self.planned_date - lead_time + return self.planned_date + + def get_outgoing_moves(self, name): + if not self.transit_location: + return [m.id for m in self.moves] + moves = [] + for move in self.moves: + if move.to_location == self.transit_location: + moves.append(move.id) + return moves + + def get_incoming_moves(self, name): + if not self.transit_location: + return [m.id for m in self.moves] + moves = [] + for move in self.moves: + if move.from_location == self.transit_location: + moves.append(move.id) + return moves + + @classmethod + def set_moves(cls, shipments, name, value): + if not value: + return + cls.write(shipments, { + 'moves': value, + }) + + @classmethod + def create(cls, vlist): + pool = Pool() + Config = pool.get('stock.configuration') + + vlist = [x.copy() for x in vlist] + config = Config(1) + default_company = cls.default_company() + for values in vlist: + if values.get('number') is None: + values['number'] = config.get_multivalue( + 'shipment_internal_sequence', + company=values.get('company', default_company)).get() + shipments = super().create(vlist) + cls._set_move_planned_date(shipments) + return shipments + + @classmethod + def write(cls, *args): + super().write(*args) + cls._set_move_planned_date(sum(args[::2], [])) + + @classmethod + def delete(cls, shipments): + Move = Pool().get('stock.move') + # Cancel before delete + cls.cancel(shipments) + for shipment in shipments: + if shipment.state != 'cancelled': + raise AccessError( + gettext('stock.msg_shipment_delete_cancel', + shipment=shipment.rec_name)) + Move.delete([m for s in shipments for m in s.moves]) + super(ShipmentInternal, cls).delete(shipments) + + @classmethod + def copy(cls, shipments, default=None): + def shipment_field(data, name): + model, shipment_id = data['shipment'].split(',', 1) + assert model == cls.__name__ + shipment_id = int(shipment_id) + shipment = id2shipments[shipment_id] + return getattr(shipment, name) + + def outgoing_moves(data): + shipment = id2shipments[data['id']] + return shipment.outgoing_moves + id2shipments = {s.id: s for s in shipments} + + if default is None: + default = {} + else: + default = default.copy() + default.setdefault('moves', outgoing_moves) + default.setdefault('moves.from_location', partial( + shipment_field, name='from_location')) + default.setdefault('moves.to_location', partial( + shipment_field, name='to_location')) + default.setdefault('moves.planned_date', partial( + shipment_field, name='planned_date')) + default.setdefault('number', None) + default.setdefault('assigned_by', None) + default.setdefault('shipped_by', None) + default.setdefault('done_by', None) + return super().copy(shipments, default=default) + + def _sync_move_key(self, move): + return ( + ('product', move.product), + ('uom', move.uom), + ) + + def _sync_incoming_move(self, template=None): + pool = Pool() + Move = pool.get('stock.move') + move = Move( + from_location=self.transit_location, + to_location=self.to_location, + quantity=0, + shipment=self, + planned_date=self.planned_date, + company=self.company, + ) + if template: + move.origin = template.origin + if move.on_change_with_unit_price_required(): + if template: + move.unit_price = template.unit_price + move.currency = template.currency + else: + move.unit_price = 0 + move.currency = self.company.currency + return move + + @classmethod + def _sync_moves(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Uom = pool.get('product.uom') + + def active(move): + return move.state != 'cancelled' + + moves = [] + for shipment in shipments: + if not shipment.transit_location: + continue + + incoming_moves = {m: m for m in shipment.incoming_moves} + outgoing_qty = defaultdict(lambda: defaultdict(lambda: 0)) + for move in filter(active, shipment.incoming_moves): + key = shipment._sync_move_key(move) + outgoing_qty[move][key] = 0 + for move in filter(active, shipment.outgoing_moves): + key = shipment._sync_move_key(move) + incoming_move = incoming_moves.get(move.origin) + qty_default_uom = Uom.compute_qty( + move.uom, move.quantity, + move.product.default_uom, round=False) + outgoing_qty[incoming_move][key] += qty_default_uom + + for incoming_move in outgoing_qty: + if incoming_move: + incoming_key = shipment._sync_move_key(incoming_move) + for key, qty in outgoing_qty[incoming_move].items(): + if incoming_move and key == incoming_key: + move = incoming_move + else: + move = shipment._sync_incoming_move(incoming_move) + for name, value in key: + setattr(move, name, value) + qty = Uom.compute_qty( + move.product.default_uom, qty, + move.uom) + if move.quantity != qty: + move.quantity = qty + moves.append(move) + Move.save(moves) + + @classmethod + def _set_transit(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + + to_write = [] + for shipment in shipments: + if not shipment.transit_location: + continue + moves = [m for m in shipment.moves + if m.state != 'done' + and m.from_location != shipment.transit_location + and m.to_location != shipment.transit_location] + Move.copy(moves, default={ + 'to_location': shipment.transit_location.id, + 'planned_date': shipment.planned_start_date, + 'origin': lambda data: '%s,%s' % ( + Move.__name__, data['id']), + }) + to_write.append(moves) + to_write.append({ + 'from_location': shipment.transit_location.id, + 'planned_date': shipment.planned_date, + }) + if to_write: + Move.write(*to_write) + + @classmethod + @ModelView.button + @Workflow.transition('draft') + def draft(cls, shipments): + Move = Pool().get('stock.move') + + # First reset state to draft to allow update from and to location + Move.draft([m for s in shipments for m in s.moves + if m.state != 'staging']) + Move.delete([m for s in shipments for m in s.moves + if m.from_location == s.transit_location]) + for shipment in shipments: + Move.write([m for m in shipment.moves + if m.state != 'done'], { + 'from_location': shipment.from_location.id, + 'to_location': shipment.to_location.id, + 'planned_date': shipment.planned_date, + }) + + @classmethod + @ModelView.button + @Workflow.transition('waiting') + def wait(cls, shipments, moves=None): + """ + If moves is set, only this subset is set to draft. + """ + Move = Pool().get('stock.move') + + if moves is None: + moves = sum((s.moves for s in shipments), ()) + else: + assert all(m.shipment in shipments for m in moves) + Move.draft(moves) + + moves = [] + for shipment in shipments: + if shipment.transit_location: + continue + for move in shipment.moves: + if move.state != 'done': + move.planned_date = shipment.planned_date + moves.append(move) + Move.save(moves) + + cls._set_transit(shipments) + cls._sync_moves(shipments) + + @classmethod + @Workflow.transition('assigned') + @set_employee('assigned_by') + def assign(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Move.assign([m for s in shipments for m in s.assign_moves]) + + @classmethod + @ModelView.button + @Workflow.transition('shipped') + @set_employee('shipped_by') + def ship(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + Move.do([m for s in shipments for m in s.outgoing_moves]) + cls._sync_moves(shipments) + cls.write([s for s in shipments if not s.effective_start_date], { + 'effective_start_date': Date.today(), + }) + + @classmethod + @ModelView.button + @Workflow.transition('done') + @set_employee('done_by') + def done(cls, shipments): + pool = Pool() + Move = pool.get('stock.move') + Date = pool.get('ir.date') + Move.do([m for s in shipments for m in s.incoming_moves]) + cls.write([s for s in shipments if not s.effective_date], { + 'effective_date': Date.today(), + }) + + @classmethod + @ModelView.button + @Workflow.transition('cancelled') + def cancel(cls, shipments): + Move = Pool().get('stock.move') + Move.cancel([m for s in shipments for m in s.moves]) + + @classmethod + @ModelView.button_action('stock.wizard_shipment_internal_assign') + def assign_wizard(cls, shipments): + pass + + @property + def assign_moves(self): + return self.outgoing_moves + + @dualmethod + @ModelView.button + def assign_try(cls, shipments): + Move = Pool().get('stock.move') + to_assign = [ + m for s in shipments for m in s.assign_moves + if m.assignation_required] + if not to_assign or Move.assign_try(to_assign): + cls.assign(shipments) + return True + else: + return False + + @property + def _move_planned_date(self): + ''' + Return the planned date for incoming moves and inventory_moves + ''' + return self.planned_start_date, self.planned_date + + @classmethod + def _set_move_planned_date(cls, shipments): + ''' + Set planned date of moves for the shipments + ''' + Move = Pool().get('stock.move') + to_write = [] + for shipment in shipments: + dates = shipment._move_planned_date + outgoing_date, incoming_date = dates + outgoing_moves = [m for m in shipment.outgoing_moves + if (m.state not in ('assigned', 'done', 'cancelled') + and m.planned_date != outgoing_date)] + if outgoing_moves: + to_write.append(outgoing_moves) + to_write.append({ + 'planned_date': outgoing_date, + }) + if shipment.transit_location: + incoming_moves = [m for m in shipment.incoming_moves + if (m.state not in ('assigned', 'done', 'cancelled') + and m.planned_date != incoming_date)] + if incoming_moves: + to_write.append(incoming_moves) + to_write.append({ + 'planned_date': incoming_date, + }) + if to_write: + Move.write(*to_write) + + @classmethod + def _get_reschedule_domain(cls, date): + return [ + ('state', '=', 'waiting'), + ('planned_date', '<', date), + ] + + @classmethod + def reschedule(cls, date=None): + pool = Pool() + Date = pool.get('ir.date') + if date is None: + date = Date.today() + shipments = cls.search(cls._get_reschedule_domain(date)) + for shipment in shipments: + shipment.planned_date = date + shipment.planned_start_date = ( + shipment.on_change_with_planned_start_date()) + cls.save(shipments) + + +class Assign(Wizard): + "Assign Shipment" + __name__ = 'stock.shipment.assign' + start = StateTransition() + partial = StateView( + 'stock.shipment.assign.partial', + 'stock.shipment_assign_partial_view_form', [ + Button("Cancel", 'cancel', 'tryton-cancel'), + Button("Wait", 'end', 'tryton-ok', True), + Button("Ignore", 'ignore', 'tryton-forward'), + Button("Force", 'force', 'tryton-forward', + states={ + 'invisible': ~Id('stock', + 'group_stock_force_assignment').in_( + Eval('context', {}).get('groups', [])), + }), + ]) + cancel = StateTransition() + force = StateTransition() + ignore = StateTransition() + + def transition_start(self): + if self.record.assign_try(): + return 'end' + else: + return 'partial' + + def default_partial(self, fields): + values = {} + if 'moves' in fields: + values['moves'] = [ + m.id for m in self.record.assign_moves + if m.state in {'staging', 'draft'}] + return values + + def transition_cancel(self): + self.record.assign_reset() + return 'end' + + def transition_force(self): + self.record.assign_force() + return 'end' + + def transition_ignore(self): + self.record.assign_ignore() + return 'end' + + +class AssignPartial(ModelView): + "Assign Shipment" + __name__ = 'stock.shipment.assign.partial' + moves = fields.Many2Many( + 'stock.move', None, None, "Moves", readonly=True, + help="The moves that were not assigned.") + + +class DeliveryNote(CompanyReport): + 'Delivery Note' + __name__ = 'stock.shipment.out.delivery_note' + + @classmethod + def execute(cls, ids, data): + with Transaction().set_context(address_with_party=True): + return super(DeliveryNote, cls).execute(ids, data) + + +class ShipmentReport(CompanyReport): + + @classmethod + def execute(cls, ids, data): + with Transaction().set_context(address_with_party=True): + return super(ShipmentReport, cls).execute(ids, data) + + @classmethod + def moves(cls, shipment): + raise NotImplementedError + + @classmethod + def get_context(cls, shipments, header, data): + report_context = super().get_context(shipments, header, data) + + compare_context = cls.get_compare_context(shipments, data) + sorted_moves = {} + for shipment in shipments: + sorted_moves[shipment.id] = sorted( + cls.moves(shipment), + key=functools.partial(cls.get_compare_key, compare_context)) + report_context['moves'] = sorted_moves + + return report_context + + @classmethod + def get_compare_context(cls, shipments, data): + from_location_ids = set() + to_location_ids = set() + for shipment in shipments: + for move in cls.moves(shipment): + from_location_ids.add(move.from_location.id) + to_location_ids.add(move.to_location.id) + + return { + 'from_location_ids': list(from_location_ids), + 'to_location_ids': list(to_location_ids), + } + + @staticmethod + def get_compare_key(compare_context, move): + from_location_ids = compare_context['from_location_ids'] + to_location_ids = compare_context['to_location_ids'] + return [from_location_ids.index(move.from_location.id), + to_location_ids.index(move.to_location.id)] + + +class PickingList(ShipmentReport): + 'Picking List' + __name__ = 'stock.shipment.out.picking_list' + + @classmethod + def moves(cls, shipment): + if shipment.warehouse_storage == shipment.warehouse_output: + return shipment.outgoing_moves + else: + return shipment.inventory_moves + + +class SupplierRestockingList(ShipmentReport): + 'Supplier Restocking List' + __name__ = 'stock.shipment.in.restocking_list' + + @classmethod + def moves(cls, shipment): + if shipment.warehouse_input == shipment.warehouse_storage: + return shipment.incoming_moves + else: + return shipment.inventory_moves + + +class CustomerReturnRestockingList(ShipmentReport): + 'Customer Return Restocking List' + __name__ = 'stock.shipment.out.return.restocking_list' + + @classmethod + def moves(cls, shipment): + if shipment.warehouse_input == shipment.warehouse_storage: + return shipment.incoming_moves + else: + return shipment.inventory_moves + + +class InteralShipmentReport(ShipmentReport): + 'Interal Shipment Report' + __name__ = 'stock.shipment.internal.report' + + @classmethod + def moves(cls, shipment): + if shipment.transit_location: + if shipment.state == 'shipped': + return shipment.incoming_moves + else: + return shipment.outgoing_moves + else: + return shipment.moves diff --git a/modules/stock/shipment.xml b/modules/stock/shipment.xml new file mode 100644 index 0000000000..7e2d8eb029 --- /dev/null +++ b/modules/stock/shipment.xml @@ -0,0 +1,1101 @@ + + + + + + + stock.shipment.in + form + shipment_in_form + + + stock.shipment.in + tree + shipment_in_tree + + + Supplier Shipments + stock.shipment.in + + + + + + + + + + + + + + Draft + + + + + + + Received + + + + + + + All + + + + + + + + stock.shipment.in.return + form + shipment_in_return_form + + + stock.shipment.in.return + tree + shipment_in_return_tree + + + Returns + stock.shipment.in.return + + + + + + + + + + + + + + Draft + + + + + + + Waiting + + + + + + + Partially Assigned + + + + + + + Assigned + + + + + + + All + + + + + + + + stock.shipment.out + form + shipment_out_form + + + stock.shipment.out + tree + shipment_out_tree + + + + Customer Shipments + stock.shipment.out + + + + + + + + + + + + + + Draft + + + + + + + Waiting + + + + + + + Partially Assigned + + + + + + + Assigned + + + + + + + Picked + + + + + + + Packed + + + + + + + All + + + + + + + + stock.shipment.internal + form + shipment_internal_form + + + stock.shipment.internal + tree + shipment_internal_tree + + + Internal Shipments + stock.shipment.internal + + + + + + + + + + + + + + Requests + + + + + + + Draft + + + + + + + Waiting + + + + + + + Partially Assigned + + + + + + + Assigned + + + + + + + Shipped + + + + + + All + + + + + + + + stock.shipment.out.return + form + shipment_out_return_form + + + stock.shipment.out.return + tree + shipment_out_return_tree + + + + Returns + stock.shipment.out.return + + + + + + + + + + + + + + Draft + + + + + + + Received + + + + + + + All + + + + + + + + Delivery Note + stock.shipment.out + stock.shipment.out.delivery_note + stock/delivery_note.fodt + + + form_print + stock.shipment.out,-1 + + + + + Picking List + stock.shipment.out + stock.shipment.out.picking_list + stock/picking_list.fodt + + + form_print + stock.shipment.out,-1 + + + + + Restocking List + stock.shipment.in + stock.shipment.in.restocking_list + stock/supplier_restocking_list.fodt + + + form_print + stock.shipment.in,-1 + + + + + Restocking List + stock.shipment.out.return + stock.shipment.out.return.restocking_list + stock/customer_return_restocking_list.fodt + + + form_print + stock.shipment.out.return,-1 + + + + + Internal Shipment + stock.shipment.internal + stock.shipment.internal.report + stock/internal_shipment.fodt + + + form_print + stock.shipment.internal,-1 + + + + + + Customer Shipment + + + + + + + + + + + + Customer Shipment + + + + + Supplier Shipment + + + + + + + + + + + + Supplier Shipment + + + + + Internal Shipment + + + + + + + + + + + + Internal Shipment + + + + + Customer Return Shipment + + + + + + + + + + + + Customer Return Shipment + + + + + + Supplier Return Shipment + + + + + + + + + + + + Supplier Return Shipment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cancel + Cancel + + + + + + + + + draft + Reset to Draft + + + + + + + + + receive + Receive + Are you sure you want to receive the shipment? + + + + + + + + + done + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cancel + Cancel + + + + + + + + + draft + Draft + + + + + + + + + wait + Wait + + + + + + + + + pick + Pick + + + + + + + + + pack + Pack + + + + + + + + + done + Done + Are you sure you want to complete the shipment? + + + + + + + + + assign_try + + + + + + + + + assign_force + + + + + + + + + assign_wizard + Assign + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cancel + Cancel + + + + + + + + + draft + Draft + + + + + + + + + wait + Wait + + + + + + + + + done + Done + + + + + + + + + assign_try + + + + + + + + + assign_force + + + + + + + + + assign_wizard + Assign + + + + + + + + + ship + Ship + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cancel + Cancel + + + + + + + + + draft + Draft + + + + + + + + + receive + Receive + Are you sure you want to receive the shipment? + + + + + + + + + done + Done + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cancel + Cancel + + + + + + + + + draft + Draft + + + + + + + + + wait + Wait + + + + + + + + + done + Done + Are you sure you want to complete the shipment? + + + + + + + + + assign_try + + + + + + + + + assign_force + + + + + + + + + assign_wizard + Assign + + + + + + + + + User in companies + + + + + + + + + + User in companies + + + + + + + + + + User in companies + + + + + + + + + + User in companies + + + + + + + + + + User in companies + + + + + + + + + + stock.shipment.assign.partial + form + shipment_assign_partial_form + + + + Assign Supplier Return Shipment + stock.shipment.assign + stock.shipment.in.return + + + Assign Customer Shipment + stock.shipment.assign + stock.shipment.out + + + Assign Internal Shipment + stock.shipment.assign + stock.shipment.internal + + + + diff --git a/modules/stock/stock.xml b/modules/stock/stock.xml new file mode 100644 index 0000000000..6fbe3d1729 --- /dev/null +++ b/modules/stock/stock.xml @@ -0,0 +1,77 @@ + + + + + + Stock + + + Stock Administration + + + + Stock Force Assignment + + + + + + + + + + + + + + + + + tryton-stock + icons/tryton-stock.svg + + + tryton-shipment-in + icons/tryton-shipment-in.svg + + + tryton-shipment-out + icons/tryton-shipment-out.svg + + + + + + + + + + + + + + + + + + diff --git a/modules/stock/stock_reporting_margin.py b/modules/stock/stock_reporting_margin.py new file mode 100644 index 0000000000..ce5aef73f4 --- /dev/null +++ b/modules/stock/stock_reporting_margin.py @@ -0,0 +1,636 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +from decimal import Decimal +from itertools import tee, zip_longest + +from sql import Null, Literal, With +from sql.aggregate import Sum, Min, Max +from sql.conditionals import Case, Coalesce +from sql.functions import CurrentTimestamp, DateTrunc, Power, Ceil, Log, Round + +try: + import pygal +except ImportError: + pygal = None +from dateutil.relativedelta import relativedelta + +from trytond.i18n import lazy_gettext +from trytond.model import ModelSQL, ModelView, fields +from trytond.pool import Pool +from trytond.pyson import Eval, If +from trytond.tools import grouped_slice, reduce_ids +from trytond.transaction import Transaction + + +def pairwise(iterable): + a, b = tee(iterable) + next(b) + return zip_longest(a, b) + + +class Abstract(ModelSQL, ModelView): + + company = fields.Many2One( + 'company.company', lazy_gettext('stock.msg_stock_reporting_company')) + cost = fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_cost'), + digits=(16, Eval('currency_digits', 2)), + depends=['currency_digits']) + revenue = fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_revenue'), + digits=(16, Eval('currency_digits', 2)), + depends=['currency_digits']) + profit = fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_profit'), + digits=(16, Eval('currency_digits', 2)), + depends=['currency_digits']) + margin = fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_margin'), + digits=(14, 4), + states={ + 'invisible': ~Eval('margin'), + }, + depends=['currency_digits']) + margin_trend = fields.Function(fields.Char( + lazy_gettext('stock.msg_stock_reporting_margin_trend')), + 'get_trend') + time_series = None + + currency = fields.Many2One('currency.currency', "Currency") + currency_digits = fields.Integer( + lazy_gettext('stock.msg_stock_reporting_currency_digits')) + + @classmethod + def table_query(cls): + from_item, tables, withs = cls._joins() + return from_item.select(*cls._columns(tables, withs), + where=cls._where(tables, withs), + group_by=cls._group_by(tables, withs), + with_=withs.values()) + + @classmethod + def _joins(cls): + pool = Pool() + Company = pool.get('company.company') + Currency = pool.get('currency.currency') + Move = pool.get('stock.move') + Location = pool.get('stock.location') + + tables = {} + tables['move'] = move = Move.__table__() + tables['move.company'] = company = Company.__table__() + tables['move.company.currency'] = currency = Currency.__table__() + tables['move.from_location'] = from_location = Location.__table__() + tables['move.to_location'] = to_location = Location.__table__() + withs = {} + withs['currency_rate'] = currency_rate = With( + query=Currency.currency_rate_sql()) + withs['currency_rate_company'] = currency_rate_company = With( + query=Currency.currency_rate_sql()) + + from_item = (move + .join(currency_rate, type_='LEFT', + condition=(move.currency == currency_rate.currency) + & (currency_rate.start_date <= move.effective_date) + & ((currency_rate.end_date == Null) + | (currency_rate.end_date > move.effective_date)) + ) + .join(company, + condition=move.company == company.id) + .join(currency, + condition=company.currency == currency.id) + .join(currency_rate_company, + condition=(company.currency == currency_rate_company.currency) + & (currency_rate_company.start_date <= move.effective_date) + & ((currency_rate_company.end_date == Null) + | (currency_rate_company.end_date > move.effective_date)) + ) + .join(from_location, + condition=(move.from_location == from_location.id)) + .join(to_location, + condition=(move.to_location == to_location.id))) + return from_item, tables, withs + + @classmethod + def _columns(cls, tables, withs): + move = tables['move'] + from_location = tables['move.from_location'] + to_location = tables['move.to_location'] + currency = tables['move.company.currency'] + + sign = Case( + (from_location.type.in_(cls._to_location_types()) + & to_location.type.in_(cls._from_location_types()), + -1), + else_=1) + cost = cls._column_cost(tables, withs, sign) + revenue = cls._column_revenue(tables, withs, sign) + profit = revenue - cost + margin = Case( + (revenue != 0, profit / revenue), + else_=Null) + return [ + cls._column_id(tables, withs).as_('id'), + Literal(0).as_('create_uid'), + CurrentTimestamp().as_('create_date'), + cls.write_uid.sql_cast(Literal(Null)).as_('write_uid'), + cls.write_date.sql_cast(Literal(Null)).as_('write_date'), + move.company.as_('company'), + cls.cost.sql_cast( + Round(cost, currency.digits)).as_('cost'), + cls.revenue.sql_cast( + Round(revenue, currency.digits)).as_('revenue'), + cls.profit.sql_cast( + Round(profit, currency.digits)).as_('profit'), + cls.margin.sql_cast( + Round(margin, cls.margin.digits[1])).as_('margin'), + currency.id.as_('currency'), + currency.digits.as_('currency_digits'), + ] + + @classmethod + def _column_id(cls, tables, withs): + move = tables['move'] + return Min(move.id) + + @classmethod + def _column_cost(cls, tables, withs, sign): + move = tables['move'] + return Sum( + sign * cls.cost.sql_cast(move.internal_quantity) + * Coalesce(move.cost_price, 0)) + + @classmethod + def _column_revenue(cls, tables, withs, sign): + move = tables['move'] + currency = withs['currency_rate'] + currency_company = withs['currency_rate_company'] + return Sum( + sign * cls.revenue.sql_cast(move.quantity) + * Coalesce(move.unit_price, 0) + * Coalesce(currency_company.rate / currency.rate, 0)) + + @classmethod + def _group_by(cls, tables, withs): + move = tables['move'] + currency = tables['move.company.currency'] + return [move.company, currency.id, currency.digits] + + @classmethod + def _where(cls, tables, withs): + context = Transaction().context + move = tables['move'] + from_location = tables['move.from_location'] + to_location = tables['move.to_location'] + + where = move.company == context.get('company') + where &= (( + from_location.type.in_(cls._from_location_types()) + & to_location.type.in_(cls._to_location_types())) + | ( + from_location.type.in_(cls._to_location_types()) + & to_location.type.in_(cls._from_location_types()))) + where &= move.state == 'done' + from_date = context.get('from_date') + if from_date: + where &= move.effective_date >= from_date + to_date = context.get('to_date') + if to_date: + where &= move.effective_date <= to_date + return where + + @classmethod + def _from_location_types(cls): + return ['storage', 'drop'] + + @classmethod + def _to_location_types(cls): + types = ['customer'] + if Transaction().context.get('include_lost'): + types += ['lost_found'] + return types + + @property + def time_series_all(self): + delta = self._period_delta() + for ts, next_ts in pairwise(self.time_series or []): + yield ts + if delta and next_ts: + date = ts.date + delta + while date < next_ts.date: + yield None + date += delta + + @classmethod + def _period_delta(cls): + context = Transaction().context + return { + 'year': relativedelta(years=1), + 'month': relativedelta(months=1), + 'day': relativedelta(days=1), + }.get(context.get('period')) + + def get_trend(self, name): + name = name[:-len('_trend')] + if pygal: + chart = pygal.Line() + chart.add('', [getattr(ts, name) or 0 if ts else 0 + for ts in self.time_series_all]) + return chart.render_sparktext() + + @classmethod + def view_attributes(cls): + return super().view_attributes() + [ + ('/tree/field[@name="profit"]', 'visual', + If(Eval('profit', 0) < 0, 'danger', '')), + ('/tree/field[@name="margin"]', 'visual', + If(Eval('margin', 0) < 0, 'danger', '')), + ] + + +class AbstractTimeseries(Abstract): + + date = fields.Date("Date") + + @classmethod + def __setup__(cls): + super().__setup__() + cls._order = [('date', 'ASC')] + + @classmethod + def _columns(cls, tables, withs): + return super()._columns(tables, withs) + [ + cls._column_date(tables, withs).as_('date')] + + @classmethod + def _column_date(cls, tables, withs): + context = Transaction().context + move = tables['move'] + date = DateTrunc(context.get('period'), move.effective_date) + date = cls.date.sql_cast(date) + return date + + @classmethod + def _group_by(cls, tables, withs): + return super()._group_by(tables, withs) + [ + cls._column_date(tables, withs)] + + +class Context(ModelView): + "Stock Reporting Margin Context" + __name__ = 'stock.reporting.margin.context' + + company = fields.Many2One('company.company', "Company", required=True) + from_date = fields.Date("From Date", + domain=[ + If(Eval('to_date') & Eval('from_date'), + ('from_date', '<=', Eval('to_date')), + ()), + ], + depends=['to_date']) + to_date = fields.Date("To Date", + domain=[ + If(Eval('from_date') & Eval('to_date'), + ('to_date', '>=', Eval('from_date')), + ()), + ], + depends=['from_date']) + period = fields.Selection([ + ('year', "Year"), + ('month', "Month"), + ('day', "Day"), + ], "Period", required=True) + include_lost = fields.Boolean( + "Include Lost", + help="If checked, the cost of product moved " + "to a lost and found location is included.") + + @classmethod + def default_company(cls): + return Transaction().context.get('company') + + @classmethod + def default_from_date(cls): + pool = Pool() + Date = pool.get('ir.date') + context = Transaction().context + if 'from_date' in context: + return context['from_date'] + return Date.today() - relativedelta(years=1) + + @classmethod + def default_to_date(cls): + pool = Pool() + Date = pool.get('ir.date') + context = Transaction().context + if 'to_date' in context: + return context['to_date'] + return Date.today() + + @classmethod + def default_period(cls): + return Transaction().context.get('period', 'month') + + @classmethod + def default_include_lost(cls): + return Transaction().context.get('include_lost', False) + + +class ProductMixin: + __slots__ = () + + product = fields.Many2One( + 'product.product', "Product", + context={ + 'company': Eval('company', -1), + }, + depends=['company']) + internal_quantity = fields.Float("Internal Quantity") + quantity = fields.Function(fields.Float( + "Quantity", digits=(16, Eval('unit_digits', 2)), + depends=['unit_digits']), 'get_quantity') + unit = fields.Function(fields.Many2One('product.uom', "Unit"), 'get_unit') + unit_digits = fields.Function( + fields.Integer("Unit Digits"), 'get_unit_digits') + + @classmethod + def _columns(cls, tables, withs): + move = tables['move'] + from_location = tables['move.from_location'] + to_location = tables['move.to_location'] + sign = Case( + (from_location.type.in_(cls._to_location_types()) + & to_location.type.in_(cls._from_location_types()), + -1), + else_=1) + return super()._columns(tables, withs) + [ + move.product.as_('product'), + Sum(sign * move.internal_quantity).as_('internal_quantity'), + ] + + @classmethod + def _group_by(cls, tables, withs): + move = tables['move'] + return super()._group_by(tables, withs) + [move.product] + + def get_rec_name(self, name): + return self.product.rec_name + + def get_quantity(self, name): + return self.unit.round(self.internal_quantity) + + def get_unit(self, name): + return self.product.default_uom.id + + def get_unit_digits(self, name): + return self.product.default_uom.digits + + +class Product(ProductMixin, Abstract, ModelView): + "Stock Reporting Margin per Product" + __name__ = 'stock.reporting.margin.product' + + time_series = fields.One2Many( + 'stock.reporting.margin.product.time_series', 'product', "Time Series") + + @classmethod + def __setup__(cls): + super().__setup__() + cls._order.insert(0, ('product', 'ASC')) + + @classmethod + def _column_id(cls, tables, withs): + move = tables['move'] + return move.product + + +class ProductTimeseries(ProductMixin, AbstractTimeseries, ModelView): + "Stock Reporting Margin per Product" + __name__ = 'stock.reporting.margin.product.time_series' + + +class CategoryMixin: + __slots__ = () + + category = fields.Many2One('product.category', "Category") + + @classmethod + def _joins(cls): + pool = Pool() + Product = pool.get('product.product') + TemplateCategory = pool.get('product.template-product.category.all') + from_item, tables, withs = super()._joins() + if 'move.product' not in tables: + product = Product.__table__() + tables['move.product'] = product + move = tables['move'] + from_item = (from_item + .join(product, condition=move.product == product.id)) + if 'move.product.template_category' not in tables: + template_category = TemplateCategory.__table__() + tables['move.product.template_category'] = template_category + product = tables['move.product'] + from_item = (from_item + .join(template_category, + condition=product.template == template_category.template)) + return from_item, tables, withs + + @classmethod + def _columns(cls, tables, withs): + template_category = tables['move.product.template_category'] + return super()._columns(tables, withs) + [ + template_category.category.as_('category')] + + @classmethod + def _column_id(cls, tables, withs): + pool = Pool() + Category = pool.get('product.category') + category = Category.__table__() + move = tables['move'] + template_category = tables['move.product.template_category'] + # Get a stable number of category over time + # by using number one order bigger. + nb_category = category.select( + Power(10, (Ceil(Log(Max(category.id))) + Literal(1)))) + return Min(move.id * nb_category + template_category.id) + + @classmethod + def _group_by(cls, tables, withs): + template_category = tables['move.product.template_category'] + return super()._group_by(tables, withs) + [template_category.category] + + @classmethod + def _where(cls, tables, withs): + template_category = tables['move.product.template_category'] + where = super()._where(tables, withs) + where &= template_category.category != Null + return where + + def get_rec_name(self, name): + return self.category.rec_name if self.category else None + + +class Category(CategoryMixin, Abstract, ModelView): + "Stock Reporting Margin per Category" + __name__ = 'stock.reporting.margin.category' + + time_series = fields.One2Many( + 'stock.reporting.margin.category.time_series', 'category', + "Time Series") + + @classmethod + def __setup__(cls): + super().__setup__() + cls._order.insert(0, ('category', 'ASC')) + + @classmethod + def _column_id(cls, tables, withs): + template_category = tables['move.product.template_category'] + return template_category.category + + +class CategoryTimeseries(CategoryMixin, AbstractTimeseries, ModelView): + "Stock Reporting Margin per Category" + __name__ = 'stock.reporting.margin.category.time_series' + + +class CategoryTree(ModelSQL, ModelView): + "Stock Reporting Margin per Category" + __name__ = 'stock.reporting.margin.category.tree' + + name = fields.Function(fields.Char("Name"), 'get_name') + parent = fields.Many2One('stock.reporting.margin.category.tree', "Parent") + children = fields.One2Many( + 'stock.reporting.margin.category.tree', 'parent', "Children") + cost = fields.Function(fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_cost'), + digits=(16, Eval('currency_digits', 2)), + depends=['currency_digits']), 'get_total') + revenue = fields.Function(fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_revenue'), + digits=(16, Eval('currency_digits', 2)), + depends=['currency_digits']), 'get_total') + profit = fields.Function(fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_profit'), + digits=(16, Eval('currency_digits', 2)), + depends=['currency_digits']), 'get_total') + margin = fields.Function(fields.Numeric( + lazy_gettext('stock.msg_stock_reporting_margin'), + digits=(14, 4), + depends=['currency_digits']), + 'get_margin') + + currency_digits = fields.Function(fields.Integer( + lazy_gettext('stock.msg_stock_reporting_currency_digits')), + 'get_currency_digits') + + @classmethod + def __setup__(cls): + super().__setup__() + cls._order.insert(0, ('name', 'ASC')) + + @classmethod + def table_query(cls): + pool = Pool() + Category = pool.get('product.category') + return Category.__table__() + + @classmethod + def get_name(cls, categories, name): + pool = Pool() + Category = pool.get('product.category') + categories = Category.browse(categories) + return {c.id: c.name for c in categories} + + @classmethod + def order_name(cls, tables): + pool = Pool() + Category = pool.get('product.category') + table, _ = tables[None] + if 'category' not in tables: + category = Category.__table__() + tables['category'] = { + None: (category, table.id == category.id), + } + return Category.name.convert_order( + 'name', tables['category'], Category) + + def time_series_all(self): + return [] + + @classmethod + def get_total(cls, categories, names): + pool = Pool() + ReportingCategory = pool.get('stock.reporting.margin.category') + table = cls.__table__() + reporting_category = ReportingCategory.__table__() + cursor = Transaction().connection.cursor() + + categories = cls.search([ + ('parent', 'child_of', [c.id for c in categories]), + ]) + ids = [c.id for c in categories] + parents = {} + reporting_categories = [] + for sub_ids in grouped_slice(ids): + sub_ids = list(sub_ids) + where = reduce_ids(table.id, sub_ids) + cursor.execute(*table.select(table.id, table.parent, where=where)) + parents.update(cursor) + + where = reduce_ids(reporting_category.id, sub_ids) + cursor.execute( + *reporting_category.select(reporting_category.id, where=where)) + reporting_categories.extend(r for r, in cursor) + + result = {} + reporting_categories = ReportingCategory.browse(reporting_categories) + for name in names: + values = dict.fromkeys(ids, 0) + values.update( + (c.id, getattr(c, name)) for c in reporting_categories) + result[name] = cls._sum_tree(categories, values, parents) + return result + + @classmethod + def _sum_tree(cls, categories, values, parents): + result = values.copy() + categories = set((c.id for c in categories)) + leafs = categories - set(parents.values()) + while leafs: + for category in leafs: + categories.remove(category) + parent = parents.get(category) + if parent in result: + result[parent] += result[category] + next_leafs = set(categories) + for category in categories: + parent = parents.get(category) + if not parent: + continue + if parent in next_leafs and parent in categories: + next_leafs.remove(parent) + leafs = next_leafs + return result + + def get_margin(self, name): + digits = self.__class__.margin.digits + if self.profit is not None and self.revenue: + return (self.profit / self.revenue).quantize( + Decimal(1) / 10 ** digits[1]) + + def get_currency_digits(self, name): + pool = Pool() + Company = pool.get('company.company') + company = Transaction().context.get('company') + if company: + return Company(company).currency.digits + + @classmethod + def view_attributes(cls): + return super().view_attributes() + [ + ('/tree/field[@name="profit"]', 'visual', + If(Eval('profit', 0) < 0, 'danger', '')), + ('/tree/field[@name="margin"]', 'visual', + If(Eval('margin', 0) < 0, 'danger', '')), + ] diff --git a/modules/stock/stock_reporting_margin.xml b/modules/stock/stock_reporting_margin.xml new file mode 100644 index 0000000000..41ea402889 --- /dev/null +++ b/modules/stock/stock_reporting_margin.xml @@ -0,0 +1,413 @@ + + + + + + + + + + + + stock.reporting.margin.context + form + reporting_margin_context_form + + + + + + stock.reporting.margin.product + tree + reporting_margin_product_list + + + + stock.reporting.margin.product + graph + reporting_margin_product_graph_margin + + + + stock.reporting.margin.product + graph + reporting_margin_product_graph_profit + + + + stock.reporting.margin.product + graph + reporting_margin_product_graph_amount + + + + Margins per Product + stock.reporting.margin.product + stock.reporting.margin.context + + + + + + + + + + + + + + + + + + + + + + + tree_open + + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + + stock.reporting.margin.product.time_series + tree + reporting_margin_product_time_series_list + + + + stock.reporting.margin.product.time_series + graph + reporting_margin_product_time_series_graph_margin + + + + stock.reporting.margin.product.time_series + graph + reporting_margin_product_time_series_graph_profit + + + + stock.reporting.margin.product.time_series + graph + reporting_margin_product_time_series_graph_amount + + + + Margins per Product + stock.reporting.margin.product.time_series + stock.reporting.margin.context + + + + + + + + + + + + + + + + + + + + + + + + + tree_open + stock.reporting.margin.product,-1 + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + + + + stock.reporting.margin.category.tree + tree + children + reporting_margin_category_tree + + + + Margins per Category + stock.reporting.margin.category.tree + stock.reporting.margin.context + + + + + + + + + tree_open + + + + + + + + + + + + + + + + + + + + + + stock.reporting.margin.category + tree + reporting_margin_category_list + + + + stock.reporting.margin.category + graph + reporting_margin_category_graph_margin + + + + stock.reporting.margin.category + graph + reporting_margin_category_graph_profit + + + + stock.reporting.margin.category + graph + reporting_margin_category_graph_amount + + + + Margins per Category + stock.reporting.margin.category + stock.reporting.margin.context + + + + + + + + + + + + + + + + + + + + + + + + tree_open + stock.reporting.margin.category.tree,-1 + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + + stock.reporting.margin.category.time_series + tree + reporting_margin_category_time_series_list + + + + stock.reporting.margin.category.time_series + graph + reporting_margin_category_time_series_graph_margin + + + + stock.reporting.margin.category.time_series + graph + reporting_margin_category_time_series_graph_profit + + + + stock.reporting.margin.category.time_series + graph + reporting_margin_category_time_series_graph_amount + + + + Margins per Category + stock.reporting.margin.category.time_series + stock.reporting.margin.context + + + + + + + + + + + + + + + + + + + + + + + + + tree_open + stock.reporting.margin.category,-1 + + + + + User in companies + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/stock/supplier_restocking_list.fodt b/modules/stock/supplier_restocking_list.fodt new file mode 100644 index 0000000000..1fdcebaf24 --- /dev/null +++ b/modules/stock/supplier_restocking_list.fodt @@ -0,0 +1,482 @@ + + + + LibreOffice/5.2.7.2$Linux_X86_64 LibreOffice_project/20m0$Build-2Bertrand Chenal2009-03-26T13:54:482016-03-21T16:06:02.54015281351PT6H57M42S + + + 0 + 0 + 43760 + 21691 + true + false + + + view2 + 2630 + 5313 + 0 + 0 + 43759 + 21689 + 0 + 0 + false + 100 + false + + + + + false + true + true + true + 0 + true + true + + false + false + false + false + false + false + false + false + false + false + false + false + false + true + false + true + true + false + false + false + false + + false + false + true + false + false + + false + false + false + false + true + 1829759 + false + true + true + false + true + true + false + true + 0 + false + true + high-resolution + false + false + false + true + true + true + + true + false + false + true + false + false + false + + false + false + 1289861 + false + 1 + true + false + false + 0 + false + false + + + false + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <if test="company and company.header"> + <for each="line in company.header.split('\n')"> + <line> + </for> + </if> + <company.rec_name if company else ''> + + + <if test="company and company.footer"> + <for each="line in company.footer.split('\n')"> + <line> + </for> + </if> + 2/2 + + + + + + + + + + + + + <for each="shipment in records"> + Restocking List + Shipment Number: <shipment.number> + Reference: <shipment.origins or ''><', ' if (shipment.origins and shipment.reference) else ''><shipment.reference or ''> + Supplier: <shipment.supplier.rec_name> + Planned Date: <shipment.planned_date and format_date(shipment.planned_date, user.language) or ''> + Warehouse: <shipment.warehouse.rec_name> + + + + + + + + From Location + + + To Location + + + Product + + + Quantity + + + + + + <for each="move in moves[shipment.id]"> + + + + + + + + + + + + <move.from_location.rec_name> + + + <move.to_location.rec_name> + + + <move.product.rec_name> + + + <format_number(move.quantity, user.language, digits=move.unit_digits)> <move.uom.symbol> + + + + + </for> + + + + + + + + + + + </for> + + + \ No newline at end of file diff --git a/modules/stock/tests/__init__.py b/modules/stock/tests/__init__.py new file mode 100644 index 0000000000..d56e7dfee3 --- /dev/null +++ b/modules/stock/tests/__init__.py @@ -0,0 +1,9 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. + +try: + from trytond.modules.stock.tests.test_stock import suite +except ImportError: + from .test_stock import suite + +__all__ = ['suite'] diff --git a/modules/stock/tests/scenario_stock_average_cost_price.rst b/modules/stock/tests/scenario_stock_average_cost_price.rst new file mode 100644 index 0000000000..bc922ae8a2 --- /dev/null +++ b/modules/stock/tests/scenario_stock_average_cost_price.rst @@ -0,0 +1,255 @@ +======================== +Stock Average Cost Price +======================== + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('300') + >>> template.cost_price_method = 'average' + >>> product, = template.products + >>> product.cost_price = Decimal('80') + >>> template.save() + >>> product, = template.products + + >>> template = ProductTemplate() + >>> template.name = 'Negative Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('28') + >>> template.cost_price_method = 'average' + >>> negative_product, = template.products + >>> negative_product.cost_price = Decimal('5.0000') + >>> template.save() + >>> negative_product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> storage_sub_loc = Location( + ... name="Storage Sub", type='storage', parent=storage_loc) + >>> storage_sub_loc.save() + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + +Make 1 unit of the product available @ 100 :: + + >>> StockMove = Model.get('stock.move') + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_sub_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('100') + >>> incoming_move.currency = company.currency + >>> incoming_move.click('do') + +Check Cost Price is 100:: + + >>> product.reload() + >>> product.cost_price + Decimal('100.0000') + +Add 1 more unit @ 200:: + + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('200') + >>> incoming_move.currency = company.currency + >>> incoming_move.click('do') + +Check Cost Price Average is 150:: + + >>> product.reload() + >>> product.cost_price + Decimal('150.0000') + +Add twice 1 more unit @ 200:: + + >>> incoming_moves = [] + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('200') + >>> incoming_move.currency = company.currency + >>> incoming_move.save() + >>> incoming_moves.append(incoming_move) + + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('200') + >>> incoming_move.currency = company.currency + >>> incoming_move.save() + >>> incoming_moves.append(incoming_move) + + >>> StockMove.click(incoming_moves, 'do') + +Check Cost Price Average is 175:: + + >>> product.reload() + >>> product.cost_price + Decimal('175.0000') + +Reduce Cost Price by 80%, to force to write recomputed price later:: + + >>> modify_cost_price = Wizard('product.modify_cost_price', [product]) + >>> modify_cost_price.form.cost_price = 'cost_price * 0.8' + >>> modify_cost_price.form.date = today + datetime.timedelta(days=1) + >>> modify_cost_price.execute('modify') + >>> product.cost_price + Decimal('140.0000') + +Increase Cost Price by 10% using Template wizard:: + + >>> modify_cost_price = Wizard( + ... 'product.modify_cost_price', [product.template]) + >>> modify_cost_price.form.cost_price = 'cost_price * 1.1' + >>> modify_cost_price.form.date = today + datetime.timedelta(days=1) + >>> modify_cost_price.execute('modify') + >>> product.reload() + >>> product.cost_price + Decimal('154.0000') + +Send one product we don't have in stock:: + + >>> outgoing_move = StockMove() + >>> outgoing_move.product = negative_product + >>> outgoing_move.uom = unit + >>> outgoing_move.quantity = 1 + >>> outgoing_move.unit_price = Decimal('28') + >>> outgoing_move.from_location = storage_loc + >>> outgoing_move.to_location = customer_loc + >>> outgoing_move.planned_date = today + >>> outgoing_move.effective_date = today + >>> outgoing_move.company = company + >>> outgoing_move.currency = company.currency + >>> outgoing_move.click('do') + +Cost price should stay 5:: + + >>> negative_product.cost_price + Decimal('5.0000') + +Return one product to the supplier:: + + >>> outgoing_move = StockMove() + >>> outgoing_move.product = negative_product + >>> outgoing_move.uom = unit + >>> outgoing_move.quantity = 1 + >>> outgoing_move.unit_price = Decimal('28') + >>> outgoing_move.from_location = storage_loc + >>> outgoing_move.to_location = supplier_loc + >>> outgoing_move.planned_date = today + >>> outgoing_move.effective_date = today + >>> outgoing_move.company = company + >>> outgoing_move.currency = company.currency + >>> outgoing_move.click('do') + +Cost price should stay 5:: + + >>> negative_product.cost_price + Decimal('5.0000') + +Receive one unit of the product with negative stock so the stock stays negative:: + + >>> incoming_move = StockMove() + >>> incoming_move.product = negative_product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> outgoing_move.unit_price = Decimal('28') + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('3') + >>> incoming_move.currency = company.currency + >>> incoming_move.click('do') + +Cost price should be set to last unit price:: + + >>> negative_product.reload() + >>> negative_product.cost_price + Decimal('3.0000') + +Receive two units of the product so the stock becomes positive:: + + >>> incoming_move = StockMove() + >>> incoming_move.product = negative_product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 2 + >>> outgoing_move.unit_price = Decimal('28') + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('2') + >>> incoming_move.currency = company.currency + >>> incoming_move.click('do') + +Cost price should be set to last unit price:: + + >>> negative_product.reload() + >>> negative_product.cost_price + Decimal('2.0000') + +Recompute Cost Price:: + + >>> recompute = Wizard('product.recompute_cost_price', [negative_product]) + >>> recompute.execute('recompute') + >>> negative_product.cost_price + Decimal('2.0000') diff --git a/modules/stock/tests/scenario_stock_inventory.rst b/modules/stock/tests/scenario_stock_inventory.rst new file mode 100644 index 0000000000..403394ebe1 --- /dev/null +++ b/modules/stock/tests/scenario_stock_inventory.rst @@ -0,0 +1,247 @@ +======================== +Stock Inventory Scenario +======================== + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> lost_found_loc, = Location.find([('type', '=', 'lost_found')]) + +Create products:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('300') + >>> template.cost_price_method = 'average' + >>> product, = template.products + >>> product.cost_price = Decimal('80') + >>> template.save() + >>> product, = template.products + + >>> kg, = ProductUom.find([('name', '=', 'Kilogram')]) + >>> template2 = ProductTemplate() + >>> template2.name = 'Product' + >>> template2.default_uom = kg + >>> template2.type = 'goods' + >>> template2.list_price = Decimal('140') + >>> template2.cost_price_method = 'average' + >>> product2, = template2.products + >>> product2.cost_price = Decimal('60') + >>> template2.save() + >>> product2, = template2.products + + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.consumable = True + >>> template.list_price = Decimal('300') + >>> template.cost_price_method = 'average' + >>> consumable, = template.products + >>> consumable.cost_price = Decimal('80') + >>> template.save() + >>> consumable, = template.products + +Fill storage:: + + >>> StockMove = Model.get('stock.move') + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('100') + >>> incoming_move.currency = company.currency + >>> incoming_moves = [incoming_move] + + >>> incoming_move = StockMove() + >>> incoming_move.product = product2 + >>> incoming_move.uom = kg + >>> incoming_move.quantity = 2.5 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('70') + >>> incoming_move.currency = company.currency + >>> incoming_moves.append(incoming_move) + >>> StockMove.click(incoming_moves, 'do') + +Create an inventory:: + + >>> Inventory = Model.get('stock.inventory') + >>> inventory = Inventory() + >>> inventory.location = storage_loc + >>> inventory.empty_quantity = 'keep' + >>> inventory.save() + >>> inventory.click('complete_lines') + >>> line_by_product = {l.product.id: l for l in inventory.lines} + >>> line_p1 = line_by_product[product.id] + >>> line_p1.expected_quantity + 1.0 + >>> line_p1.quantity = 3 + >>> line_p2 = line_by_product[product2.id] + >>> line_p2.expected_quantity + 2.5 + >>> inventory.save() + +Fill storage with more quantities:: + + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('100') + >>> incoming_move.currency = company.currency + >>> incoming_moves = [incoming_move] + + >>> incoming_move = StockMove() + >>> incoming_move.product = product2 + >>> incoming_move.uom = kg + >>> incoming_move.quantity = 1.3 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('70') + >>> incoming_move.currency = company.currency + >>> incoming_moves.append(incoming_move) + >>> StockMove.click(incoming_moves, 'do') + +Update the inventory:: + + >>> inventory.click('complete_lines') + >>> line_p1.reload() + >>> line_p1.expected_quantity + 2.0 + >>> line_p1.quantity + 3.0 + >>> line_p2.reload() + >>> line_p2.expected_quantity + 3.8 + >>> line_p2.quantity = 3.8 + >>> line_p2.save() + +Confirm the inventory:: + + >>> inventory.click('confirm') + >>> line_p1.reload() + >>> line_p1.expected_quantity + 2.0 + >>> move, = line_p1.moves + >>> move.quantity + 1.0 + >>> move.from_location == lost_found_loc + True + >>> move.to_location == inventory.location + True + >>> line_p2.reload() + >>> len(line_p2.moves) + 0 + +Creating an inventory with empty quantities:: + + >>> inventory = Inventory() + >>> inventory.location = storage_loc + >>> inventory.empty_quantity = 'keep' + >>> line = inventory.lines.new() + >>> line.product = product + >>> inventory.click('confirm') + >>> line, = inventory.lines + >>> len(line.moves) + 0 + +Empty storage:: + + >>> Inventory = Model.get('stock.inventory') + >>> inventory = Inventory() + >>> inventory.location = storage_loc + >>> inventory.empty_quantity = 'keep' + >>> line = inventory.lines.new() + >>> line.product = product + >>> line.quantity = 0 + >>> line = inventory.lines.new() + >>> line.product = product2 + >>> line.quantity = 0 + >>> inventory.save() + >>> line_p1, line_p2 = inventory.lines + >>> line_p1.quantity + 0.0 + >>> line_p1.expected_quantity + 3.0 + >>> line_p2.quantity + 0.0 + >>> line_p2.expected_quantity + 3.8 + >>> inventory.click('confirm') + +Add quantity of consumable product:: + + >>> inventory = Inventory() + >>> inventory.location = storage_loc + >>> inventory.empty_quantity = 'keep' + >>> line = inventory.lines.new() + >>> line.product = consumable + >>> line.quantity = 5.0 + >>> inventory.click('complete_lines') + >>> len(inventory.lines) + 1 + >>> inventory.click('confirm') + >>> line, = inventory.lines + >>> move, = line.moves + >>> move.quantity + 5.0 + >>> move.from_location == lost_found_loc + True + >>> move.to_location == inventory.location + True + +Create an inventory that should be empty after completion:: + + >>> Inventory = Model.get('stock.inventory') + >>> inventory = Inventory() + >>> inventory.location = storage_loc + >>> inventory.empty_quantity = 'keep' + >>> inventory.click('complete_lines') + >>> len(inventory.lines) + 0 diff --git a/modules/stock/tests/scenario_stock_inventory_count.rst b/modules/stock/tests/scenario_stock_inventory_count.rst new file mode 100644 index 0000000000..feb5dce6c2 --- /dev/null +++ b/modules/stock/tests/scenario_stock_inventory_count.rst @@ -0,0 +1,120 @@ +============================== +Stock Inventory Count Scenario +============================== + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + +Create products:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('300') + >>> template.cost_price_method = 'average' + >>> product, = template.products + >>> product.cost_price = Decimal('80') + >>> template.save() + >>> product, = template.products + + >>> kg, = ProductUom.find([('name', '=', 'Kilogram')]) + >>> template2 = ProductTemplate() + >>> template2.name = 'Product' + >>> template2.default_uom = kg + >>> template2.type = 'goods' + >>> template2.list_price = Decimal('140') + >>> template2.cost_price_method = 'average' + >>> product2, = template2.products + >>> product2.cost_price = Decimal('60') + >>> template2.save() + >>> product2, = template2.products + +Create an inventory:: + + >>> Inventory = Model.get('stock.inventory') + >>> inventory = Inventory() + >>> inventory.location = storage_loc + >>> inventory.empty_quantity = 'keep' + >>> inventory.save() + +Count inventory:: + + >>> _ = inventory.click('count') + >>> count = Wizard('stock.inventory.count', [inventory]) + + >>> count.form.search = product + + >>> count.execute('quantity') # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + ... + InventoryCountWarning: ... + + >>> Model.get('res.user.warning')(user=config.user, + ... name='stock.inventory,%s.product.product,%s.count_create' % ( + ... inventory.id, product.id)).save() + >>> count.execute('quantity') + >>> count.form.quantity + 1 + >>> count.form.total_quantity + 1 + >>> count.execute('add') + + >>> count.form.search = product + >>> count.execute('quantity') + >>> count.form.total_quantity + 2.0 + >>> count.execute('add') + + >>> count.form.search = product2 + >>> Model.get('res.user.warning')(user=config.user, + ... name='stock.inventory,%s.product.product,%s.count_create' % ( + ... inventory.id, product2.id)).save() + >>> count.execute('quantity') + >>> count.form.quantity + >>> count.form.total_quantity + >>> count.form.quantity = 10 + >>> count.form.total_quantity + 10.0 + >>> count.execute('add') + + >>> count.execute('end') + +Check inventory:: + + >>> len(inventory.lines) + 2 + >>> line1, = [l for l in inventory.lines if l.product == product] + >>> line1.quantity + 2.0 + >>> line2, = [l for l in inventory.lines if l.product == product2] + >>> line2.quantity + 10.0 diff --git a/modules/stock/tests/scenario_stock_inventory_empty_quantity.rst b/modules/stock/tests/scenario_stock_inventory_empty_quantity.rst new file mode 100644 index 0000000000..d06f986778 --- /dev/null +++ b/modules/stock/tests/scenario_stock_inventory_empty_quantity.rst @@ -0,0 +1,88 @@ +======================================= +Stock Inventory Scenario Empty Quantity +======================================= + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> lost_found_loc, = Location.find([('type', '=', 'lost_found')]) + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('300') + >>> template.cost_price_method = 'average' + >>> product, = template.products + >>> product.cost_price = Decimal('80') + >>> template.save() + >>> product, = template.products + +Fill storage:: + + >>> StockMove = Model.get('stock.move') + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('100') + >>> incoming_move.currency = company.currency + >>> incoming_move.click('do') + +Creating an inventory with empty quantities creates and empty move:: + + >>> Inventory = Model.get('stock.inventory') + >>> inventory = Inventory() + >>> inventory.location = storage_loc + >>> inventory.empty_quantity = 'empty' + >>> inventory.save() + >>> inventory.click('complete_lines') + >>> line, = inventory.lines + >>> line.expected_quantity + 1.0 + >>> line.quantity + >>> inventory.click('confirm') + >>> line.reload() + >>> line.expected_quantity + 1.0 + >>> move, = line.moves + >>> move.quantity + 1.0 + >>> move.from_location == inventory.location + True + >>> move.to_location == lost_found_loc + True diff --git a/modules/stock/tests/scenario_stock_move_in_future.rst b/modules/stock/tests/scenario_stock_move_in_future.rst new file mode 100644 index 0000000000..a1ebb70265 --- /dev/null +++ b/modules/stock/tests/scenario_stock_move_in_future.rst @@ -0,0 +1,71 @@ +============================= +Stock Move In Future Scenario +============================= + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import ( + ... create_company, get_company) + >>> today = datetime.date.today() + >>> tomorrow = today + relativedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + >>> product.cost_price = Decimal('1') + >>> product.save() + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + +A warning is raised when doing a move in the future:: + + >>> Move = Model.get('stock.move') + >>> move = Move() + >>> move.product = product + >>> move.quantity = 1 + >>> move.from_location = supplier_loc + >>> move.to_location = storage_loc + >>> move.currency = company.currency + >>> move.effective_date = tomorrow + >>> move.quantity = 2 + >>> move.unit_price = Decimal('1') + >>> move.save() + >>> move.click('do') # doctest: +IGNORE_EXCEPTION_DETAIL + Traceback (most recent call last): + ... + MoveFutureWarning: ... + +But it can be done for today:: + + >>> move.effective_date = today + >>> move.click('do') + >>> move.state + 'done' diff --git a/modules/stock/tests/scenario_stock_product_quantities_by_warehouse.rst b/modules/stock/tests/scenario_stock_product_quantities_by_warehouse.rst new file mode 100644 index 0000000000..c43c3d548a --- /dev/null +++ b/modules/stock/tests/scenario_stock_product_quantities_by_warehouse.rst @@ -0,0 +1,130 @@ +===================================== +Stock Product Quantities by Warehouse +===================================== + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard, Report + >>> from trytond import backend + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + >>> yesterday = today - relativedelta(days=1) + >>> tomorrow = today + relativedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> warehouse_loc, = Location.find([('code', '=', 'WH')]) + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + +Fill warehouse:: + + >>> Move = Model.get('stock.move') + >>> move = Move() + >>> move.product = product + >>> move.from_location = supplier_loc + >>> move.to_location = storage_loc + >>> move.uom = unit + >>> move.quantity = 10 + >>> move.effective_date = yesterday + >>> move.unit_price = Decimal('10') + >>> move.click('do') + +Forecast some moves:: + + >>> move = Move() + >>> move.product = product + >>> move.from_location = storage_loc + >>> move.to_location = customer_loc + >>> move.uom = unit + >>> move.quantity = 6 + >>> move.planned_date = tomorrow + >>> move.unit_price = Decimal('20') + >>> move.save() + + >>> move = Move() + >>> move.product = product + >>> move.from_location = supplier_loc + >>> move.to_location = storage_loc + >>> move.uom = unit + >>> move.quantity = 5 + >>> move.planned_date = tomorrow + >>> move.unit_price = Decimal('10') + >>> move.save() + + >>> move = Move() + >>> move.product = product + >>> move.from_location = storage_loc + >>> move.to_location = customer_loc + >>> move.uom = unit + >>> move.quantity = 3 + >>> move.planned_date = tomorrow + >>> move.unit_price = Decimal('20') + >>> move.save() + + +Check Product Quantities by Warehouse:: + + >>> ProductQuantitiesByWarehouse = Model.get('stock.product_quantities_warehouse') + >>> with config.set_context( + ... product_template=template.id, warehouse=warehouse_loc.id): + ... records = ProductQuantitiesByWarehouse.find([]) + >>> len(records) + 3 + >>> [(r.date, r.quantity) for r in records] == [ + ... (yesterday, 10), (today, 10), (tomorrow, 6)] + True + +Check Product Quantities by Warehouse Moves:: + + >>> ProductQuantitiesByWarehouseMove = Model.get( + ... 'stock.product_quantities_warehouse.move') + >>> with config.set_context( + ... product_template=template.id, warehouse=warehouse_loc.id): + ... records = ProductQuantitiesByWarehouseMove.find([]) + >>> len(records) + 4 + >>> if backend.name != 'sqlite': + ... [(r.date, r.cumulative_quantity_start, r.quantity, r.cumulative_quantity_end) + ... for r in records] == [ + ... (yesterday, 0, 10, 10), + ... (tomorrow, 10, -6, 4), + ... (tomorrow, 4, 5, 9), + ... (tomorrow, 9, -3, 6)] + ... else: + ... [(r.date, r.cumulative_quantity_start, r.quantity, r.cumulative_quantity_end) + ... for r in records] == [ + ... (yesterday, 0, 10, 0), + ... (tomorrow, 10, -6, 10), + ... (tomorrow, 10, 5, 10), + ... (tomorrow, 10, -3, 10)] + True diff --git a/modules/stock/tests/scenario_stock_recompute_average_cost_price.rst b/modules/stock/tests/scenario_stock_recompute_average_cost_price.rst new file mode 100644 index 0000000000..fb8e3468f1 --- /dev/null +++ b/modules/stock/tests/scenario_stock_recompute_average_cost_price.rst @@ -0,0 +1,160 @@ +================================== +Stock Recompute Average Cost Price +================================== + +Imports:: + + >>> import datetime as dt + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = dt.date.today() + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('300') + >>> template.cost_price_method = 'average' + >>> product, = template.products + >>> product.cost_price = Decimal('80') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + +Create some moves:: + + >>> StockMove = Model.get('stock.move') + >>> StockMove( + ... product=product, + ... quantity=1, + ... from_location=supplier_loc, + ... to_location=storage_loc, + ... unit_price=Decimal('100'), + ... effective_date=today - dt.timedelta(days=2)).click('do') + >>> StockMove( + ... product=product, + ... quantity=2, + ... from_location=storage_loc, + ... to_location=customer_loc, + ... unit_price=Decimal('300'), + ... effective_date=today - dt.timedelta(days=1)).click('do') + >>> StockMove( + ... product=product, + ... quantity=2, + ... from_location=supplier_loc, + ... to_location=storage_loc, + ... unit_price=Decimal('120'), + ... effective_date=today - dt.timedelta(days=1)).click('do') + >>> StockMove( + ... product=product, + ... quantity=3, + ... from_location=supplier_loc, + ... to_location=storage_loc, + ... unit_price=Decimal('100'), + ... effective_date=today).click('do') + + >>> [m.cost_price for m in StockMove.find([])] + [Decimal('105.0000'), Decimal('120.0000'), Decimal('100.0000'), Decimal('100.0000')] + + >>> product.reload() + >>> product.cost_price + Decimal('105.0000') + +Recompute cost price:: + + >>> recompute = Wizard('product.recompute_cost_price', [product]) + >>> recompute.execute('recompute') + + >>> [m.cost_price for m in StockMove.find([])] + [Decimal('105.0000'), Decimal('120.0000'), Decimal('120.0000'), Decimal('100.0000')] + + >>> product.reload() + >>> product.cost_price + Decimal('105.0000') + +Recompute cost price from a date:: + + >>> recompute = Wizard('product.recompute_cost_price', [product]) + >>> recompute.form.from_ = today - dt.timedelta(days=1) + >>> recompute.execute('recompute') + + >>> [m.cost_price for m in StockMove.find([])] + [Decimal('105.0000'), Decimal('120.0000'), Decimal('120.0000'), Decimal('100.0000')] + + >>> product.reload() + >>> product.cost_price + Decimal('105.0000') + +Update unit price of a move:: + + >>> move, = StockMove.find([ + ... ('from_location', '=', supplier_loc.id), + ... ('effective_date', '=', today - dt.timedelta(days=1)), + ... ]) + >>> bool(move.unit_price_updated) + False + >>> move.unit_price = Decimal('130') + >>> move.save() + >>> bool(move.unit_price_updated) + True + + >>> recompute = Wizard('product.recompute_cost_price', [product]) + >>> recompute.form.from_ = move.effective_date + dt.timedelta(days=1) + >>> recompute.execute('recompute') + >>> move.reload() + >>> bool(move.unit_price_updated) + True + + >>> recompute = Wizard('product.recompute_cost_price', [product]) + >>> recompute.form.from_ == move.effective_date + True + >>> recompute.execute('recompute') + >>> move.reload() + >>> bool(move.unit_price_updated) + False + >>> [m.cost_price for m in StockMove.find([])] + [Decimal('107.5000'), Decimal('130.0000'), Decimal('130.0000'), Decimal('100.0000')] + +Launch cron task:: + + >>> move.unit_price = Decimal('120') + >>> move.save() + + >>> Cron = Model.get('ir.cron') + >>> Company = Model.get('company.company') + >>> cron_recompute, = Cron.find([ + ... ('method', '=', 'product.product|recompute_cost_price_from_moves'), + ... ]) + >>> cron_recompute.companies.append(Company(company.id)) + >>> cron_recompute.click('run_once') + + >>> move.reload() + >>> bool(move.unit_price_updated) + False + >>> [m.cost_price for m in StockMove.find([])] + [Decimal('105.0000'), Decimal('120.0000'), Decimal('120.0000'), Decimal('100.0000')] diff --git a/modules/stock/tests/scenario_stock_reporting.rst b/modules/stock/tests/scenario_stock_reporting.rst new file mode 100644 index 0000000000..e0470cd5cb --- /dev/null +++ b/modules/stock/tests/scenario_stock_reporting.rst @@ -0,0 +1,167 @@ +================================= +Stock Shipment Reporting Scenario +================================= + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard, Report + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + >>> yesterday = today - relativedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create customer & supplier:: + + >>> Party = Model.get('party.party') + >>> customer = Party(name='Customer') + >>> customer.save() + >>> supplier = Party(name='Supplier') + >>> supplier.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> warehouse_loc, = Location.find([('code', '=', 'WH')]) + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> input_loc, = Location.find([('code', '=', 'IN')]) + >>> output_loc, = Location.find([('code', '=', 'OUT')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> lost_loc, = Location.find([('type', '=', 'lost_found')]) + +Create Shipment In:: + + >>> ShipmentIn = Model.get('stock.shipment.in') + >>> shipment_in = ShipmentIn() + >>> shipment_in.planned_date = today + >>> shipment_in.supplier = supplier + >>> shipment_in.warehouse = warehouse_loc + >>> shipment_in.company = company + +Receive a bunch of products:: + + >>> move = shipment_in.incoming_moves.new() + >>> move.product = product + >>> move.uom = unit + >>> move.quantity = 100 + >>> move.from_location = supplier_loc + >>> move.to_location = input_loc + >>> move.company = company + >>> move.unit_price = Decimal('1') + >>> move.currency = company.currency + >>> shipment_in.save() + >>> shipment_in.click('receive') + >>> shipment_in.click('done') + +Testing the report:: + + >>> supplier_restocking_list = Report('stock.shipment.in.restocking_list') + >>> ext, _, _, name = supplier_restocking_list.execute([shipment_in], {}) + >>> ext + 'odt' + >>> name + 'Restocking List-1' + +Create Shipment Out:: + + >>> ShipmentOut = Model.get('stock.shipment.out') + >>> shipment_out = ShipmentOut() + >>> shipment_out.planned_date = today + >>> shipment_out.customer = customer + >>> shipment_out.warehouse = warehouse_loc + >>> shipment_out.company = company + +Add two shipment lines of same product and go through the workflow:: + + >>> move = shipment_out.outgoing_moves.new() + >>> move.product = product + >>> move.uom = unit + >>> move.quantity = 1 + >>> move.from_location = output_loc + >>> move.to_location = customer_loc + >>> move.company = company + >>> move.unit_price = Decimal('1') + >>> move.currency = company.currency + >>> shipment_out.save() + >>> shipment_out.click('wait') + >>> shipment_out.click('assign_try') + True + >>> shipment_out.click('pick') + >>> shipment_out.click('pack') + >>> shipment_out.click('done') + +Testing the reports:: + + >>> delivery_note = Report('stock.shipment.out.delivery_note') + >>> ext, _, _, name = delivery_note.execute([shipment_out], {}) + >>> ext + 'odt' + >>> name + 'Delivery Note-1' + + >>> picking_list = Report('stock.shipment.out.picking_list') + >>> ext, _, _, name = picking_list.execute([shipment_out], {}) + >>> ext + 'odt' + >>> name + 'Picking List-1' + +Create an internal shipment:: + + >>> ShipmentInternal = Model.get('stock.shipment.internal') + >>> shipment_internal = ShipmentInternal() + >>> shipment_internal.planned_date = today + >>> shipment_internal.company = company + >>> shipment_internal.from_location = storage_loc + >>> shipment_internal.to_location = lost_loc + >>> move = shipment_internal.moves.new() + >>> move.product = product + >>> move.uom = unit + >>> move.quantity = 1 + >>> move.from_location = storage_loc + >>> move.to_location = lost_loc + >>> move.company = company + >>> move.unit_price = Decimal('1') + >>> move.currency = company.currency + >>> shipment_internal.save() + >>> shipment_internal.click('wait') + >>> shipment_internal.click('assign_try') + True + >>> shipment_internal.click('done') + +Testing the report:: + + >>> internal_report = Report('stock.shipment.internal.report') + >>> ext, _, _, name = internal_report.execute([shipment_internal], {}) + >>> ext + 'odt' + >>> name + 'Internal Shipment-1' + diff --git a/modules/stock/tests/scenario_stock_reporting_margin.rst b/modules/stock/tests/scenario_stock_reporting_margin.rst new file mode 100644 index 0000000000..3e2cf19efe --- /dev/null +++ b/modules/stock/tests/scenario_stock_reporting_margin.rst @@ -0,0 +1,215 @@ +=============================== +Stock Reporting Margin Scenario +=============================== + +Imports:: + + >>> import datetime as dt + >>> from decimal import Decimal + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import ( + ... create_company, get_company) + >>> today = dt.date.today() + >>> yesterday = today - dt.timedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('40') + >>> template.save() + >>> product, = template.products + >>> product.cost_price = Decimal('20') + >>> product.save() + >>> template2, = template.duplicate() + >>> product2, = template2.products + + >>> Category = Model.get('product.category') + >>> category_root = Category(name="Root") + >>> category_root.save() + >>> category1 = Category(name="Child1", parent=category_root) + >>> category1.save() + >>> category2 = Category(name="Child2", parent=category_root) + >>> category2.save() + + >>> template.categories.append(Category(category1.id)) + >>> template.save() + >>> template2.categories.append(Category(category2.id)) + >>> template2.save() + + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> lost_loc, = Location.find([('type', '=', 'lost_found')]) + +Create some moves:: + + >>> Move = Model.get('stock.move') + >>> move = Move() + >>> move.product = product + >>> move.from_location = supplier_loc + >>> move.to_location = storage_loc + >>> move.quantity = 8 + >>> move.unit_price = Decimal('20') + >>> move.effective_date = yesterday + >>> move.click('do') + + >>> move = Move() + >>> move.product = product + >>> move.from_location = storage_loc + >>> move.to_location = customer_loc + >>> move.quantity = 2 + >>> move.unit_price = Decimal('40') + >>> move.effective_date = yesterday + >>> move.click('do') + + >>> move = Move() + >>> move.product = product + >>> move.from_location = storage_loc + >>> move.to_location = customer_loc + >>> move.quantity = 4 + >>> move.unit_price = Decimal('30') + >>> move.effective_date = today + >>> move.click('do') + + >>> move = Move() + >>> move.product = product + >>> move.from_location = customer_loc + >>> move.to_location = storage_loc + >>> move.quantity = 1 + >>> move.unit_price = Decimal('30') + >>> move.effective_date = today + >>> move.click('do') + + >>> move = Move() + >>> move.product = product2 + >>> move.from_location = storage_loc + >>> move.to_location = customer_loc + >>> move.quantity = 2 + >>> move.unit_price = Decimal('50') + >>> move.effective_date = today + >>> move.click('do') + + >>> move = Move() + >>> move.product = product + >>> move.from_location = storage_loc + >>> move.to_location = lost_loc + >>> move.quantity = 1 + >>> move.effective_date = today + >>> move.click('do') + +Check reporting margin per product:: + + >>> MarginProduct = Model.get('stock.reporting.margin.product') + >>> MarginProductTimeseries = Model.get( + ... 'stock.reporting.margin.product.time_series') + >>> context = { + ... 'from_date': yesterday, + ... 'to_date': today, + ... 'period': 'day', + ... } + >>> with config.set_context(context=context): + ... reports = MarginProduct.find([]) + ... time_series = MarginProductTimeseries.find([]) + >>> len(reports) + 2 + >>> report, = [r for r in reports if r.product == product] + >>> (report.quantity, report.cost, report.revenue, + ... report.profit, report.margin) == ( + ... 5, Decimal('100.00'), Decimal('170.00'), + ... Decimal('70.00'), Decimal('0.4118')) + True + >>> len(time_series) + 3 + >>> with config.set_context(context=context): + ... sorted(( + ... r.product.id, str(r.date), r.quantity, r.cost, r.revenue, + ... r.profit, r.margin) + ... for r in time_series) == sorted([ + ... (product.id, str(yesterday), 2, Decimal('40.00'), Decimal('80.00'), + ... Decimal('40.00'), Decimal('0.5000')), + ... (product.id, str(today), 3, Decimal('60.00'), Decimal('90.00'), + ... Decimal('30.00'), Decimal('0.3333')), + ... (product2.id, str(today), 2, Decimal('40.00'), Decimal('100.00'), + ... Decimal('60.00'), Decimal('0.6000'))]) + True + +Check reporting margin per categories:: + + >>> MarginCategory = Model.get('stock.reporting.margin.category') + >>> MarginCategoryTimeseries = Model.get( + ... 'stock.reporting.margin.category.time_series') + >>> MarginCategoryTree = Model.get( + ... 'stock.reporting.margin.category.tree') + >>> with config.set_context(context=context): + ... reports = MarginCategory.find([]) + ... time_series = MarginCategoryTimeseries.find([]) + ... tree = MarginCategoryTree.find([]) + >>> len(reports) + 2 + >>> with config.set_context(context=context): + ... sorted((r.category.id, r.cost, r.revenue, r.profit, r.margin) + ... for r in reports) == sorted([ + ... (category1.id, Decimal('100.00'), Decimal('170.00'), + ... Decimal('70.00'), Decimal('0.4118')), + ... (category2.id, Decimal('40.00'), Decimal('100.00'), + ... Decimal('60.00'), Decimal('0.6000'))]) + True + >>> len(time_series) + 3 + >>> with config.set_context(context=context): + ... sorted((r.category.id, str(r.date), r.cost, r.revenue, r.profit, r.margin) + ... for r in time_series) == sorted([ + ... (category1.id, str(yesterday), Decimal('40.00'), Decimal('80.00'), + ... Decimal('40.00'), Decimal('0.5000')), + ... (category1.id, str(today), Decimal('60.00'), Decimal('90.00'), + ... Decimal('30.00'), Decimal('0.3333')), + ... (category2.id, str(today), Decimal('40.00'), Decimal('100.00'), + ... Decimal('60.00'), Decimal('0.6000'))]) + True + >>> len(tree) + 3 + >>> with config.set_context(context=context): + ... sorted((r.name, r.cost, r.revenue, r.profit, r.margin) + ... for r in tree) == sorted([ + ... ("Root", Decimal('140.00'), Decimal('270.00'), + ... Decimal('130.00'), Decimal('0.4815')), + ... ("Child1", Decimal('100.00'), Decimal('170.00'), + ... Decimal('70.00'), Decimal('0.4118')), + ... ('Child2', Decimal('40.00'), Decimal('100.00'), + ... Decimal('60.00'), Decimal('0.6000'))]) + True + +Check reporting margin including lost:: + + >>> context['include_lost'] = True + + >>> with config.set_context(context=context): + ... reports = MarginProduct.find([]) + >>> len(reports) + 2 + >>> report, = [r for r in reports if r.product == product] + >>> (report.quantity, report.cost, report.revenue, + ... report.profit, report.margin) == ( + ... 6, Decimal('120.00'), Decimal('170.00'), + ... Decimal('50.00'), Decimal('0.2941')) + True diff --git a/modules/stock/tests/scenario_stock_shipment_in_return.rst b/modules/stock/tests/scenario_stock_shipment_in_return.rst new file mode 100644 index 0000000000..46a078544c --- /dev/null +++ b/modules/stock/tests/scenario_stock_shipment_in_return.rst @@ -0,0 +1,81 @@ +================================= +Stock Shipment In Return Scenario +================================= + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + >>> yesterday = today - relativedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create supplier:: + + >>> Party = Model.get('party.party') + >>> supplier = Party(name='Supplier') + >>> supplier.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + +Create Shipment In:: + + >>> ShipmentInReturn = Model.get('stock.shipment.in.return') + >>> shipment_return = ShipmentInReturn() + >>> shipment_return.planned_date = yesterday + >>> shipment_return.supplier = supplier + >>> shipment_return.from_location = storage_loc + >>> move = shipment_return.moves.new() + >>> move.product = product + >>> move.uom =unit + >>> move.quantity = 1 + >>> move.from_location = storage_loc + >>> move.to_location = supplier_loc + >>> move.company = company + >>> move.unit_price = Decimal('1') + >>> move.currency = company.currency + >>> shipment_return.click('wait') + >>> shipment_return.state + 'waiting' + +Reschedule shipment:: + + >>> Cron = Model.get('ir.cron') + >>> cron = Cron(method='stock.shipment.in.return|reschedule') + >>> cron.interval_number = 1 + >>> cron.interval_type = 'months' + >>> cron.click('run_once') + >>> shipment_return.reload() + >>> shipment_return.planned_date == today + True diff --git a/modules/stock/tests/scenario_stock_shipment_in_same_storage_input.rst b/modules/stock/tests/scenario_stock_shipment_in_same_storage_input.rst new file mode 100644 index 0000000000..c38e9bcfb4 --- /dev/null +++ b/modules/stock/tests/scenario_stock_shipment_in_same_storage_input.rst @@ -0,0 +1,85 @@ +================================================= +Stock Shipment In Same Storage and Input Scenario +================================================= + +Imports:: + + >>> from decimal import Decimal + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create supplier:: + + >>> Party = Model.get('party.party') + >>> supplier = Party(name='Supplier') + >>> supplier.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> warehouse_loc, = Location.find([('code', '=', 'WH')]) + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> storage1 = Location(name="Storage 1", parent=storage_loc) + >>> storage1.save() + +Use storage location as input location:: + + >>> warehouse_loc.input_location = storage_loc + >>> warehouse_loc.save() + +Create Shipment In:: + + >>> ShipmentIn = Model.get('stock.shipment.in') + >>> shipment_in = ShipmentIn() + >>> shipment_in.supplier = supplier + >>> shipment_in.warehouse = warehouse_loc + >>> shipment_in.company = company + >>> move = shipment_in.incoming_moves.new() + >>> move.product = product + >>> move.uom = unit + >>> move.quantity = 1 + >>> move.unit_price = Decimal('5') + >>> move.from_location = supplier_loc + >>> move.to_location = storage1 + >>> shipment_in.save() + + >>> len(shipment_in.incoming_moves) + 1 + >>> len(shipment_in.inventory_moves) + 0 + +Incoming moves are done when receiving the shipment:: + + >>> shipment_in.click('receive') + >>> shipment_in.state + 'done' + >>> move, = shipment_in.incoming_moves + >>> move.state + 'done' + >>> len(shipment_in.inventory_moves) + 0 diff --git a/modules/stock/tests/scenario_stock_shipment_internal.rst b/modules/stock/tests/scenario_stock_shipment_internal.rst new file mode 100644 index 0000000000..311d8f3c20 --- /dev/null +++ b/modules/stock/tests/scenario_stock_shipment_internal.rst @@ -0,0 +1,217 @@ +================================ +Stock Shipment Internal Scenario +================================ + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules, set_user + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + >>> yesterday = today - relativedelta(days=1) + >>> tomorrow = today + relativedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> lost_found_loc, = Location.find([('type', '=', 'lost_found')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> internal_loc = Location(name='Internal', type='storage') + >>> internal_loc.save() + +Create stock user:: + + >>> User = Model.get('res.user') + >>> Group = Model.get('res.group') + >>> Party = Model.get('party.party') + >>> Employee = Model.get('company.employee') + >>> stock_user = User() + >>> stock_user.name = 'Stock' + >>> stock_user.login = 'stock' + >>> stock_group, = Group.find([('name', '=', 'Stock')]) + >>> stock_user.groups.append(stock_group) + >>> employee_party = Party(name="Employee") + >>> employee_party.save() + >>> employee = Employee(party=employee_party) + >>> employee.save() + >>> stock_user.employees.append(employee) + >>> stock_user.employee = employee + >>> stock_user.save() + +Create Internal Shipment:: + + >>> set_user(stock_user) + >>> Shipment = Model.get('stock.shipment.internal') + >>> StockMove = Model.get('stock.move') + >>> shipment = Shipment() + >>> shipment.planned_date = today + >>> shipment.from_location = internal_loc + >>> shipment.to_location = storage_loc + >>> move = shipment.moves.new() + >>> move.product = product + >>> move.quantity = 1 + >>> move.from_location = internal_loc + >>> move.to_location = storage_loc + >>> move.currency = company.currency + >>> shipment.save() + >>> shipment.assigned_by + >>> shipment.done_by + + >>> shipment.click('wait') + >>> shipment.state + 'waiting' + >>> shipment.click('assign_try') + False + >>> shipment.assigned_by + >>> shipment.done_by + +Create Internal Shipment from lost_found location:: + + >>> lost_found_shipment = Shipment() + >>> lost_found_shipment.planned_date = today + >>> lost_found_shipment.company = company + >>> lost_found_shipment.from_location = lost_found_loc + >>> lost_found_shipment.to_location = internal_loc + >>> move = StockMove() + >>> move = lost_found_shipment.moves.new() + >>> move.product = product + >>> move.uom = unit + >>> move.quantity = 2 + >>> move.from_location = lost_found_loc + >>> move.to_location = internal_loc + >>> move.currency = company.currency + >>> lost_found_shipment.click('wait') + >>> lost_found_shipment.click('assign_try') + True + >>> lost_found_shipment.state + 'assigned' + >>> lost_found_shipment.click('done') + >>> lost_found_shipment.state + 'done' + +Check that now whe can finish the older shipment:: + + >>> shipment.click('assign_try') + True + >>> shipment.assigned_by == employee + True + >>> shipment.done_by + + >>> shipment.click('done') + >>> shipment.state + 'done' + >>> shipment.done_by == employee + True + +Add lead time inside the warehouse:: + + >>> set_user(1) + >>> LeadTime = Model.get('stock.location.lead_time') + >>> lead_time = LeadTime() + >>> lead_time.warehouse_from = internal_loc.warehouse + >>> lead_time.warehouse_to = storage_loc.warehouse + >>> lead_time.lead_time = datetime.timedelta(1) + >>> lead_time.save() + +Create Internal Shipment with lead time:: + + >>> set_user(stock_user) + >>> shipment = Shipment() + >>> shipment.planned_date = tomorrow + >>> shipment.from_location = internal_loc + >>> shipment.to_location = storage_loc + >>> shipment.planned_start_date == today + True + >>> move = shipment.moves.new() + >>> move.product = product + >>> move.quantity = 2 + >>> move.from_location = internal_loc + >>> move.to_location = storage_loc + >>> shipment.click('wait') + >>> len(shipment.moves) + 2 + >>> outgoing_move, = shipment.outgoing_moves + >>> outgoing_move.quantity + 2.0 + >>> outgoing_move.from_location == internal_loc + True + >>> outgoing_move.to_location == shipment.transit_location + True + >>> outgoing_move.planned_date == today + True + >>> incoming_move, = shipment.incoming_moves + >>> incoming_move.quantity + 2.0 + >>> incoming_move.from_location == shipment.transit_location + True + >>> incoming_move.to_location == storage_loc + True + >>> incoming_move.planned_date == tomorrow + True + + >>> outgoing_move.quantity = 1 + >>> outgoing_move.save() + + >>> shipment.click('assign_try') + True + >>> shipment.effective_start_date = yesterday + >>> shipment.click('ship') + >>> incoming_move, = shipment.incoming_moves + >>> incoming_move.quantity + 1.0 + >>> shipment.outgoing_moves[0].state + 'done' + >>> shipment.outgoing_moves[0].effective_date == yesterday + True + >>> shipment.click('done') + >>> shipment.incoming_moves[0].state + 'done' + >>> shipment.incoming_moves[0].effective_date == today + True + +Duplicate Internal Shipment:: + + >>> shipment_copy, = shipment.duplicate() + >>> len(shipment_copy.moves) + 1 + +Reschedule shipment:: + + >>> shipment_copy.planned_date = yesterday + >>> shipment_copy.click('wait') + >>> set_user(1) + >>> Cron = Model.get('ir.cron') + >>> cron = Cron(method='stock.shipment.internal|reschedule') + >>> cron.interval_number = 1 + >>> cron.interval_type = 'months' + >>> cron.click('run_once') + >>> shipment_copy.reload() + >>> shipment_copy.planned_date == today + True diff --git a/modules/stock/tests/scenario_stock_shipment_out.rst b/modules/stock/tests/scenario_stock_shipment_out.rst new file mode 100644 index 0000000000..b5d8e8eaff --- /dev/null +++ b/modules/stock/tests/scenario_stock_shipment_out.rst @@ -0,0 +1,277 @@ +=========================== +Stock Shipment Out Scenario +=========================== + +Imports:: + + >>> import datetime + >>> from dateutil.relativedelta import relativedelta + >>> from decimal import Decimal + >>> from proteus import Model, Wizard + >>> from trytond.tests.tools import activate_modules, set_user + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + >>> today = datetime.date.today() + >>> yesterday = today - relativedelta(days=1) + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create customer:: + + >>> Party = Model.get('party.party') + >>> customer = Party(name='Customer') + >>> customer.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Create stock user:: + + >>> User = Model.get('res.user') + >>> Group = Model.get('res.group') + >>> Employee = Model.get('company.employee') + >>> stock_user = User() + >>> stock_user.name = "Stock" + >>> stock_user.login = 'stock' + >>> stock_user.groups.extend(Group.find([ + ... ('name', '=', 'Stock'), + ... ])) + >>> employee_party = Party(name="Employee") + >>> employee_party.save() + >>> employee = Employee(party=employee_party) + >>> employee.save() + >>> stock_user.employees.append(employee) + >>> stock_user.employee = employee + >>> stock_user.save() + + >>> set_user(stock_user) + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> warehouse_loc, = Location.find([('code', '=', 'WH')]) + >>> supplier_loc, = Location.find([('code', '=', 'SUP')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> output_loc, = Location.find([('code', '=', 'OUT')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + +Create Shipment Out:: + + >>> ShipmentOut = Model.get('stock.shipment.out') + >>> shipment_out = ShipmentOut() + >>> shipment_out.planned_date = today + >>> shipment_out.customer = customer + >>> shipment_out.warehouse = warehouse_loc + >>> shipment_out.company = company + +Add two shipment lines of same product:: + + >>> StockMove = Model.get('stock.move') + >>> shipment_out.outgoing_moves.extend([StockMove(), StockMove()]) + >>> for move in shipment_out.outgoing_moves: + ... move.product = product + ... move.uom =unit + ... move.quantity = 1 + ... move.from_location = output_loc + ... move.to_location = customer_loc + ... move.company = company + ... move.unit_price = Decimal('1') + ... move.currency = company.currency + >>> shipment_out.save() + >>> shipment_out.picked_by + >>> shipment_out.packed_by + >>> shipment_out.done_by + +Set the shipment state to waiting:: + + >>> shipment_out.click('wait') + >>> len(shipment_out.outgoing_moves) + 2 + >>> len(shipment_out.inventory_moves) + 2 + >>> sorted( + ... [m.origin for m in shipment_out.inventory_moves], + ... key=lambda m: m.id) == \ + ... sorted( + ... [m for m in shipment_out.outgoing_moves], key=lambda m: m.id) + True + +Make 1 unit of the product available:: + + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = today + >>> incoming_move.effective_date = today + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('1') + >>> incoming_move.currency = company.currency + >>> incoming_move.click('do') + +Assign the shipment now:: + + >>> shipment_assign = Wizard('stock.shipment.assign', [shipment_out]) + >>> len(shipment_assign.form.moves) + 1 + >>> shipment_assign.execute('end') + >>> shipment_out.reload() + >>> len(shipment_out.outgoing_moves) + 2 + >>> len(shipment_out.inventory_moves) + 2 + >>> states = [m.state for m in shipment_out.inventory_moves] + >>> states.sort() + >>> states + ['assigned', 'draft'] + >>> effective_dates = [m.effective_date for m in + ... shipment_out.inventory_moves] + >>> len(set(effective_dates)) + 1 + >>> planned_dates = [m.planned_date for m in + ... shipment_out.outgoing_moves] + >>> len(set(planned_dates)) + 1 + +Ignore non assigned moves and pack shipment:: + + >>> shipment_assign = Wizard('stock.shipment.assign', [shipment_out]) + >>> shipment_assign.execute('ignore') + >>> sorted([m.quantity for m in shipment_out.inventory_moves]) + [0.0, 1.0] + >>> shipment_out.picked_by + >>> shipment_out.packed_by + >>> shipment_out.done_by + + >>> shipment_out.click('pick') + >>> shipment_out.picked_by == employee + True + >>> shipment_out.packed_by + >>> shipment_out.done_by + + >>> shipment_out.click('pack') + >>> shipment_out.packed_by == employee + True + >>> shipment_out.done_by + >>> all(m.state == 'assigned' for m in shipment_out.outgoing_moves) + True + >>> len(shipment_out.outgoing_moves) + 1 + >>> len(shipment_out.inventory_moves) + 2 + >>> shipment_out.inventory_moves[0].state + 'done' + >>> sum([m.quantity for m in shipment_out.inventory_moves]) == \ + ... sum([m.quantity for m in shipment_out.outgoing_moves]) + True + +Set the state as Done:: + + >>> shipment_out.click('done') + >>> shipment_out.done_by == employee + True + >>> all(m.state == 'done' for m in shipment_out.outgoing_moves) + True + >>> planned_dates = [m.planned_date for m in + ... shipment_out.outgoing_moves] + >>> planned_dates == [today] + True + >>> effective_dates = [m.effective_date for m in + ... shipment_out.outgoing_moves] + >>> len(set(effective_dates)) + 1 + >>> len(shipment_out.outgoing_moves) + 1 + >>> len(shipment_out.inventory_moves) + 2 + >>> shipment_out.inventory_moves[0].state + 'done' + >>> sum([m.quantity for m in shipment_out.inventory_moves]) == \ + ... sum([m.quantity for m in shipment_out.outgoing_moves]) + True + +Create Shipment Out with effective date:: + + >>> ShipmentOut = Model.get('stock.shipment.out') + >>> shipment_out = ShipmentOut() + >>> shipment_out.planned_date = yesterday + >>> shipment_out.effective_date = yesterday + >>> shipment_out.customer = customer + >>> shipment_out.warehouse = warehouse_loc + >>> shipment_out.company = company + >>> move = shipment_out.outgoing_moves.new() + >>> move.product = product + >>> move.uom =unit + >>> move.quantity = 1 + >>> move.from_location = output_loc + >>> move.to_location = customer_loc + >>> move.company = company + >>> move.unit_price = Decimal('1') + >>> move.currency = company.currency + >>> shipment_out.click('wait') + +Make 1 unit of the product available:: + + >>> incoming_move = StockMove() + >>> incoming_move.product = product + >>> incoming_move.uom = unit + >>> incoming_move.quantity = 1 + >>> incoming_move.from_location = supplier_loc + >>> incoming_move.to_location = storage_loc + >>> incoming_move.planned_date = yesterday + >>> incoming_move.effective_date = yesterday + >>> incoming_move.company = company + >>> incoming_move.unit_price = Decimal('1') + >>> incoming_move.currency = company.currency + >>> incoming_move.click('do') + +Finish the shipment:: + + >>> shipment_out.click('assign_try') + True + >>> shipment_out.click('pick') + >>> shipment_out.click('pack') + >>> shipment_out.click('done') + >>> shipment_out.state + 'done' + >>> outgoing_move, = shipment_out.outgoing_moves + >>> outgoing_move.effective_date == yesterday + True + >>> inventory_move, = shipment_out.inventory_moves + >>> inventory_move.effective_date == yesterday + True + +Reschedule shipment:: + + >>> shipment_copy, = shipment_out.duplicate() + >>> shipment_copy.planned_date = yesterday + >>> shipment_copy.click('wait') + >>> set_user(1) + >>> Cron = Model.get('ir.cron') + >>> cron = Cron(method='stock.shipment.out|reschedule') + >>> cron.interval_number = 1 + >>> cron.interval_type = 'months' + >>> cron.click('run_once') + >>> shipment_copy.reload() + >>> shipment_copy.planned_date == today + True diff --git a/modules/stock/tests/scenario_stock_shipment_out_return_same_storage_input.rst b/modules/stock/tests/scenario_stock_shipment_out_return_same_storage_input.rst new file mode 100644 index 0000000000..a06869a651 --- /dev/null +++ b/modules/stock/tests/scenario_stock_shipment_out_return_same_storage_input.rst @@ -0,0 +1,87 @@ +========================================================= +Stock Shipment Out Return Same Storage and Input Scenario +========================================================= + +Imports:: + + >>> from decimal import Decimal + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create customer:: + + >>> Party = Model.get('party.party') + >>> customer = Party(name='Customer') + >>> customer.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> warehouse_loc, = Location.find([('code', '=', 'WH')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> storage1 = Location(name="Storage 1", parent=storage_loc) + >>> storage1.save() + +Use storage location as input location:: + + >>> warehouse_loc.input_location = storage_loc + >>> warehouse_loc.save() + +Create Shipment Out Return:: + + >>> ShipmentOutReturn = Model.get('stock.shipment.out.return') + >>> shipment = ShipmentOutReturn() + >>> shipment.customer = customer + >>> shipment.warehouse = warehouse_loc + >>> shipment.company = company + >>> move = shipment.incoming_moves.new() + >>> move.product = product + >>> move.uom = unit + >>> move.quantity = 1 + >>> move.from_location = customer_loc + >>> move.to_location = storage1 + >>> move.unit_price = Decimal('20') + >>> move.currency = company.currency + >>> shipment.save() + + >>> len(shipment.incoming_moves) + 1 + >>> len(shipment.inventory_moves) + 0 + +Shipment is done when receiving:: + + >>> shipment.click('receive') + >>> shipment.state + 'done' + >>> move, = shipment.incoming_moves + >>> move.state + 'done' + >>> len(shipment.inventory_moves) + 0 diff --git a/modules/stock/tests/scenario_stock_shipment_out_same_storage_output.rst b/modules/stock/tests/scenario_stock_shipment_out_same_storage_output.rst new file mode 100644 index 0000000000..f390ab8281 --- /dev/null +++ b/modules/stock/tests/scenario_stock_shipment_out_same_storage_output.rst @@ -0,0 +1,90 @@ +=================================================== +Stock Shipment Out Same Storage and Output Scenario +=================================================== + +Imports:: + + >>> from decimal import Decimal + >>> from proteus import Model + >>> from trytond.tests.tools import activate_modules + >>> from trytond.modules.company.tests.tools import create_company, \ + ... get_company + +Activate modules:: + + >>> config = activate_modules('stock') + +Create company:: + + >>> _ = create_company() + >>> company = get_company() + +Create customer:: + + >>> Party = Model.get('party.party') + >>> customer = Party(name='Customer') + >>> customer.save() + +Create product:: + + >>> ProductUom = Model.get('product.uom') + >>> ProductTemplate = Model.get('product.template') + >>> Product = Model.get('product.product') + >>> unit, = ProductUom.find([('name', '=', 'Unit')]) + >>> template = ProductTemplate() + >>> template.name = 'Product' + >>> template.default_uom = unit + >>> template.type = 'goods' + >>> template.list_price = Decimal('20') + >>> template.save() + >>> product, = template.products + +Get stock locations:: + + >>> Location = Model.get('stock.location') + >>> warehouse_loc, = Location.find([('code', '=', 'WH')]) + >>> customer_loc, = Location.find([('code', '=', 'CUS')]) + >>> storage_loc, = Location.find([('code', '=', 'STO')]) + >>> warehouse_loc.output_location = storage_loc + >>> warehouse_loc.save() + +Create Shipment Out:: + + >>> ShipmentOut = Model.get('stock.shipment.out') + >>> shipment_out = ShipmentOut() + >>> shipment_out.customer = customer + >>> shipment_out.warehouse = warehouse_loc + >>> shipment_out.company = company + >>> move = shipment_out.outgoing_moves.new() + >>> move.product = product + >>> move.uom = unit + >>> move.quantity = 1 + >>> move.unit_price = Decimal('5') + >>> move.from_location = storage_loc + >>> move.to_location = customer_loc + >>> shipment_out.save() + + >>> len(shipment_out.outgoing_moves) + 1 + >>> len(shipment_out.inventory_moves) + 0 + +Set the shipment state to waiting:: + + >>> shipment_out.click('wait') + >>> shipment_out.state + 'waiting' + >>> len(shipment_out.outgoing_moves) + 1 + >>> len(shipment_out.inventory_moves) + 0 + +Pack the shipment:: + + >>> shipment_out.click('pack') + >>> shipment_out.state + 'packed' + >>> len(shipment_out.outgoing_moves) + 1 + >>> len(shipment_out.inventory_moves) + 0 diff --git a/modules/stock/tests/test_stock.py b/modules/stock/tests/test_stock.py new file mode 100644 index 0000000000..23d58f523c --- /dev/null +++ b/modules/stock/tests/test_stock.py @@ -0,0 +1,1572 @@ +# This file is part of Tryton. The COPYRIGHT file at the top level of +# this repository contains the full copyright notices and license terms. +import unittest +import doctest +import datetime +from decimal import Decimal +from dateutil.relativedelta import relativedelta +from functools import partial +from collections import defaultdict + +import trytond.tests.test_tryton +from trytond.tests.test_tryton import ModuleTestCase, with_transaction +from trytond.tests.test_tryton import doctest_teardown +from trytond.tests.test_tryton import doctest_checker +from trytond.transaction import Transaction +from trytond.exceptions import UserWarning, UserError +from trytond.pool import Pool + +from trytond.modules.company.tests import ( + create_company, set_company, PartyCompanyCheckEraseMixin, CompanyTestMixin) + + +class StockTestCase( + PartyCompanyCheckEraseMixin, CompanyTestMixin, ModuleTestCase): + 'Test Stock module' + module = 'stock' + longMessage = True + + @with_transaction() + def test_move_internal_quantity(self): + 'Test Move.internal_quantity' + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + kg, = Uom.search([('name', '=', 'Kilogram')]) + g, = Uom.search([('name', '=', 'Gram')]) + template, = Template.create([{ + 'name': 'Test Move.internal_quantity', + 'type': 'goods', + 'list_price': Decimal(1), + 'default_uom': kg.id, + }]) + product, = Product.create([{ + 'template': template.id, + }]) + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + company = create_company() + currency = company.currency + with set_company(company): + tests = [ + (kg, 10, 10, 0), + (g, 100, 0.1, 1), + (g, 1, 0, 0), # rounded + (kg, 35.23, 35.23, 2), # check infinite loop + ] + for uom, quantity, internal_quantity, ndigits in tests: + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': quantity, + 'from_location': supplier.id, + 'to_location': storage.id, + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + self.assertEqual(round(move.internal_quantity, ndigits), + internal_quantity) + + for uom, quantity, internal_quantity, ndigits in tests: + Move.write([move], { + 'uom': uom.id, + 'quantity': quantity, + }) + self.assertEqual(round(move.internal_quantity, ndigits), + internal_quantity) + + @with_transaction() + def test_products_by_location(self): + 'Test products_by_location' + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Period = pool.get('stock.period') + transaction = Transaction() + + kg, = Uom.search([('name', '=', 'Kilogram')]) + g, = Uom.search([('name', '=', 'Gram')]) + template, = Template.create([{ + 'name': 'Test products_by_location', + 'type': 'goods', + 'list_price': Decimal(0), + 'default_uom': kg.id, + }]) + product, = Product.create([{ + 'template': template.id, + }]) + supplier, = Location.search([('code', '=', 'SUP')]) + customer, = Location.search([('code', '=', 'CUS')]) + storage, = Location.search([('code', '=', 'STO')]) + storage_empty, = Location.copy([storage]) + company = create_company() + currency = company.currency + with set_company(company): + today = datetime.date.today() + + moves = Move.create([{ + 'product': product.id, + 'uom': kg.id, + 'quantity': 5, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=-5), + 'effective_date': today + relativedelta(days=-5), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }, { + 'product': product.id, + 'uom': kg.id, + 'quantity': 1, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=-4), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }, { + 'product': product.id, + 'uom': kg.id, + 'quantity': 1, + 'from_location': storage.id, + 'to_location': customer.id, + 'planned_date': today, + 'effective_date': today, + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }, { + 'product': product.id, + 'uom': kg.id, + 'quantity': 1, + 'from_location': storage.id, + 'to_location': customer.id, + 'planned_date': today, + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }, { + 'product': product.id, + 'uom': kg.id, + 'quantity': 2, + 'from_location': storage.id, + 'to_location': customer.id, + 'planned_date': today + relativedelta(days=5), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }, { + 'product': product.id, + 'uom': kg.id, + 'quantity': 5, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=7), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + Move.do([moves[0], moves[2]]) + + products_by_location = partial(Product.products_by_location, + [storage.id], grouping_filter=([product.id],)) + + tests = [ + ({'stock_date_end': today + relativedelta(days=-6), + }, 0), + ({'stock_date_end': today + relativedelta(days=-5), + }, 5), + ({'stock_date_end': today + relativedelta(days=-4), + }, 5), + ({'stock_date_end': today + relativedelta(days=-3), + }, 5), + ({'stock_date_end': today, + }, 4), + ({'stock_date_end': today + relativedelta(days=1), + }, 3), + ({'stock_date_end': today + relativedelta(days=5), + }, 1), + ({'stock_date_end': today + relativedelta(days=6), + }, 1), + ({'stock_date_end': today + relativedelta(days=7), + }, 6), + ({'stock_date_end': today + relativedelta(days=8), + }, 6), + ({'stock_date_end': False, + }, 6), + ({'stock_date_end': today + relativedelta(days=-6), + 'forecast': True, + }, 0), + ({'stock_date_end': today + relativedelta(days=-5), + 'forecast': True, + }, 5), + ({'stock_date_end': today + relativedelta(days=-4), + 'forecast': True, + }, 5), + ({'stock_date_end': today + relativedelta(days=-3), + 'forecast': True, + }, 5), + ({'stock_date_end': today, + 'forecast': True, + }, 3), + ({'stock_date_end': today + relativedelta(days=1), + 'forecast': True, + }, 3), + ({'stock_date_end': today + relativedelta(days=5), + 'forecast': True, + }, 1), + ({'stock_date_end': today + relativedelta(days=6), + 'forecast': True, + }, 1), + ({'stock_date_end': today + relativedelta(days=7), + 'forecast': True, + }, 6), + ({'stock_date_end': False, + 'forecast': True, + }, 6), + ] + today_quantity = 4 + + def tests_product_quantity(context, quantity): + product_reloaded = Product(product.id) + if (not context.get('stock_date_end') + or context['stock_date_end'] > today): + self.assertEqual( + product_reloaded.forecast_quantity, quantity, + msg='context %r' % context) + self.assertEqual( + product_reloaded.quantity, today_quantity, + msg='context %r' % context) + elif context.get('forecast'): + self.assertEqual( + product_reloaded.forecast_quantity, quantity, + msg='context %r' % context) + elif context.get('stock_date_end') == today: + self.assertEqual(product_reloaded.quantity, quantity, + msg='context %r' % context) + else: + self.assertEqual( + product_reloaded.forecast_quantity, quantity, + msg='context %r' % context) + self.assertEqual(product_reloaded.quantity, quantity, + msg='context %r' % context) + + def tests_product_search_quantity(context, quantity): + if (not context.get('stock_date_end') + or context['stock_date_end'] > today + or context.get('forecast')): + fname = 'forecast_quantity' + else: + fname = 'quantity' + found_products = Product.search([ + (fname, '=', quantity), + ]) + self.assertIn(product, found_products) + + found_products = Product.search([ + (fname, '!=', quantity), + ]) + self.assertNotIn(product, found_products) + + found_products = Product.search([ + (fname, 'in', (quantity, quantity + 1)), + ]) + self.assertIn(product, found_products) + + found_products = Product.search([ + (fname, 'not in', (quantity, quantity + 1)), + ]) + self.assertNotIn(product, found_products) + + found_products = Product.search([ + (fname, '<', quantity), + ]) + self.assertNotIn(product, found_products) + found_products = Product.search([ + (fname, '<', quantity + 1), + ]) + self.assertIn(product, found_products) + + found_products = Product.search([ + (fname, '>', quantity), + ]) + self.assertNotIn(product, found_products) + found_products = Product.search([ + (fname, '>', quantity - 1), + ]) + self.assertIn(product, found_products) + + found_products = Product.search([ + (fname, '>=', quantity), + ]) + self.assertIn(product, found_products) + + found_products = Product.search([ + (fname, '<=', quantity), + ]) + self.assertIn(product, found_products) + + def test_products_by_location(): + for context, quantity in tests: + with transaction.set_context(context): + if not quantity: + self.assertEqual(products_by_location(), {}) + else: + self.assertEqual(products_by_location(), + {(storage.id, product.id): quantity}) + with transaction.set_context( + locations=[storage.id]): + tests_product_quantity(context, quantity) + tests_product_search_quantity( + context, quantity) + with transaction.set_context( + locations=[storage.id, storage_empty.id]): + tests_product_quantity(context, quantity) + tests_product_search_quantity( + context, quantity) + + test_products_by_location() + + periods = [ + today + relativedelta(days=-6), + today + relativedelta(days=-5), + today + relativedelta(days=-4), + today + relativedelta(days=-3), + today + relativedelta(days=-2), + ] + + moves = Move.create([{ + 'product': product.id, + 'uom': g.id, + 'quantity': 1, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=-5), + 'effective_date': (today + + relativedelta(days=-5)), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + Move.do(moves) + # Nothing should change when adding a small quantity + test_products_by_location() + + for period_date in periods: + period, = Period.create([{ + 'date': period_date, + 'company': company.id, + }]) + Period.close([period]) + test_products_by_location() + + @with_transaction() + def test_products_by_location_with_childs(self): + 'Test products_by_location with_childs and stock_skip_warehouse' + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + unit, = Uom.search([('name', '=', 'Unit')]) + template, = Template.create([{ + 'name': 'Test products_by_location', + 'type': 'goods', + 'list_price': Decimal(0), + 'default_uom': unit.id, + }]) + product, = Product.create([{ + 'template': template.id, + }]) + + lost_found, = Location.search([('type', '=', 'lost_found')]) + warehouse, = Location.search([('type', '=', 'warehouse')]) + storage, = Location.search([('code', '=', 'STO')]) + input_, = Location.search([('code', '=', 'IN')]) + storage1, = Location.create([{ + 'name': 'Storage 1', + 'type': 'view', + 'parent': storage.id, + }]) + storage2, = Location.create([{ + 'name': 'Storage 1.1', + 'type': 'view', + 'parent': storage1.id, + }]) + storage3, = Location.create([{ + 'name': 'Storage 2', + 'type': 'view', + 'parent': storage.id, + }]) + company = create_company() + with set_company(company): + today = datetime.date.today() + + moves = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': lost_found.id, + 'to_location': storage.id, + 'planned_date': today, + 'effective_date': today, + 'company': company.id, + }, { + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': input_.id, + 'to_location': storage.id, + 'planned_date': today, + 'effective_date': today, + 'company': company.id, + }]) + Move.do(moves) + + products_by_location = Product.products_by_location( + [warehouse.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual(products_by_location[(warehouse.id, product.id)], + 1) + products_by_location = Product.products_by_location( + [warehouse.id, storage.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual( + products_by_location[(warehouse.id, product.id)], 1) + self.assertEqual(products_by_location[(storage.id, product.id)], 2) + + with Transaction().set_context(locations=[warehouse.id]): + found_products = Product.search([ + ('quantity', '=', 1), + ]) + self.assertListEqual([product], found_products) + + with Transaction().set_context(stock_skip_warehouse=True): + products_by_location = Product.products_by_location( + [warehouse.id], + grouping_filter=([product.id],), + with_childs=True) + products_by_location_all = Product.products_by_location( + [warehouse.id], with_childs=True) + self.assertEqual( + products_by_location[(warehouse.id, product.id)], 2) + self.assertEqual( + products_by_location_all[(warehouse.id, product.id)], 2) + + with Transaction().set_context(locations=[warehouse.id]): + found_products = Product.search([ + ('quantity', '=', 2), + ]) + self.assertListEqual([product], found_products) + + @with_transaction() + def test_products_by_location_flat_childs(self, period_closed=False): + "Test products_by_location on flat_childs" + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Date = pool.get('ir.date') + Period = pool.get('stock.period') + + unit, = Uom.search([('name', '=', 'Unit')]) + template, = Template.create([{ + 'name': "Product", + 'type': 'goods', + 'list_price': Decimal(0), + 'default_uom': unit.id, + }]) + product, = Product.create([{ + 'template': template.id, + }]) + + lost_found, = Location.search([('type', '=', 'lost_found')]) + storage, = Location.search([('code', '=', 'STO')]) + storage.flat_childs = True + storage.save() + storage1, = Location.create([{ + 'name': 'Storage 1', + 'type': 'storage', + 'parent': storage.id, + }]) + storage2, = Location.create([{ + 'name': 'Storage 2', + 'type': 'storage', + 'parent': storage.id, + }]) + + company = create_company() + with set_company(company): + date = Date.today() - relativedelta(days=1) + + moves = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': lost_found.id, + 'to_location': storage.id, + 'planned_date': date, + 'effective_date': date, + 'company': company.id, + }, { + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': lost_found.id, + 'to_location': storage1.id, + 'planned_date': date, + 'effective_date': date, + 'company': company.id, + }, { + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': storage1.id, + 'to_location': storage2.id, + 'planned_date': date, + 'effective_date': date, + 'company': company.id, + }]) + Move.do(moves) + + if period_closed: + period, = Period.create([{ + 'date': date, + 'company': company.id, + }]) + Period.close([period]) + + # Test flat location + products_by_location = Product.products_by_location( + [storage.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual( + products_by_location[(storage.id, product.id)], 2) + + # Test mixed flat and nested location + products_by_location = Product.products_by_location( + [storage.parent.id, storage.id, storage1.id, storage2.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual( + products_by_location[(storage.parent.id, product.id)], 2) + self.assertEqual( + products_by_location[(storage.id, product.id)], 2) + self.assertEqual( + products_by_location[(storage1.id, product.id)], 0) + self.assertEqual( + products_by_location[(storage2.id, product.id)], 1) + + # Test non flat + products_by_location = Product.products_by_location( + [lost_found.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual( + products_by_location[(lost_found.id, product.id)], -2) + + def test_products_by_location_flat_childs_period_closed(self): + "Test products_by_location on flat_childs with period closed" + self.test_products_by_location_flat_childs(period_closed=True) + + @with_transaction() + def test_products_by_location_2nd_level_flat_childs(self): + "Test products_by_location on 2nd level flat_childs" + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Date = pool.get('ir.date') + + unit, = Uom.search([('name', '=', 'Unit')]) + template, = Template.create([{ + 'name': "Product", + 'type': 'goods', + 'list_price': Decimal(0), + 'default_uom': unit.id, + }]) + product, = Product.create([{ + 'template': template.id, + }]) + + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + storage1, = Location.create([{ + 'name': 'Storage 1', + 'type': 'storage', + 'flat_childs': True, + 'parent': storage.id, + }]) + storage2, = Location.create([{ + 'name': 'Storage 2', + 'type': 'storage', + 'parent': storage1.id, + }]) + + company = create_company() + with set_company(company): + date = Date.today() - relativedelta(days=1) + + moves = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 80, + 'from_location': supplier.id, + 'to_location': storage.id, + 'effective_date': date, + 'company': company.id, + 'unit_price': 10.0 + }, { + 'product': product.id, + 'uom': unit.id, + 'quantity': 60, + 'from_location': storage.id, + 'to_location': storage2.id, + 'effective_date': date, + 'company': company.id, + }]) + Move.do(moves) + + # Test 2nd level location + products_by_location = Product.products_by_location( + [storage.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual( + products_by_location[(storage.id, product.id)], 80) + + # Test 1st level and 2nd level nested locations + products_by_location = Product.products_by_location( + [storage.id, storage1.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual( + products_by_location[(storage.id, product.id)], 80) + self.assertEqual( + products_by_location[(storage1.id, product.id)], 60) + + # Test mixed flat and 2nd level nested locations + products_by_location = Product.products_by_location( + [storage.id, storage2.id], + grouping_filter=([product.id],), + with_childs=True) + self.assertEqual( + products_by_location[(storage.id, product.id)], 80) + self.assertEqual( + products_by_location[(storage2.id, product.id)], 60) + + @with_transaction() + def test_templates_by_location(self, period_closed=False): + "Test products_by_location grouped by template" + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Period = pool.get('stock.period') + Date = pool.get('ir.date') + + unit, = Uom.search([('name', '=', 'Unit')]) + template, = Template.create([{ + 'name': 'Template', + 'type': 'goods', + 'list_price': Decimal(0), + 'default_uom': unit.id, + }]) + product1, product2 = Product.create([{ + 'template': template.id, + }] * 2) + + lost_found, = Location.search([('type', '=', 'lost_found')]) + storage, = Location.search([('code', '=', 'STO')]) + input_, = Location.search([('code', '=', 'IN')]) + company = create_company() + with set_company(company): + date = Date.today() - relativedelta(days=1) + + moves = Move.create([{ + 'product': product1.id, + 'uom': unit.id, + 'quantity': 2, + 'from_location': lost_found.id, + 'to_location': storage.id, + 'planned_date': date, + 'effective_date': date, + 'company': company.id, + }, { + 'product': product2.id, + 'uom': unit.id, + 'quantity': 3, + 'from_location': input_.id, + 'to_location': storage.id, + 'planned_date': date, + 'effective_date': date, + 'company': company.id, + }]) + Move.do(moves) + + if period_closed: + period, = Period.create([{ + 'date': date, + 'company': company.id, + }]) + Period.close([period]) + + templates_by_location = Product.products_by_location( + [storage.id], + grouping=('product.template',), + grouping_filter=([template.id],)) + + self.assertDictEqual(templates_by_location, { + (storage.id, template.id): 5, + }) + + def test_templates_by_location_period_closed(self): + "Test products_by_location grouped by template with period closed" + self.test_templates_by_location(period_closed=True) + + @with_transaction() + def test_period(self): + 'Test period' + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Period = pool.get('stock.period') + transaction = Transaction() + + unit, = Uom.search([('name', '=', 'Unit')]) + template, = Template.create([{ + 'name': 'Test period', + 'type': 'goods', + 'default_uom': unit.id, + 'list_price': Decimal(0), + }]) + product, = Product.create([{ + 'template': template.id, + }]) + supplier, = Location.search([('code', '=', 'SUP')]) + customer, = Location.search([('code', '=', 'CUS')]) + storage, = Location.search([('code', '=', 'STO')]) + company = create_company() + currency = company.currency + with set_company(company): + today = datetime.date.today() + + moves = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 10, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=-5), + 'effective_date': today + relativedelta(days=-5), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }, { + 'product': product.id, + 'uom': unit.id, + 'quantity': 15, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=-4), + 'effective_date': today + relativedelta(days=-4), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }, { + 'product': product.id, + 'uom': unit.id, + 'quantity': 5, + 'from_location': storage.id, + 'to_location': customer.id, + 'planned_date': today + relativedelta(days=-3), + 'effective_date': today + relativedelta(days=-3), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + Move.do(moves) + Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 3, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': None, + 'effective_date': None, + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + + tests = [ + (-5, { + supplier.id: -10, + storage.id: 10, + }), + (-3, { + supplier.id: -25, + storage.id: 20, + customer.id: 5, + }) + ] + + products_by_location = partial(Product.products_by_location, + [storage.id], grouping_filter=([product.id],)) + + tests_pbl = [ + ({'stock_date_end': today + relativedelta(days=-6)}, 0), + ({'stock_date_end': today + relativedelta(days=-5)}, 10), + ({'stock_date_end': today + relativedelta(days=-4)}, 25), + ({'stock_date_end': today + relativedelta(days=-3)}, 20), + ({'stock_date_end': today + relativedelta(days=-2)}, 20), + ({'stock_date_end': today + relativedelta(days=-1)}, 20), + ({'stock_date_end': today}, 20), + ({'stock_date_end': datetime.date.max}, 23), + ] + + def test_products_by_location(): + for context, quantity in tests_pbl: + with transaction.set_context(context): + if not quantity: + self.assertEqual(products_by_location(), {}) + else: + self.assertEqual(products_by_location(), + {(storage.id, product.id): quantity}) + + test_products_by_location() + for days, quantities in tests: + period, = Period.create([{ + 'date': today + relativedelta(days=days), + 'company': company.id, + }]) + Period.close([period]) + + self.assertEqual(period.state, 'closed') + + caches = period.caches + for cache in caches: + self.assertEqual(cache.product, product) + self.assertEqual(cache.internal_quantity, + quantities[cache.location.id]) + + test_products_by_location() + + # Test check_period_closed + moves = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 10, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today, + 'effective_date': today, + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + Move.do(moves) + + self.assertRaises(Exception, Move.create, [{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 10, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=-5), + 'effective_date': today + relativedelta(days=-5), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + self.assertRaises(Exception, Move.create, [{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 10, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today + relativedelta(days=-3), + 'effective_date': today + relativedelta(days=-3), + 'company': company.id, + 'unit_price': Decimal('1'), + 'currency': currency.id, + }]) + + # Test close period check + period, = Period.create([{ + 'date': today, + 'company': company.id, + }]) + self.assertRaises(Exception, Period.close, [period]) + + period, = Period.create([{ + 'date': today + relativedelta(days=1), + 'company': company.id, + }]) + self.assertRaises(Exception, Period.close, [period]) + + @with_transaction() + def test_check_origin(self): + 'Test Move check_origin' + pool = Pool() + Uom = pool.get('product.uom') + Template = pool.get('product.template') + Product = pool.get('product.product') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + uom, = Uom.search([('name', '=', 'Unit')]) + template, = Template.create([{ + 'name': 'Test Move.check_origin', + 'type': 'goods', + 'list_price': Decimal(1), + 'default_uom': uom.id, + }]) + product, = Product.create([{ + 'template': template.id, + }]) + storage, = Location.search([('code', '=', 'STO')]) + customer, = Location.search([('code', '=', 'CUS')]) + company = create_company() + with set_company(company): + moves = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': storage.id, + 'to_location': customer.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + + Move.check_origin(moves, set()) + Move.check_origin(moves, {'supplier'}) + self.assertRaises(UserWarning, Move.check_origin, moves, + {'customer'}) + + def test_assign_try(self): + 'Test Move assign_try' + for quantity, quantities, success, result in [ + (10, [2], True, {'assigned': [2]}), + (5, [10], False, {'assigned': [5], 'draft': [5]}), + (0, [3], False, {'draft': [3]}), + (6.8, [2.1, 1.7, 1.2, 1.8], True, + {'assigned': sorted([2.1, 1.7, 1.2, 1.8])}), + ]: + self._test_assign_try(quantity, quantities, success, result) + + @with_transaction() + def _test_assign_try(self, quantity, quantities, success, result): + pool = Pool() + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + uom, = Uom.search([('name', '=', 'Meter')]) + template = Template( + name='Test Move.assign_try', + type='goods', + list_price=Decimal(1), + default_uom=uom, + ) + template.save() + product = Product(template=template.id) + product.save() + + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + customer, = Location.search([('code', '=', 'CUS')]) + + company = create_company() + with set_company(company): + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': quantity, + 'from_location': supplier.id, + 'to_location': storage.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + Move.do([move]) + + moves = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': qty, + 'from_location': storage.id, + 'to_location': customer.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + } for qty in quantities]) + + msg = 'quantity: %s, quantities: %s' % (quantity, quantities) + self.assertEqual(Move.assign_try(moves), success, msg=msg) + moves = Move.search([ + ('product', '=', product.id), + ('from_location', '=', storage.id), + ('to_location', '=', customer.id), + ('company', '=', company.id), + ]) + states = defaultdict(list) + for move in moves: + states[move.state].append(move.quantity) + for state in states: + states[state].sort() + self.assertEqual(states, result, msg=msg) + + @with_transaction() + def test_assign_try_chained(self): + "Test Move assign_try chained" + pool = Pool() + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + uom, = Uom.search([('name', '=', 'Meter')]) + template = Template( + name='Test Move.assign_try', + type='goods', + list_price=Decimal(1), + default_uom=uom, + ) + template.save() + product = Product(template=template.id) + product.save() + + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + storage2, = Location.copy([storage]) + storage3, = Location.copy([storage]) + + company = create_company() + with set_company(company): + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': supplier.id, + 'to_location': storage.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + Move.do([move]) + + moves = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': from_.id, + 'to_location': to.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + } for from_, to in [ + (storage, storage2), + (storage2, storage3)]]) + + self.assertFalse(Move.assign_try(moves)) + self.assertEqual([m.state for m in moves], ['assigned', 'draft']) + + @with_transaction() + def test_assign_try_skip_to_location(self): + "Test Move assign_try skip to_location" + pool = Pool() + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + uom, = Uom.search([('name', '=', 'Meter')]) + template = Template( + name='Test Move.assign_try', + type='goods', + list_price=Decimal(1), + default_uom=uom, + ) + template.save() + product = Product(template=template.id) + product.save() + + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + child, = Location.copy([storage], default={'parent': storage.id}) + + company = create_company() + with set_company(company): + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': supplier.id, + 'to_location': child.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + Move.do([move]) + + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': storage.id, + 'to_location': child.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + + self.assertFalse(Move.assign_try([move])) + self.assertEqual(move.state, 'draft') + + @with_transaction() + def test_assign_try_prefer_from_location(self): + "Test Move assign_try prefer from location" + pool = Pool() + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + uom, = Uom.search([('name', '=', 'Meter')]) + template = Template( + name='Test Move.assign_try', + type='goods', + list_price=Decimal(1), + default_uom=uom, + ) + template.save() + product = Product(template=template.id) + product.save() + + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + # Ensure storage2 comes first when ordering locations by name + storage2, = Location.copy( + [storage], default={'name': "AAA", 'parent': storage.id}) + customer, = Location.search([('code', '=', 'CUS')]) + + company = create_company() + with set_company(company): + moves = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': supplier.id, + 'to_location': storage.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }, { + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': supplier.id, + 'to_location': storage2.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + Move.do(moves) + + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': storage.id, + 'to_location': customer.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + + Move.assign_try([move]) + + self.assertEqual(move.state, 'assigned') + self.assertEqual(move.from_location, storage) + + @with_transaction() + def test_assign_without_moves(self): + "Test Move assign_try with empty moves" + pool = Pool() + Move = pool.get('stock.move') + + self.assertTrue(Move.assign_try([])) + + @with_transaction() + def test_assign_try_modified_move(self): + "Test Move assign_try with modified move" + pool = Pool() + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + + uom, = Uom.search([('name', '=', 'Meter')]) + template = Template( + name='Test Move.assign_try', + type='goods', + list_price=Decimal(1), + default_uom=uom, + ) + template.save() + product = Product(template=template.id) + product.save() + + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + storage2, = Location.copy([storage]) + customer, = Location.search([('code', '=', 'CUS')]) + + company = create_company() + with set_company(company): + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 1, + 'from_location': supplier.id, + 'to_location': storage.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + Move.do([move]) + + move, = Move.create([{ + 'product': product.id, + 'uom': uom.id, + 'quantity': 2, + 'from_location': storage2.id, + 'to_location': customer.id, + 'company': company.id, + 'unit_price': Decimal(1), + 'currency': company.currency.id, + }]) + + # Assign from a different location + move.from_location = storage + self.assertFalse(Move.assign_try([move])) + + move, = Move.search([ + ('to_location', '=', customer.id), + ('state', '=', 'assigned'), + ]) + self.assertEqual(move.from_location, storage) + self.assertEqual(move.quantity, 1) + + move, = Move.search([ + ('to_location', '=', customer.id), + ('state', '=', 'draft'), + ]) + # Remaining move has the original location + self.assertEqual(move.from_location, storage2) + self.assertEqual(move.quantity, 1) + + @with_transaction() + def test_products_by_location_assign(self): + "Test products by location for assignation" + pool = Pool() + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + Location = pool.get('stock.location') + Move = pool.get('stock.move') + today = datetime.date.today() + + unit, = Uom.search([('name', '=', 'Unit')]) + template = Template( + name="Product", + type='goods', + list_price=Decimal(1), + default_uom=unit, + ) + template.save() + product, = Product.create([{'template': template.id}]) + + supplier, = Location.search([('code', '=', 'SUP')]) + storage, = Location.search([('code', '=', 'STO')]) + customer, = Location.search([('code', '=', 'CUS')]) + + company = create_company() + with set_company(company): + move_supplier, = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 10, + 'from_location': supplier.id, + 'to_location': storage.id, + 'planned_date': today, + 'company': company.id, + 'unit_price': product.cost_price, + 'currency': company.currency.id, + }]) + move_customer, = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 5, + 'from_location': storage.id, + 'to_location': customer.id, + 'planned_date': today + relativedelta(days=1), + 'company': company.id, + 'unit_price': product.list_price, + 'currency': company.currency.id, + }]) + + Move.assign([move_supplier]) + with Transaction().set_context( + stock_date_end=today, + stock_assign=True): + pbl = Product.products_by_location( + [storage.id], grouping_filter=([product.id],)) + self.assertDictEqual(pbl, {}) + + Move.assign([move_customer]) + with Transaction().set_context( + stock_date_end=today, + stock_assign=True): + pbl = Product.products_by_location( + [storage.id], grouping_filter=([product.id],)) + self.assertDictEqual(pbl, {(storage.id, product.id): -5}) + + Move.do([move_supplier]) + with Transaction().set_context( + stock_date_end=today, + stock_assign=True): + pbl = Product.products_by_location( + [storage.id], grouping_filter=([product.id],)) + self.assertDictEqual(pbl, {(storage.id, product.id): 5}) + + with Transaction().set_context( + stock_date_end=today + relativedelta(days=1), + stock_assign=True): + pbl = Product.products_by_location( + [storage.id], grouping_filter=([product.id],)) + self.assertDictEqual(pbl, {(storage.id, product.id): 5}) + + with Transaction().set_context( + stock_date_start=today, + stock_date_end=today, + stock_assign=True): + pbl = Product.products_by_location( + [storage.id], grouping_filter=([product.id],)) + self.assertDictEqual(pbl, {(storage.id, product.id): 10}) + + with Transaction().set_context( + stock_date_start=today + relativedelta(days=1), + stock_date_end=today + relativedelta(days=1), + stock_assign=True): + pbl = Product.products_by_location( + [storage.id], grouping_filter=([product.id],)) + self.assertDictEqual(pbl, {(storage.id, product.id): -5}) + + @with_transaction() + def test_location_inactive_without_move(self): + "Test inactivate location without move" + pool = Pool() + Location = pool.get('stock.location') + storage, = Location.search([('code', '=', 'STO')]) + location, = Location.create([{ + 'name': "Location", + 'parent': storage.id, + }]) + + location.active = False + location.save() + + @with_transaction() + def test_location_inactive_with_quantity(self): + "Test inactivate location with quantity" + pool = Pool() + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + + storage, = Location.search([('code', '=', 'STO')]) + location, = Location.create([{ + 'name': "Location", + 'parent': storage.id, + }]) + unit, = Uom.search([('name', '=', "Unit")]) + template, = Template.create([{ + 'name': "Product", + 'type': 'goods', + 'list_price': Decimal(0), + 'default_uom': unit.id, + }]) + product, = Product.create([{'template': template.id}]) + + company = create_company() + with set_company(company): + + moves = Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': storage.id, + 'to_location': location.id, + 'company': company.id, + }]) + Move.do(moves) + with self.assertRaises(UserError): + location.active = False + location.save() + + @with_transaction() + def test_location_inactive_with_draft_moves(self): + "Test inactivate location with draft moves" + pool = Pool() + Location = pool.get('stock.location') + Move = pool.get('stock.move') + Template = pool.get('product.template') + Product = pool.get('product.product') + Uom = pool.get('product.uom') + + storage, = Location.search([('code', '=', 'STO')]) + location, = Location.create([{ + 'name': "Location", + 'parent': storage.id, + }]) + unit, = Uom.search([('name', '=', "Unit")]) + template, = Template.create([{ + 'name': "Product", + 'type': 'goods', + 'list_price': Decimal(0), + 'default_uom': unit.id, + }]) + product, = Product.create([{'template': template.id}]) + + company = create_company() + with set_company(company): + Move.create([{ + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': storage.id, + 'to_location': location.id, + 'company': company.id, + }, { + 'product': product.id, + 'uom': unit.id, + 'quantity': 1, + 'from_location': location.id, + 'to_location': storage.id, + 'company': company.id, + }]) + with self.assertRaises(UserError): + location.active = False + location.save() + + +def suite(): + suite = trytond.tests.test_tryton.suite() + suite.addTests(unittest.TestLoader().loadTestsFromTestCase(StockTestCase)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_product_quantities_by_warehouse.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite('scenario_stock_shipment_out.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_shipment_out_same_storage_output.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_average_cost_price.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_recompute_average_cost_price.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_inventory.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_inventory_empty_quantity.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_inventory_count.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite('scenario_stock_shipment_internal.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite('scenario_stock_reporting.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_shipment_in_same_storage_input.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_shipment_out_return_same_storage_input.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_move_in_future.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_shipment_in_return.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + suite.addTests(doctest.DocFileSuite( + 'scenario_stock_reporting_margin.rst', + tearDown=doctest_teardown, encoding='utf-8', + checker=doctest_checker, + optionflags=doctest.REPORT_ONLY_FIRST_FAILURE)) + return suite diff --git a/modules/stock/tox.ini b/modules/stock/tox.ini new file mode 100644 index 0000000000..197496c0cb --- /dev/null +++ b/modules/stock/tox.ini @@ -0,0 +1,15 @@ +[tox] +envlist = {py36,py37,py38,py39}-{sqlite,postgresql},pypy3-{sqlite,postgresql} + +[testenv] +commands = {envpython} setup.py test +deps = + {py36,py37,py38,py39}-postgresql: psycopg2 >= 2.5 + pypy3-postgresql: psycopg2cffi >= 2.5 + py36-sqlite: sqlitebck +setenv = + sqlite: TRYTOND_DATABASE_URI={env:SQLITE_URI:sqlite://} + postgresql: TRYTOND_DATABASE_URI={env:POSTGRESQL_URI:postgresql://} + sqlite: DB_NAME={env:SQLITE_NAME::memory:} + postgresql: DB_NAME={env:POSTGRESQL_NAME:test} +install_command = pip install --pre --find-links https://trydevpi.tryton.org/?local_version={env:CI_JOB_ID:{env:CI_BUILD_NUMBER}.{env:CI_JOB_NUMBER}} {opts} {packages} diff --git a/modules/stock/tryton.cfg b/modules/stock/tryton.cfg new file mode 100644 index 0000000000..5e917a16d6 --- /dev/null +++ b/modules/stock/tryton.cfg @@ -0,0 +1,22 @@ +[tryton] +version=6.0.19 +depends: + company + currency + ir + party + product + res +xml: + stock.xml + product.xml + location.xml + shipment.xml + move.xml + inventory.xml + party.xml + configuration.xml + period.xml + message.xml + res.xml + stock_reporting_margin.xml diff --git a/modules/stock/view/configuration_form.xml b/modules/stock/view/configuration_form.xml new file mode 100644 index 0000000000..90e5333a0e --- /dev/null +++ b/modules/stock/view/configuration_form.xml @@ -0,0 +1,21 @@ + + +
+ +