Ukraine's parliament passed a bill to overhaul how the armed forces drafts civilians into its ranks on Thursday after a general told the chamber that Russian forces outnumbered Kyiv's troops up ten times on the battlefield in the east.

The bill, which did not include a set of draconian draft dodging penalties that sparked public outrage earlier, aims to boost the number of troops more than two years since Russia's full-scale invasion. The bill was overtly backed by the military.

"Pass this law and the Ukrainian Armed Forces will not let down you or the Ukrainian people," General Yuriy Sodol, commander of the joint forces, told lawmakers.

"We are maintaining our defences with our last strength," he said as lawmakers stood up and applauded more than a dozen commanders who attended the session.

Military analysts say Ukraine's armed forces need to address acute problems with manpower, as well as their artillery shell shortage, with better-equipped Russian forces inching forward in the east.

"The enemy outnumbers us by seven to ten times, we lack manpower," said Sodol, who is commanding Kyiv's troops in the Kharkiv, Donetsk and Luhansk regions in eastern Ukraine.

The bill passed with a majority of 283 votes, Yaroslav Zhelezniak, a lawmaker for the Holos party, wrote on the Telegram messaging app.

The bill still needs to be signed by President Volodymyr Zelenskiy before it becomes law.

DON'T EXPECT 'MIRACLES'

The legislation should give the military better visibility into how many people it can call up in cities or towns, and where individuals are physically located.

The law gives Ukrainian men 60 days to update their personal data with the military authorities. Until now, draft offices had to rely on sometimes incomplete and old data.

The legislation also removed an array of far-reaching penalties for draft dodging that were proposed in an earlier draft, sparking outrage. There have been thousands of cases of draft dodging during the war.

The bill also struck out an earlier proposal to set a time line for when soldiers can be demobilised, meaning that wartime military service remains open-ended, a sensitive issue for those who have been fighting since the start of the war.

Lawmaker Oleksandr Fedienko said the passage of the bill would send a "message to our partners that we are ready to retake our territory and we need weapons."

Ukraine is grappling with a slowdown in western military assistance.

Maksym Zhorin, a deputy commander of Ukraine's third assault brigade, said the law would not lead to "miracles" on the battlefield. "Undoubtedly, it will bring a little more order and systematics in general to the issue of mobilization," he said on television, adding it would not solve all the problems. "Personally, I would make it much tougher and also continue to reduce the conscription age."

Last week, Zelenskiy signed separate legislation into law to lower the conscription age to 25 from 27. Parliament is considering another bill to allow convicts serving suspended sentences to fight in the army. Lawmaker Mariana Bezuhla criticised the bill on Facebook, saying: "They made it as soft and confusing as possible. And months were lost..."

It took parliament several months to put the bill to a final vote this week, as politicians accused each other of drafting poorly-worded amendments and lacking the political will to approve unpopular changes. Over 4,000 amendments were submitted after the first reading in February. Deputies rejected most of the amendments, significantly watering down initial proposals on punishments for those who were trying to evade the draft.

(Additional reporting by Yuliia Dysa; Editing by Tom Balmforth and Christina Fincher)