Reports based on updated "Custom Fields" post order

Hey Folks,

I’ve been running SambaPOS at my home system for the past 2-3 months. It’s a delivery based setup so the custom entities options helps a lot.

When taking an order, I try and mark each customer on a “customer field” based on his “location type” as either being from “Office, House or Apartment”. This allows me to look at custom reports, and see what my revenue streams are. Now it so happens that not all customers were marked by their “location type” when taking orders, so i often get an empty revenue stream.

Now is it possible to retroactively mark the customers and assign/change their location type so that i get reports based based on their “updated” “location type”. Or is the “location type” stored in SQL only when an order is punched?

Do you want the old tickets modified? Or just the customers custom data so future orders will report correctly?

Well, i want to view the “reports” which includes already closed tickets based on the updated custom data.

So i guess for that i’ll have to modify old tickets? Is there any other way to do it?

You would have to individually pull up each ticket reopen it, reset payment, change customer entity to the updated one then repay ticket with same payment method.

damn … is there any other way around it :S?

Retroing anything will be hard work there will not be an easy way. This is a good thing so data integrity is preserved.

hmmm … nah it’s too detailed as i guess i’ll have to pull up some 1000 odd tickets… perhaps i can do this outside of SambaPos?

If your good with SQL you could do it with a SQL script but I would advise you not even attempt it if you do not know what to do. Manually editing the database can cause all sorts of trouble if you are a novice and do not understand the implications of how it interacts with settings in Samba and whether or not your manual changes would conflict with Samba’s behavior.

To be honest with these sorts of issues it is best to just create a new starting point for your tracking.

How are you “marking” this data? (Customer) Entity Custom Field? Ticket Tag?

Either way, in both cases, this data is stored in the DB in JSON format which is not easy to alter using SQL (not that it couldn’t be done).

Or is the “marking” of the customer/ticket done a different way?

Hi! I think i’ll post a few screenshots to make things easier to understand :smile:

So I’ve this column “Type” which helps me classify customers based on their location type.
Now as you can see one of the customer has a particular location, whilst the other doesn’t. He was probably not assigned one when taking an order.

So when i’m running my report “Jamie” doesn’t goto into one of the categories and that skews my result, is there anyway to ensure that for people like Jamie, who did not have a Specified “Type” can be appeard to show in one of the report categories?

@paxi I agree with @Jesse about starting a new tracking point. You’ll probably won’t remember all missing values so you’ll just move them to a different value. I don’t think that will be a real result.

I’ll try to implement a required feature for custom settings so you won’t miss them next time.