Exodus 30 isn't about almsgiving. It is about a census tax that was given during the census.
11 The Lord said to Moses, 12 “When you take the census of the people of Israel, then each shall give a ransom for his life to the Lord when you number them, that there be no plague among them when you number them. 13 Each one who is numbered in the census shall give this: half a shekel[
b] according to the shekel of the sanctuary (the shekel is twenty gerahs),[
c] half a shekel as an offering to the Lord. 14 Everyone who is numbered in the census, from twenty years old and upward, shall give the Lord's offering. 15 The rich shall not give more, and the poor shall not give less, than the half shekel, when you give the Lord's offering to make atonement for your lives. 16 You shall take the atonement money from the people of Israel and shall give it for the service of the tent of meeting, that it may bring the people of Israel to remembrance before the Lord, so as to make atonement for your lives.”
Was Tobit paying advocating the people to pay a census tax that was directed by God to Moses? The purpose of the tax was to provide resources for the "Service of the tent of meeting". This was a specific tax, for a specific purpose, at a specific time. Not a general "almsgiving" that anyone can do at any time.
This doesn't command to give money. It commands offer a ram that is worth the shekel value of the sanctuary.
Here is the NLT
15 “If one of you commits a sin by unintentionally defiling the Lord’s sacred property, you must bring a guilt offering to the Lord. The offering must be your own ram with no defects, or you may buy one of equal value with silver, as measured by the weight of the sanctuary shekel.[