The Senate sent President Bush a bill Thursday to make lawmakers pay for private plane rides and disclose more about their efforts to fund pet projects and raise money from lobbyists.
Some advocates called it the biggest advance in congressional ethics in decades. But Bush received it coolly, saying it does not go far enough.
The president has "serious concerns" and has not decided whether to sign it, said White House spokeswoman Emily Lawrimore.
Democrats hailed the 83-14 Senate vote as proof that they are fulfilling their 2006 campaign promise to crack down on lobbying abuses, which sent some lawmakers and a prominent lobbyist to prison.
Like the House, the Senate passed the bill by a margin that would overcome a presidential veto, assuming that no lawmakers switched sides.
Both Florida senators voted for the bill.
The bill would require lawmakers seeking targeted spending projects, or earmarks, to publicize their plans in advance. Lawmakers and political committees also would have to disclose those lobbyists who raise $15,000 or more for them within a six-month period by bundling donations from many people.
The Democratic-crafted bill would bar lawmakers from taking gifts from lobbyists or their clients. Former senators and high-ranking executive branch officials would have to wait two years before lobbying Congress; ex-House members would have to wait one year.
Sen. Dianne Feinstein, D-Calif., called it "the most sweeping reform bill since Watergate."
But several Republicans said it fell short of requiring full disclosure of earmarks, which have soared in number - and controversy - in recent years. Some earmarks fund popular civic projects that boost a lawmaker's re-election prospects. Others help large contractors or other companies that hire lobbyists and donate to campaigns.
Bush feels the earmark disclosure requirements are "toothless," Lawrimore said.
All 14 senators who voted against the bill were Republicans.