Currently, if the Dashboard shows a customer associated to the payment it doesn’t always mean that a customer_id will be in the order. If the customer is added at the time of sale it will have the customer_id associated to it. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team.
If they add the customer after the payment has been completed the customer_id should be present in the order. If they skip that step then the customer_id isn’t guaranteed to be in the order.
The team confirmed that at the time of payment the customer wasn’t set in the payment request. The customer was added to the sale in the Dashboard which at this time doesn’t update the already completed order and that is why the customer_id isn’t showing in the order response.
At this time it’s currently not available with the API even though it’s showing in the downloaded report. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team.
It’s unfortunately not going to be on the payment record as well. We are looking to make this better in the future. At this time there isn’t a public roadmap for this feature. With Virtual Terminal all customers should be added to the sale prior to payment. Adding the customer after payment will result with no customer_id in the order of the payment.
We need an event report with a list of who paid to attend the event. We have been getting this through the Sales Item report, but it takes hours to format and massage the CSV file every time we need the report for an event. So I spent hours building this report using your API, to discover that I am not getting the customer ID when the sale is done through the POS system. This is just not right. I am extremely frustrated with Square and their lack of reporting. To me this is a bug in the API and it needs to be fixed ASAP so I can get my report out. Can you please escalate this and get it fixed please?
Currently with the POS if you add a customer after the payment before hitting new sale the customer_id will be included in the order. The order example that you provided was taken with Virtual Terminal in the Seller Dashboard. With Virtual Terminal you are only given the option to add a customer before a sale. Not After. This is why there isn’t a customer_id in the order.
You can update the payment record in the Transactions section of the Dashboard to include a customer however it won’t add the customer to order that’s returned in the API response. This is what happened with this particular payment. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team.
But why is it in the Item Sales report then? This does not make any sense, it should not matter when the customer is added it should always be part of the order. Now go do the right thing and fix the damn bug
I haven’t heard back from you, I really need this to get fixed!
Here is another one that does not have a customer_id, yet it is an online order: i0apfaY9UicizhQXJBv9hdBgxMcZY