The MySQL decimal (A.K.A. numeric) data type can be used to store the exact numerical value with a fixed point decimal. The Syntax of MySQL's decimal is "DECIMAL(precision, scale)".
When handling currency in MySQL, use DECIMAL(13,2) for general use and DECIMAL(13,4) if GAAP Compliance is needed.
There are different ways we can store currency in PostgreSQL, this blog post will cover the money and numeric type.
Reports can be complex to develop. Sometimes SQL views help us rationalize these complex reports. Rails doesn't ship with SQL view support by default, but the Ruby Gem Scenic is very effective at utilizing SQL Views in Rails.