Save subscriptions to be changed in a csv
This commit is contained in:
parent
a38a4a86a4
commit
5530b48d0d
1 changed files with 38 additions and 0 deletions
|
@ -64,6 +64,44 @@ class Command(BaseCommand):
|
||||||
break
|
break
|
||||||
logger.debug("There are %s ch subscription that need VAT rate update" % len(ch_subs))
|
logger.debug("There are %s ch subscription that need VAT rate update" % len(ch_subs))
|
||||||
|
|
||||||
|
# CSV column headers
|
||||||
|
csv_headers = [
|
||||||
|
"customer_name",
|
||||||
|
"subscription_id",
|
||||||
|
"subscription_name",
|
||||||
|
"amount",
|
||||||
|
"vat_rate"
|
||||||
|
]
|
||||||
|
# CSV file name
|
||||||
|
csv_filename = "ch_subscriptions_change_2024.csv"
|
||||||
|
# Write subscription data to CSV file
|
||||||
|
with open(csv_filename, mode='w', newline='') as csv_file:
|
||||||
|
writer = csv.DictWriter(csv_file, fieldnames=csv_headers)
|
||||||
|
writer.writeheader()
|
||||||
|
|
||||||
|
for subscription in subscriptions:
|
||||||
|
subscription_id = subscription["id"]
|
||||||
|
customer_name = subscription.get("customer", "")
|
||||||
|
items = subscription.get("items", {}).get("data", [])
|
||||||
|
|
||||||
|
for item in items:
|
||||||
|
subscription_name = item.get("plan", {}).get("id", "")
|
||||||
|
amount = item.get("plan", {}).get("amount", "")
|
||||||
|
vat_rates = item.get("tax_rates", [])
|
||||||
|
|
||||||
|
# Convert amount to a proper format (e.g., cents to dollars)
|
||||||
|
amount_in_chf = amount / 100 # Adjust this conversion as needed
|
||||||
|
|
||||||
|
# Writing to CSV
|
||||||
|
writer.writerow({
|
||||||
|
"customer_name": customer_name,
|
||||||
|
"subscription_id": subscription_id,
|
||||||
|
"subscription_name": subscription_name,
|
||||||
|
"amount": amount_in_chf,
|
||||||
|
"vat_rate": ", ".join(vat_rates) # Fill in VAT rate if available
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
if MAKE_MODIFS:
|
if MAKE_MODIFS:
|
||||||
print("Making modifications now")
|
print("Making modifications now")
|
||||||
tax_rate_obj = stripe.TaxRate.create(
|
tax_rate_obj = stripe.TaxRate.create(
|
||||||
|
|
Loading…
Reference in a new issue