Wednesday, March 3, 2010

Where am I - Roadmap

One thing I want to clear:
All my work is goin in the way of "syncing Magento TO Checkout App"...meaning my codes will not be as useful for those who already work on Checkout as for those who work on Magento and just want to add POS like me.

Concept is, sync tax, customers, products, stock and orders.
syncing orders will run the customers sync codes along the process to successfully assign the customer to the synced product with updated shipping addresses.
I already implemented the tax sync, but for me, in Egypt, we have only sales tax of 10%, no tax regions or any other special or compound rates...So I only implemented syncing the tax rate as a tax group in Checkout.

I am currently in the middle of coding the simple products sync.
The plan is to successfully implement :
-Customers sync/detect changes and update (done)
-Tax rates sync (done)
-Sync orders (partially done-without products or amounts)
-Sku, name, prices, cost, tax assigned for simple products(in progress)
-Sync stock to update inventory total costs and ledger
-Use of variations to sync configurable products and their associated simple products
-Sync stock back to Magento
-Automate these actions somehow, like with cron jobs or trigger after event
-Create a kind of log of each process/sync done for revising and error handling/fixing situations

I really am not finding hard time coding, and I really encourage people to start working with me on this module because in 10 days I am 30% done of what I need, so this is promising.
I also want to clear out that since I'm not just developing this for the community but first of all solve my work case. Then, not all features can be implemented in this module by me since I don't have the time, and I don't have the case to work on.

Maybe we can move this project on to bazaar or other similar project management solutions

6 comments:

  1. this sounds great. i take care of my wifes online store and have been trying to figure out a way to simply upload the check out export to magento. i can get all the simple products to work but have a terrible time with the configurable products.

    i like what your doing so i will keep watching to see if i can learn more

    ReplyDelete
  2. do you know a method for making exported products from checkout sync with configurable products in magento?

    ReplyDelete
  3. yes, it can be done, but as this is not what i need exactly so i didnt write it yet, but i'm planning to make it happen if you need and i do have time.

    well, a minute ago, i successfully synced orders with items, prices and allocations :) it's working beautifully.

    As I don't have time to blog what I reached I just take this minute to say The next mainly needed feature is synching stock to magento from checkout app (since after you sync stock to pos, or if u sell directly from pos, magento needs to know what quantity is left unallocated).

    then, after i'm done with this stock sync, comes the auto sync..I'm thinking of making a small video demoing all i've reached and how to set it up

    ReplyDelete
  4. oh one thing, I did make it happen to sync simple and configurable products in orders with no problem

    ReplyDelete
  5. I'm just starting to do a similar thing and I'm glad more people are doing it than me!

    I was able to get access to Checkout's postgresql database but am having trouble finding the database table where the "products" data is kept. Should it be in a table called "product" ? Am I missing something because I don't have a registered version of Checkout?

    ReplyDelete
  6. hello patcoll,

    products are found in "item" table.
    Checkout App treats products, addresses, users, customers in a way that a record is saved in "item" table with a specific "type" field value.
    products have type=2

    Checkoutapp when deleting a product does not delete the record in item table, it just set its "deleted" field to "true".

    to query all products:
    SELECT * FROM item WHERE deleted=false AND type=2

    Also, further item information is found in "metavalue" and "metanumber" tables. "id_metatype" specifies what these values are (e.g 2 is name)...check "metatype" table to understand these values.

    products quantities are found in "stock" table.

    "trial" and "licensed" versions just enable or disable logging from the application to the database...and there are no other differences that I can notice.

    ReplyDelete