xTuple.com xTupleU Blog & News Customer Support

Thoughts regarding customer PII

Greetings fellow xTuplers,
My company has a customer who sells products on Amazon and then fulfills the orders from their own warehouse. They probably process 25 - 50 orders a day from Amazon. We’ve written an API that talks to Amazon’s API and the orders are automatically imported into the customers xTuple system and then follow the exact same fulfillment path as an order entered by customer service or an ecommerce website entered order. The “customer” for each of those Amazon is “Amazon Merchant Account”. The ship-to information for Amazon orders are stored as a “free-form” ship-to addresses.

Amazon is now requiring that all PII (Personal Identifiable Information) be removed from any data storage within 30 days of order shipment. The Amazon definition of PII includes buyer’s first and last name, buyer’s street address, buyer’s email address, buyer’s phone number,and buyer’s 9 digit zipcode. That is my challenge.

I know this PII shipping information is propagated by the normal processing of an xTuple sales order. Things like invoices, tax records, RMAs, etc. So I think I’ll have to use a creative process to meet Amazon’s requirements. My customer also uses a custom picking/packing/ and shipping software that needs to use all of this Amazon provided ship-to data.

My first idea is to create an additional table (maybe “cohead_extra”) to hold the actual ship-to data as received from Amazon. Then within the initial cohead rec at import time I’ll load the cohead PII data columns with some sort of “redacted” info. I’ll have to build some functions, views, or other mechanism to be able to retrieve the “real” shipto info during the order fulfilment process. I’ll automate a process to automatically remove the “real” data from my cohead_extra table 30 days after shipment.

So today I’m beginning to try to implement this strategy without breaking anything. I’m planning on putting all of this code into an extension package so it can be easily added or removed. My reason in posting here is to expose my strategies to the eyes of the experts here. I’d love any feedback or “gotchas” anyone might see. I’m pretty thick skinned so don’t pull any punches if you feel this is doomed to fail!!

Thanks for any input.
Jim Wirt

Hi Jim:

Since I know nothing about the workings of the Amazon personal store I looked up some different explanations of this new policy along with their justification. There was some mention of being able to keep the real ship to address information for sales tax audit purposes.

It would seem to me like your planned solution should work.

Again not understanding how this whole process works some questions come to mind about returns and exchanges, warranty, etc.

The article I read indicated a lot of companies who use this method are screaming loud and long but the power of Amazon seems to let them do whatever they want.

I wish you luck and if any one can pull this off I am sure you and you company can.


Thanks for the feedback Larry. The retention of PII for “tax audit” seems like a good reason to store that info. However in my customer’s case Amazon collects all the tax at checkout time. Then when Amazon pays my customer for the items they’ve sold they withhold the amount of tax they’ve collected and then pays the tax authorities directly. So in their current model Amazon is the purchasing customer and Amazon is “tax exempt” because they are a reseller to the Amazon customer.

Amazon started enforcing this new policy sometime after the first of the year. For a while they actually stopped sending the PII info via their API feed. My customer had to go through an audit process to get them to begin sending that info again via the API. These giant companies can set their own policy and there is nothing the little guys can do about it.