skip to navigation
skip to content

Not Logged In

rattail.sw.locsms 0.3.5

Rattail Software Interfaces for LOC SMS

Package Documentation

Latest Version: 0.3.8

Rattail is a retail software framework based on edbob, and released under the GNU Affero General Public License.

This package contains software interfaces for the Store Management Suite system, which is available from LOC Software.

Please see Rattail's home page for more information.


  • Refactored model imports, etc.

    This is in preparation for using database models only from rattail (i.e. no edbob). Mostly the model and enum imports were affected.

  • Updated references to get_setting() and save_setting().


  • Fixed bug in CLK_CHG processor.


  • Removed os.chmod() call from deploy_to_inbox().


  • Added Family awareness to auxiliary and change processors.


  • Changed edbob dependency to include db feature.

    This indirectly adds SQLAlchemy as a dependency.

  • Removed batches module.

    This was completely unused so far as I could tell...

  • Added a single, pitiful test.

    Hey at least it's a start...


  • Round discounted price to 2 places when processing changes.
  • Added start and end attributes for regular and TPR prices.


  • Apply discount when processing (sale) price change.

    Note that the regular and TPR prices still do not honor discounts at all, and even the sale price still only honors a discount percentage (i.e. not a flat discount amount). Someday those should be added also...


  • Added some custom SIL columns.


  • Added vendor and order_entered_by attributes to PurchasingDocument.

  • Added SaleTransaction and SaleDetail models.

  • Don't auto-create customer groups with whitespace-only ID.

    Apparently sometimes the group ID coming from SMS customer table contains just a space or something... We don't want a group in that case.


  • Fixed Product.cost to check for F90 IS NULL.


  • Added alternate codes (ALT_TAB) support to data model.

    Also added support to the SMS changes processor.


  • Added split code info to costs generated by transfers.process_transfer().

    Also added some extensive logging in order to help troubleshoot products which appear to sometimes slip through the cracks...


  • Added email_import_error() function.


  • Added Price.sale_start and sale_end, improved guess_active_price().


  • Ignored warning caused by SQLAlchemy schema instrospection on Linux.


  • Added Price.guess_active_price() method.


  • Fixed lingering issues from Vendor.contacts mapping tweak.
  • Updated repr() output for model classes.


  • Fixed Vendor.contacts references in SMS changes processor.


  • Removed setup.cfg file.

    The tag_build setting was not doing us any favors.

  • Added bootstrap_tdsodbc command to Fabric script.

    This is woefully inadequate but at least is a starting point.

  • Fixed SMS transfer filename regular expression.

    The "terminal number" part of the filename was previously hard-coded to be "901", but this apparently is not the case when a transfer originates from a backoffice workstation.

    Also added named groups to the regex for clarity.


  • [feature] Made ChangesProcessor methods return relevant object instances. This is pretty much required for subclasses to inherit functionality from the default processor class.


  • [feature] Added the AccountLink model.
  • [feature] Added Fabric script.


  • [bug] Added "SMS Admin" icon to manifest. That utility was complaining about the icon being missing.
  • [feature] Added copy_transfer() function to transfers module. This improves the store transfer magic by making it more aware of multiple stores. (The previous implementation could only handle a two-store setup.)


  • [bug] Fixed bug in changes processor where prices with level (F126) other than 1 could become the product's new regular_price.


  • [bug] Fixed timestamp modification when generating samples, so that no error is raised in the event that a git executable does not exist.


  • [general] Fixed namespace packages, per setuptools documentation.
  • [feature] Added py2exe support for SMS Admin tool.
  • [bug] Added workarounds to SMS Admin when generating samples while running as a Windows GUI application.


  • [bug] Fixed the process_transfer() function so that it no longer raises an error when an invalid filename is encountered. Now such files are simply ignored.
  • [bug] Fixed the auxiliary and changes data processors so that they no longer raise errors when attempting to move processed files into the 'Processed' subfolder if the target file already exists. They now will overwrite the target file instead.
  • [feature] Added the "SMS Admin" tool, which can be used to generate samples and deploy hotfixes to SMS environment nodes.


  • [feature] Added the transfers module. This (so far at least) exists only for the sake of the process_transfers() function. This is designed as a helper for "inter-store transfers." The purpose is to automatically create and/or update special cost records on the receiving store side, using the sending store as the vendor. In this way, when a receiving document is imported at the receiving store, all necessary cost records will already exist (and be accurate) and therefore no products will be "skipped" when importing the document.


  • [bug] Fixed the changes processor so that it properly handles a missing or invalid subdepartment when processing POS_CHG data. (This bug was actually introduced in the last release.)


  • [bug] Fixed the changes processor so that it saves a product's department association when processing POS_CHG data.


  • [feature] Added sms-backup-data and sms-restore-data commands. These are not intended for actual production data, but rather to assist in bootstrapping development and related "staging" environments.


  • [feature] Added --mako-args support to sms-gen-sample command. This allows the sample (or option) sources to include conditional directives, in order to fine-tune the rendered content. The Mako template engine is used to provide this feature.


  • [bug] Removed Query.update() calls from the auxiliary processor. While efficient, these were causing the recording of data changes to be bypassed.


  • Add git support to sms-gen-sample command.
  • Add F347 (Vendor.special_discount) support to load, changes modules.


  • Added Store model, with load support.


  • Tweaked load, changes to use GPC data type.
  • Added SIL writer; updated sil.write_receiving_import() function.


  • Add load query restrictions, for development's sake.
  • Bugfix in COST_CHG change processor.


  • Improve change processing to force specified order.


  • Improve COST_CHG processing to accomodate non-integer (i.e. float) case size.


  • Bugfix in OBJ_DEL changes processor.


  • Bugfix in changes processor.


  • Overhaul auxiliary data file processing.


  • Add sms-gen-sample, sms-pull-sample commands.
  • Add load module for importing all data from SMS.
  • Add auxiliary, changes modules for processing Deploy_Rattail files.
  • Add some classes to SMS database model.
  • Add sil module for generating certain SIL files for SMS import.
  • Add Linux support for deploy.deploy_to_inbox().


  • Initial port to Rattail v0.3.
File Type Py Version Uploaded on Size
rattail.sw.locsms-0.3.5.tar.gz (md5) Source 2013-12-19 65KB
  • Downloads (All Versions):
  • 63 downloads in the last day
  • 794 downloads in the last week
  • 4504 downloads in the last month