Differences between revisions 2 and 3
Revision 2 as of 2020-08-21 02:34:54
Size: 4948
Editor: LanceEdgar
Comment: Add section about Purchasing
Revision 3 as of 2020-08-21 03:08:27
Size: 6251
Editor: LanceEdgar
Comment: Add section for CORE-POS
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
This page describes some features of the public [[https://demo.rattailproject.org|Rattail Demo]]. This page describes some features of the public Rattail Demo, at https://demo.rattailproject.org
Line 10: Line 10:

== CORE-POS ==

Actually this demo starts with CORE-POS. There is a demo copy of CORE Office installed at https://demo-fannie.rattailproject.org

So everything you see in the Rattail Demo menu, under the "CORE-POS" section, are direct read-only views to the CORE-POS DB (MySQL).

However there are several "native" Rattail tables in the demo, for which data originally came from CORE and should be kept perpetually in sync:

 * [[https://demo.rattailproject.org/customers/|Customers]]
 * [[https://demo.rattailproject.org/people/|People]]
 * [[https://demo.rattailproject.org/members/|Members]]
 * [[https://demo.rattailproject.org/departments/|Departments]]
 * [[https://demo.rattailproject.org/core-pos/subdepartments/|Subdepartments]]
 * [[https://demo.rattailproject.org/vendors/|Vendors]]
 * [[https://demo.rattailproject.org/products/|Products]]

For each, CORE is considered "authority" so a change occurring in CORE should be immediately propagated to Rattail Demo. There may be some tables for which Rattail Demo is ''also'' considered authority, in which case if you make a change in Rattail Demo then CORE should be updated immediately also. If a table supports such a 2-way sync then you may notice that you have access to "edit" (etc.) the records within Rattail Demo.

Rattail Demo

This page describes some features of the public Rattail Demo, at https://demo.rattailproject.org

Please note that you should login as "chuck" with password "admin" to gain full access to the demo.

You can also see the source code for the demo.

CORE-POS

Actually this demo starts with CORE-POS. There is a demo copy of CORE Office installed at https://demo-fannie.rattailproject.org

So everything you see in the Rattail Demo menu, under the "CORE-POS" section, are direct read-only views to the CORE-POS DB (MySQL).

However there are several "native" Rattail tables in the demo, for which data originally came from CORE and should be kept perpetually in sync:

For each, CORE is considered "authority" so a change occurring in CORE should be immediately propagated to Rattail Demo. There may be some tables for which Rattail Demo is also considered authority, in which case if you make a change in Rattail Demo then CORE should be updated immediately also. If a table supports such a 2-way sync then you may notice that you have access to "edit" (etc.) the records within Rattail Demo.

Purchasing

Rattail tries to assign a broad meaning to the word "purchasing" - this is the parent term under which "ordering" and "receiving" also fall. You should think of it like this:

  • a "purchase" is just that, a purchase made by you the store, to some vendor, regardless of which "phase" it happens to be in

  • an "ordering batch" is a temporary workspace where a new "purchase" (aka. PO) is being built
  • when an "ordering batch" is executed, a true "purchase" is created (until then it didn't exist)
  • a "receiving batch" is a temporary workspace where incoming product is "received" which may or may not involve an existing "purchase"
  • i.e. may receive "from scratch", or "from purchase" in which case user receives "against" original PO quantities
  • when a "receiving batch" is executed, a purchase is created (or updated if it already existed) per the new phase and received quatities
  • additionally, some "purchase credits" for the vendor may be created for tracking purposes

Purchases

So again, in Rattail terms "purchase" is the broad term and so the only records in the demo's Purchases table will be those which have been "truly" created by way of executing an ordering batch, etc.

Ordering

The demo allows you to create a new Ordering Batch. The data isn't that great so probably easiest is to choose "Acme" as the vendor.

Once the batch itself has been created, then you can "populate" the batch. So far the demo only gives you one way to do that, which is to "Edit as Worksheet" - this gives you basically an order form which shows all items available from that vendor, and you can fill it out. (Note that you must type a quantity and then press ENTER to submit the change.)

And when you execute the batch, a Purchase is officially created.

Receiving

Coming soon, to a demo near you, will be a mobile-first single-page app built with Vue.js, which will show how receiving can be done on a phone (ideally with barcode scanner sled).

But for now alas, we must wait until I add that.

Purchase Credits

The software has some logic for handling so-called "credits" with the vendor. So far it's a bit rudimentary and in fact is not exposed within the demo yet.

But if you're curious, all it does is automatically create them when receiving against a PO and a "gap" is noticed. Once a credit is created, it just sits there until a user changes its status, but that again doesn't really affect the system or other data. The credits are there just so you can see their status, but you must manually keep it updated or else there's no point to them.

Shopfoo

This feature is meant to mimic an integration with an e-commerce platform, but specifically one such as Instacart, Freshop, Mercato etc. So basically if you use Instacart, then whenever you encounter the term "Shopfoo" you can think of "Instacart" instead.

The general pattern for "Shopfoo" is where the local product data periodically must be "exported" to the target (Shopfoo) system, by way of e.g. nightly CSV file upload.

What the Rattail Demo does to solve this problem is as follows:

  • demo's Product data was initially imported from CORE-POS

  • demo's Product data continues to be updated in real-time, when CORE-POS data changes
  • demo's Shopfoo Products is a custom table meant to mirror exactly what is on Shopfoo (target) system

  • nightly, the Shopfoo Products table is updated per latest Products data (from CORE-POS)
  • nightly, a new Shopfoo Product Export is generated, which is basically a CSV dump of Shopfoo Products table

  • (demo does not bother "uploading" the export to a Shopfoo server...b/c there is no such thing (I assume), but normally you would want to do that)

That may seem convoluted at first but it's a well-established pattern in the Rattail world. Advantages to this include:

  • Shopfoo Products (local cache) table gives full visibility at all times, of what "should be" present in Shopfoo itself
  • plus this table is versioned, so you get a simple but "complete" audit trail for it
  • exports are all kept in one place, can easily download individual past ones etc.

RattailDemo (last edited 2021-01-21 06:45:32 by LanceEdgar)