rattail-manual/docs/features/people/entry/exporting.rst

43 lines
1.9 KiB
ReStructuredText
Raw Normal View History

Exporting
=========
Once you have Person-related data in Rattail, you can export it
"anywhere else" you need. This may be an Excel file, SQL DB, web API
etc. but for the sake of this discussion we'll assume data is to be
exported back to the POS system.
In fact the export features do not require you to first import the
data to Rattail. Every export that could be done "from Rattail DB"
could also be done e.g. "from POS DB". For instance that's exactly
what happens when data is imported from the POS into Rattail, it is
just another way of saying "export from POS to Rattail" and therefore
you can export straight from your POS to e.g. some web API for mailing
list or online shopping etc.
An export is "reading" data from e.g. Rattail or POS DB, and then
"writing" it somewhere else. The reading part is pretty
straightforward but the writing part may have limitations depending on
your target. As a rule Rattail is willing to read directly from a SQL
DB but will always write data via some more "official" route,
i.e. documented API. Which means the writing "possibilities" are
limited to what the API exposes. Whereas exporting to e.g. Excel file
would not have such a limitation, but may have others (e.g. file
size).
So how is data exported back to the POS specifically, for example?
That definitely will depend on your POS system, and as of writing only
3 are well supported.
If you're lucky enough to run a SIL-compliant POS then a great deal is
possible; Rattail can generate SIL files which add/modify data of
nearly any kind.
If your POS exposes a web API then Rattail can use that to write some
data. At this point in time these are rather limited though.
If writing directly to POS SQL DB is an option for you, then Rattail
can certainly accommodate. It should be stressed that this is **not
ideal** as it would likely bypass any data validation, audit trail
etc. that the POS may be doing were an official channel used instead.