Skip to content

Instantly share code, notes, and snippets.

@avidas
Last active January 8, 2018 15:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save avidas/3b1389e6025cd180e6d989e0844feeb2 to your computer and use it in GitHub Desktop.
Save avidas/3b1389e6025cd180e6d989e0844feeb2 to your computer and use it in GitHub Desktop.
begin
TenantService.switch_to_rest_of_world_tenant
account = Account.find_by_short_code("DYD9GC")
location = Location.find_by_code("LON11")
# Get billing period
start_of_two_months_ago = Date.today.last_month.last_month.beginning_of_month
end_of_two_months_ago = Date.today.last_month.last_month.end_of_month
two_months_ago_range = start_of_two_months_ago..end_of_two_months_ago
billing_period = two_months_ago_range # Invoice for December covers Nov 1 - Nov 30th
# Mid month refunds created during November
# prevents December invoice to be generated
# We need to archive them
Reservation.
where(account: account).
where(ended_on: billing_period).
select{ |r| r.reservable.name == "Mid-Month Move Out Refund" }.
map(&:archive!)
# Regenerate December invoice
# We are going to generate the active invoice for December
# and let billing finalize it.
Invoices::InvoiceManager.new.update!(account, location, two_months_ago_range)
end
@kgoettsc
Copy link

kgoettsc commented Jan 5, 2018

where(ended_on: billing_period) does this return all with ended_on inside of that range?

These reservations that we are archiving, are they on any finalized invoices?

@avidas
Copy link
Author

avidas commented Jan 5, 2018

Yeah, that returns all within the range.

They are not on any invoices, they are mid month refunds with price set to 0. I pinged Dan and Michelle to get more context on how this ended up happening in the first place.

@kgoettsc
Copy link

kgoettsc commented Jan 5, 2018

👍

@tyjet
Copy link

tyjet commented Jan 8, 2018

👍

@jhjwind
Copy link

jhjwind commented Jan 8, 2018

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment