I just started working for this company. The go live happened in December of 2020. During the data migration, some of the vendor bills that were already paid in the previous ERP ended up getting mixed in with the migrated data. So now we have a balance on the GL and Subledger that has already been accounted for in cash. Is there a way to fix the data without double booking the balance?
TIA
Related
We have an issue with customers getting double charged.
Today we noticed that another batch of orders was charged twice in Authorize. We don't see any sign of a second charge in the notes on Magento but the customer did receive a shipment notification from Magento on the day she was charged again. This particular order came into the system on 11/14 and was processed and shipped on 11/18. This customer emailed us today that she was charged again on 12/14/22. No one on our team has opened that order since 11/18.
Does anyone have an idea on this issue? On 11/14 we changed the settings in Authorize that allowed us to have less strict rules for having a matching billing zip and street address so we could allow the order to go through and then check ourselves if we would allow the order to be processed. None of these orders were marked as fraud though.
Given the detail you provided that the identical charge occurred again on the same day of the following month, it seems most likely you may have accidentally turned on a recurring payment option, either as an option on a virtual product of some kind or in one of your specific payment payment processing settings in the Magento Admin Panel.
Depending upon which extensions you may have installed, two other strong possibilities to check would be:
A 3rd party payment processor has given your customer the option to select a recurring charge and they accidentally activated that option.
An extension allowing customers to manage/schedule reorders through the Customer Account Management section of the Magento storefront has been accidentally activated by the customer.
Either of these two options becomes far more likely if this is occurring on some but not all orders.
My problem:
Currently in my project it's required to keep a payment in an uncaptured state for more than 7 days which is the maximum for stripe.
What I came up with atm:
I see that it can be done by remembering customer's card (using stripe's api for this of course), creating an uncaptured payment, refunding it when the 7-day period comes to an end and creating it again until we choose to finally capture it.
I guess this 'hack' will be used only once per a payment as usually we have to hold the payment for about 10 days.
Questions:
Are there any pitfalls besides that a customer will see a second payment?
Any other ways to handle this?
Thanks in advance :)
So we ended up sticking to this method described in the question, but #korben's point is true, it's still hard to handle because even if a bank can release the funds fast, we still don't know when exactly does it happen as stripe can't inform us when the customer actually got his money back whether it's two minutes or two days.
It still works for us, because the payment is not that big and happens in person, so customers can choose whether they want to give a deposit in cash or use this method which seems more comfortable.
For context (because I was recently solving this problem and came across this thread), a number of websites recommend if you have a payment that wasn't captured within seven days, then cancel the order and create a new one. For example, Shopify recommends this and the authorization expiry date is displayed on the Orders page.
However, for all of the reasons #korben mentioned, it's best practise to avoid holding authorizations for over 7 days. Additional fees are also charged when collecting charges after the standard authorization period (depending on the issuing bank of a credit card).
I have a unique use case where I need to build in 14 extra days on top of a Stripe subscription plan but bill the client immediately. So if the plan is a 6 month plan, we really want to give the user 6 months and 14 days.
I originally thought I could leverage Stripe's trial feature for this, but found that the trial feature causes the billing to happen after the 14 days have passed which is not what we want.
I then tried to create plans by number of days (which is not really ideal but was worth a shot) but soon found that you cannot create a plan by days with more than 365 days (a year's plan with our model being 365+14).
I'm now thinking about creating one 14 day temp plan, subscribing a user to that, charging them and then after the 14 days, switching the user's plan over to a real 6 (or 12) month plan. This just feels overly complicated with a lot of overhead for wanting to simply add in extra days. I haven't seen anything anywhere in the docs that addresses this.
I should mention that I intend to use Laravel Cashier with this project and that I will also need to offer multiple plans per subscription.
UPDATE:
I just discovered that you can alter the billing cycle after a subscription has been billed using a trial. Which would mean that I should be able to create a customer subscription with multiple plans for say 6 months and then immediately after, create a 14 day trial on that subscription. If I go this route, it looks like I would need to set prorate to false and this might do the trick.
I still need to know if this will achieve the desired effect as well as work with both cashier and multiple plans.
I'm not sure why this got down-voted as it is a valid question given the limitations of Cashier along with the unconventional use case.
For anyone who might have more custom needs when using Stripe & Laravel Cashier and comes across this question:
I've since had time to explore this and found that Laravel Cashier cannot handle editing the subscription after the fact. There is no update feature there. Only the basic abilities to change/cancel plans. This didn't work for my needs.
What I ended up doing was using Cashier for creating Invoices as well as creating the subscription. Immediately after I am able to use the Stripe API directly to edit that subscription. By adding a trial_end with a date set 14 days after this subscription's current_period_end I can force the billing date of the next invoice to where I need it to be.
So for example, when a user subscribes to a 1 year plan, my update code would look like the following:
$current = Carbon::now();
$BillCycleDate = $current->addDays(379)->timestamp;
$edit_subscription = \Stripe\Subscription::retrieve($subscription->stripe_id);
$edit_subscription->trial_end = $BillCycleDate;
$edit_subscription->prorate = false;
$edit_subscription->save();
Also, I'm not sure if its a bug in the Stripe API, but simply specifying a trial_end date 14 days out on a subscription update causes the invoice to be rebilled right after that trial end date - despite the plan's interval being a year.
A couple of months ago I set up a new website on Azure and opted in to create a free 20MB database with it. Everything has been fine, up until a couple weeks ago when I suddenly started getting charged for my database. After raising a ticket, I was told that my database had somehow moved onto the standard 0-100mb option. I don't remember doing this, however, I was wondering if there was a way of reverting it back to the free version. It's a little annoying as my database is only about 3mb in size and is not holding much data or used intensively.
Any help would be appreciated.
Thanks
As far as I know there isn't a way. It was my understanding that when you sign up for Azure you get a 90 day free trial [assuming you stay within the confines of the free trial resource limits]. At the end of the trial you will begin to be billed
EDIT:
It seems that the 90 day trial is no longer valid...
Old offer: http://azure.microsoft.com/en-us/offers/ms-azr-0018p/
New Offer: http://azure.microsoft.com/en-us/offers/ms-azr-0044p/
I'm working on an application to connect to the Google Adsense API. As I'm based in the UK, my reports on the Google Adsense web login are all set to UK local time. However, the API data all seems to be solely in Pacific Time, AKA Google Standard Time :-)
This isn't necessarily a huge issue, as it doesn't affect actual earnings. But it does make it harder to track things like CPC and CTR on a daily basis. It would be easier if I could drill down into the data to hourly level, as then I could easily reallocate out-of-zone hours to the adjacent day. But that doesn't seem to be an option either, unless I'm missing something.
I've searched the documentation, but can't seem to find any means of controlling the timezone of API data. Is there any way to get the APi to deliver the data in a local timezone, or do I just have to put up with getting my reports in Pacific time?
As a developer you can't define a time zone to use, but as a publisher you can change your local time zone in the AdSense web interface. After that, you can use useTimezoneReporting when requesting a report.
Read the full explanation and "Things to watch out for" in:
https://developers.google.com/adsense/management/timezone
Situated in the UK, I request a saved report from AdSense API and with "yesterdays" data.
When triggered after midnight our time it pulls data from the day before yesterday...
I didn't know the API was functioning on PST time and just believed it would follow the local timezone set on our account.
Even though the documentation in the comment above mentions reports will be done in "local time" when set in your account, the API will still operate calls based on its own timezone (PST). +8 hours GMT.
So if you need to get "yesterdays" report, be sure to set the date on your call or adjust your schedule to match the PST time zone.