rattail-manual/docs/features/custorders/entry/index.rst
Lance Edgar db50895459 Add more docs for Feature Layer
not complete, but progress..
2022-03-20 13:57:06 -05:00

53 lines
2.3 KiB
ReStructuredText

Entry
=====
Entering a new Customer Order into the system is very likely the most
complicated part. Consider:
The "Customer" (or in some cases a "Person") must be identified, whose
order this will be. What if they're a new Customer/Person, not yet in
the system? Can they be added directly to Rattail and other systems
will be updated accordingly? Or must they be first added to the other
system and then imported back to Rattail? (For sake of the order, can
a "Pending Customer" record be created and then sort the rest out
later?)
One or more "Products" will be added to the Order. Can they order
*any* (e.g. unit) amount or is there a "cases only" policy etc.?
Perhaps also some other restrictions based on Department, e.g. no more
than X cases of frozen product due to space limitations.
Where does all that Customer and Product data come from anyway? Is it
accurate enough to be used for creating "reliable" Order data? Is the
Customer to be charged according to whatever price is calculated in
the Order, or are they charged "whatever the POS rings up" etc.? Are
discounts ever quoted in the order, vs. handled only by POS?
Speaking of payments, does the customer need to pay up-front when
first placing the order? Or do they pay later when they pick it up?
Wait, what if they want to order a Product which is not yet in the
system? Is this allowed, and if so what are the policies surrounding
that?
So, the Rattail feature tries to accommodate all of the above
regardless of how you answer.
First of all the Customer/Person and Product data should already be
*imported* to Rattail from your POS or other system(s), before
tackling Customer Orders. This feature assumes the underlying data is
already squared away and accurate (within reason).
Second, it's worth noting that the New Customer Order tool is
implemented as a batch (see also :doc:`/data/batch/native/custorder`).
This is important because it makes it possible to use the New Customer
Order tool as the entry workflow for a Customer Order *even if* you do
not track those primarily in Rattail. In other words when the batch
is executed, it can "push" the Order data to whatever system is
needed.
But of course the Rattail DB has its own schema for tracking these
Customer Orders, so the default "new batch" execution will create the
Order directly in Rattail.