The Republican-led US Senate has approved a sweeping, US$1.5 trillion (NZ$2.1 trillion) tax bill, moving their party and President Donald Trump a step closer to the largest overhaul of the US tax code in more than 30 years.
The victory, expected to be sealed within hours, will not come without embarrassment for Republicans, who tripped up on a last-minute procedural snag that forced them to schedule a re-vote by the House of Representatives later in the day.
Republicans shrugged off the mistake. White House legislative affairs director Marc Short, commenting on the need for a House re-vote, said: "I don't think it's that uncommon for a big piece of legislation like this."
Democrats, who uniformly opposed the tax bill, pounced on the oversight as a telling reflection of the hurried, secretive process Republicans used in developing the measure.
"The House revote is the latest evidence of just how shoddily written the GOP tax scam really is," House Democratic leader Nancy Pelosi said in a statement.
The bill's major components include steep tax cuts for corporations and wealthy taxpayers, a revamp of how the United States taxes multinational companies, and a new tax deduction for the owners of "pass-through" businesses, ranging from mom-and-pop stores to large real estate and financial enterprises.
The debt-financed bill offers temporary tax rate cuts for some individuals and families. But it sharply reduces the number of Americans who itemise deductions on their tax returns, and cuts back the number and scope of many available deductions.
The House passed it 227-203 in its first vote on the bill, steamrolling Democrats who called the bill a giveaway to corporations and the wealthy that will add US$1.5 trillion to the US$20 trillion national debt over the next 10 years.
Treasury Secretary Steven Mnuchin was on the Senate floor during the vote, shaking hands and exchanging congratulations with Republican senators as protesters in the spectator gallery overlooking the floor chanted: "Kill the bill."
The changes made by the Senate, although small, meant that another House vote was required and it was set for late Wednesday morning, with approval expected. It would then go to Mr Trump for his signature, enacting it into law.