There's nothing in the Constitution that says the government has to use a cash basis for levying taxes.
Sixteenth Amendment: "The Congress shall have power to lay and collect taxes on incomes, from whatever source derived, without apportionment among the several States, and without regard to any census or enumeration."