Use Whenever gem and do as follows:
Example schedule.rb
file,
every '0 0 1 * *' do
runner "Model.your_method_generating_invoice"
end
The notation '0 0 1 * *' indicates that it will run once in every month.
To know more about the notation '0 0 1 * *', just refer here
Hope it helps :)