taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

017-backoffice-inventory-management.rst (3577B)


      1 DD 17: Backoffice Inventory Management
      2 ######################################
      3 
      4 Summary
      5 =======
      6 
      7 This document describe the complete list features for inventory management and
      8 how will be shown.
      9 
     10 Motivation
     11 ==========
     12 
     13 User will use the backoffice to manage their inventory, prices and update stock.
     14 
     15 Requirements
     16 ============
     17 
     18 Access all information provided from the Merchant Backend API in a
     19 understandable and accessible way
     20 
     21 User should use the backoffice to manage inventory by:
     22 
     23 * creating new products
     24 * updating the products information
     25 * inspecting inventory list
     26 * deleting products from the inventory list
     27 
     28 Proposed Solution
     29 =================
     30 
     31 Inspecting inventory
     32 --------------------
     33 
     34 .. image:: ../images/backoffice-product-list.svg
     35   :width: 800
     36 
     37 Listing the product will shown this columns:
     38 
     39 * image
     40 * description
     41 * sell price
     42 * stock left (with next_restock in days if present)
     43 * stock sold
     44 
     45 Actions will be
     46 
     47 * modify
     48 * delete: with a confirm popup, it may fail if have some locked
     49 
     50 
     51 .. _backoffice-create-product:
     52 
     53 Create and Update Product form
     54 ------------------------------
     55 
     56 .. image:: ../images/backoffice-product-create.svg
     57   :width: 800
     58 
     59 Update product will use the same form except for the ``product_id``
     60 
     61 * product_id: BACKOFFICE_URL + id
     62 * description: split in two fields, concatenated with a line separator
     63 
     64   * name: required, one line
     65   * extra: optional, free text area
     66 
     67 * description localized: list with
     68 
     69   * lang: dropdown list with supported lang + custom
     70   * description: text area
     71 
     72 * unit: string
     73 * price: amount
     74 * image: image box that allows upload when clicked
     75 * taxes: list with
     76 
     77   * name: string
     78   * value: amount
     79 
     80 * Stock: button that opens more fields for stock control
     81 
     82   * stock remaining: number
     83   * address: first collapsed, then field for Location
     84   * next_restock: date
     85   * cancel: button to set the stock to infinity, closing the section
     86 
     87 Stock management
     88 ----------------
     89 
     90 * ``manage stock`` button will open the dialog below
     91 
     92 * ``without stock`` will close the dialog and set stock props to not defined
     93 
     94 * ``unknown`` button will set next restock value to undefined
     95 
     96 * ``never`` button will set next restock to never
     97 
     98 * when updating the product, the option ``without stock`` will no be available
     99   if the product already has stock
    100 
    101 * if the product already exist then:
    102 
    103   * the option ``without stock`` will no be available, since the product cannot
    104     change from infinite stock to managed stock
    105 
    106   * the option ``manage stock`` will no be available, since the product cannot
    107     change from managed stock to infinite stock
    108 
    109   * ``current stock`` will be managed using ``incoming`` and ``notify lost``
    110 
    111   * a label at the end of the section will inform about the final result
    112 
    113 
    114 .. image:: ../images/backoffice-product-create.stock.svg
    115   :width: 800
    116 
    117 
    118 Alternatives
    119 ============
    120 
    121 * price and stock columns in the list can be merged into a more complex column
    122   with the same information
    123 
    124 * rows in the table can be expandable when clicked to get access to some common
    125   actions like increase stock or change price
    126 
    127 .. image:: ../images/backoffice-product-list.actions.svg
    128   :width: 800
    129 
    130 * detail page was intentionally left out since all information can be access
    131   from the update page
    132 
    133 Q&A
    134 ===
    135 
    136 * can we add the quantity locked in the product description? so we can add it
    137   to the inventory list to reflect the current activity.
    138 
    139 * can we allow add extra data like order has in contractTerm?, this could be
    140   useful for frontend apps. example of usage: country/state to where the product
    141   is sold since taxes may vary