other_stuff:virtual_stores

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
other_stuff:virtual_stores [2017/07/25 09:53] – [The logo tab] Gary Willettsother_stuff:virtual_stores [2024/02/12 09:59] (current) – [Master lists tab] Rachana Kunwar
Line 1: Line 1:
-{{indexmenu_n>80}} +{{indexmenu_n>70}} 
-=====  Virtual stores =====+====== 26.07. Virtual stores ======
 From the //Special// menu, choose //Show stores// From the //Special// menu, choose //Show stores//
  
-==== What is a "Virtual Store"? ====+==== What is a virtual store? ====
 In mSupply a //virtual store// is a way of segregating particular stock so that some users only see that stock and the transactions associated with it. When a user logs into mSupply, they choose a particular store to login to - this we call the current store. mSupply then operates as if: In mSupply a //virtual store// is a way of segregating particular stock so that some users only see that stock and the transactions associated with it. When a user logs into mSupply, they choose a particular store to login to - this we call the current store. mSupply then operates as if:
-  - the stock in that store is the only stock available. +  - The stock in that store is the only stock available. 
   - Only stock from the current store will be available for issuing,    - Only stock from the current store will be available for issuing, 
   - Reports will relate to stock in that store   - Reports will relate to stock in that store
Line 18: Line 18:
   * A hospital pharmacy where you have two dispensing locations: an inpatient pharmacy and an outpatient pharmacy.   * A hospital pharmacy where you have two dispensing locations: an inpatient pharmacy and an outpatient pharmacy.
   * A pharmaceutical warehouse where stock from a particular donor is received, issued and accounted for separately to stock in the rest of the warehouse.   * A pharmaceutical warehouse where stock from a particular donor is received, issued and accounted for separately to stock in the rest of the warehouse.
-  * A hospital pharmacy where the pharmacy store stock is treated separately to the dispensary stock. You would set up mSupply with a store called "Pharmacy store" and a store called "Dispensary". You would use the [[issuing_goods:transferring_goods_to_another_store|stock transfer feature]] to move stock from the pharmacy store to the dispensary.+  * A hospital pharmacy where the pharmacy store stock is treated separately to the dispensary stock. You would set up mSupply with a store called "Pharmacy store" and a store called "Dispensary". You would use the function covered in section [[issuing_goods:transferring_goods_to_another_store]] to move stock from the pharmacy store to the dispensary.
   * A pharmaceutical warehouse where you have 2 or more actual warehouses. These may be adjacent or several hundred kilometres apart. (Of course you need network connectivity between sites to run mSupply at each site).   * A pharmaceutical warehouse where you have 2 or more actual warehouses. These may be adjacent or several hundred kilometres apart. (Of course you need network connectivity between sites to run mSupply at each site).
   * You're using mSupply mobile- each mobile site will synchronise data with a virtual store on the mSupply server.   * You're using mSupply mobile- each mobile site will synchronise data with a virtual store on the mSupply server.
Line 34: Line 34:
  
 ==== Viewing available stores ==== ==== Viewing available stores ====
-From the //Special// drop down menu click //Stores//The Stores list window (shown below) appears and displays a list of all the stores which currently exist including their [[other_stuff:remote_sync|sync type]]:+From the //Special// drop down menu click //Show stores...// The Stores list window (shown below) appears and displays a list of all the stores which currently exist including their [[other_stuff:remote_sync|sync type]]:
  
 {{ :other_stuff:other_stuff-show_stores1.png?500 |}} {{ :other_stuff:other_stuff-show_stores1.png?500 |}}
Line 42: Line 42:
  
 ==== Creating new stores ==== ==== Creating new stores ====
-To create a new store click the //New store// button in the Store list window shown [[other_stuff:virtual_stores#viewing_available_stores|above]]. This will display the Store details window shown below, which allows you to enter the details of the new store:+<WRAP center round important 60%> 
 +This new store will inherit the same user and group permissions (but not login permissions!) as the store which you are logged in to when you execute it.  It is therefore worth logging in to a store that has similar user and group permissions to those that you want to have in the new store.  Often the supplying store will be a suitable store for this purpose. 
 +</WRAP> 
 +To create a new store click the **New store** button in the Store list window shown [[other_stuff:virtual_stores#viewing_available_stores|above]]. This will display the Store details window shown below, which allows you to enter the details of the new store:
  
-{{ :other_stuff:create_new_store.png?700 |}}+{{ :other_stuff:screenshot_2021-05-10_at_10.08.32.png?700 |}}
  
-**Store code:** The code used to identify the store. If you have a lot of stores it would be helpful if you decide on a good pattern to use for the codes.+<WRAP center round alert 60%> 
 +If you want to create the store for an existing customer, don't follow the rest of the instructions here.  Refer to [[other_stuff:virtual_stores#transition_a_customer_to_a_virtual_store|Transition a customer to a virtual store]]. 
 +</WRAP> 
 + 
 + 
 +=== Name === 
 +The name used to identify the store throughout mSupply. It must be unique and mSupply will tell you if another store has the same name; you will need to change it before you can save. Any non-printable characters entered before or after the name will be removed. Any entered in the name will be replaced with an underscore (''_''). 
 + 
 +=== Store code === 
 +The code used to identify the store. If you have a lot of stores it would be helpful if you decide on a good pattern to use for the codes. The code must be unique too; mSupply will tell you if the code is already in use and you will need to change it before you can save it. Any non-printable characters entered before or after the code will be removed. Any entered in the code (and spaces) will be replaced with an underscore (''_''). 
 + 
 +=== Store type ===
  
-**Store type:** Set in the drop down list to the right of the //Store code// field. Can be one of:+Set in the drop down list to the right of the //Store code// field. Can be one of:
   * Store: a normal store used for managing inventory and issuing to customers   * Store: a normal store used for managing inventory and issuing to customers
   * Dispensary: a store used for managing inventory and dispensing to patients   * Dispensary: a store used for managing inventory and dispensing to patients
-  * Report: a special type of store used for reporting information only, not managing inventory. Don't use this unless specifically told to do so! 
-**Name:** The name used to identify the store throughout mSupply. 
  
-**Organisation name:** The name of the organisation running the store. Defaults to the organistaion name entered in File > Preferences.+=== Organisation name ===
  
-**Address line 1-5, Postal /Zip code, phone:** Enter the address and contact details for the store in here if there are anyThese details can be used in reports+The name of the organisation running the store. Defaults to the organisation name entered in File > Preferences.
  
-**Disable this store:** Check the //Disable this store// checkbox to stop the store from being usedYou might want to use this feature if the store is not ready for use yet or is no longer to be used and can't be deleted. You will be asked to confirm the disabling after clicking on the //OK// button on this window.+=== Address details === 
 +  
 +Enter the address and contact details for the store in here if there are anyThese details can be used in reports
  
-**Responsible officer:** Select the officer responsible for the store in this drop down list. A helpful reminder for others and can be used in reports.+=== Disable this store ===
  
 +Check the //Disable this store// checkbox to stop the store from being used. You might want to use this feature if the store is not ready for use yet or is no longer to be used and can't be deleted. You will be asked to confirm the disabling after clicking on the //OK// button on this window.
 +
 +=== Responsible officer ===
 +
 +Select the officer responsible for the store in this drop down list. A helpful reminder for others and can be used in reports.
 +
 +=== Store credentials ===
 +These are used when the store needs to be identified securely over electronic communications. An example of this is when using the cold chain app for monitoring temperature in cold storage and freezers.
 +
 +To tell mSupply to use the credentials, check the **Use store credentials** checkbox (unchecking it deletes the store's credentials so please be careful before doing so).
 +
 +This will enable the **Username** and **Password** text fields and you can enter the appropriate details.
 +
 +  * The //Username// will be set to the first three letters of the store's code by default.
 +  * The //Password// must be at least 4 symbols but not more than 30 symbols, and can contain letters and numbers.
 +
 +If you need to view the password you have entered to check it is correct, click on the {{:other_stuff:magnify_2.png?20|}} button.
 === Tags === === Tags ===
-Tags are used in reporting to group stores together. This area shows the tags that the store currently has. To add a tag, simply click into the area and type the tag's name. When you have finished typing the tag's name then press the Tab or Space keys on the keyboard (not Enter or return, that will close the window!). You know when you have done it right because the tag will appear in its own little box with an 'x'. If you want to remove any tag from the store, simply click on that 'x'. In this way you can add or delete as many tags from a store as you like.+Tags are used in several ways: 
 +  * for determining which programs a store can use. 
 +  * for contronlling some customisation features. 
 +  * for reporting to group stores together. 
 +  *  
 +This area shows the tags that the store currently has. To add a tag, simply click into the area and type the tag's name. When you have finished typing the tag's name then press the Tab or Space keys on the keyboard (not Enter or return, that will close the window!). You know when you have done it right because the tag will appear in its own little box with an 'x'. If you want to remove any tag from the store, simply click on that 'x'. In this way you can add or delete as many tags from a store as you like
 + 
 +When you click on the **OK**, **OK & Next** or **OK & Previous** buttons, any new tags you have created here will be added to the list of name tags in your system. See the [[names:name_tags|]] page for details
  
 After having created a new store, the Stores list window will display the new list of all stores and you may double-click an entry to edit that store's details.  A number of things that will need to be attended to are: After having created a new store, the Stores list window will display the new list of all stores and you may double-click an entry to edit that store's details.  A number of things that will need to be attended to are:
  
-<WRAP center round alert 60%> +<WRAP center round alert 90%> 
-To do a number of the following steps, you will need to log in to the new store.  To do this, you will need to give yourself access to the new store by [[admin:managing_users|Managing users]].  Any other users who need to access the store will also need their permission altered accordingly.  After giving yourself permission to log in to the new store, log in to it and carry out these steps.+To do a number of the following steps, you will need to log in to the new store.  To do this, you will need to give yourself access to the new store as shown in section [[admin:managing_users]].  Any other users who need to access the store will also need their permission altered accordingly.  After giving yourself permission to log in to the new store, log in to it and carry out these steps.
 </WRAP> </WRAP>
  
Line 74: Line 112:
   * Set the store's [[other_stuff:virtual_stores#the_logo_tab|logo]] so that it can appear in print-outs and reports.   * Set the store's [[other_stuff:virtual_stores#the_logo_tab|logo]] so that it can appear in print-outs and reports.
   * Set the [[other_stuff:virtual_stores#the_visibility_tab|visibility]] of items in the store. All items in the system will be set to invisible in the new store when it is created.  You will need to modify visibility of items in order to be able to handle stock of those items.   * Set the [[other_stuff:virtual_stores#the_visibility_tab|visibility]] of items in the store. All items in the system will be set to invisible in the new store when it is created.  You will need to modify visibility of items in order to be able to handle stock of those items.
-  * Setup Synchronisation if you are going to use a synced system. See [[other_stuff:remote_sync|Remote Synchronisation]].+  * Setup Synchronisation if you are going to use a synced system. See [[other_stuff:remote_sync]].
   * Setup any [[other_stuff:virtual_stores#the_custom_fields_tab|custom store data]] (used for reporting).   * Setup any [[other_stuff:virtual_stores#the_custom_fields_tab|custom store data]] (used for reporting).
-  * Set the [[items:master_lists|master lists]] used by the store (a convenient method for controlling item visibility).+  * Set the master lists used by the store (a convenient method for controlling item visibility).  See [[items:master_lists]]
  
-<WRAP center round alert 60%> +<WRAP center round alert 90%> 
-If this newly created store will be 'Active' on a satellite server on a synced mSupply system (refer to [[other_stuff:remote_sync|Remote Synchronisation]], then user access to the store will need to be defined on that satellite server.+If this newly created store will be 'Active' on a satellite server on a synced mSupply system (refer to [[other_stuff:remote_sync]], then user access to the store will need to be defined on that satellite server.
 </WRAP> </WRAP>
  
-==== The preferences tab ==== +==== Preferences tab ==== 
-This tab contains the preferences that can be set for store. Each store has its own settings for these preferences: this is different for the settings in File > Preferences which apply to **all*stores.+<WRAP center round important 90%> 
 +  * The preferences tab is only visible if you are looking at the details of the store you are logged into. 
 +  * The preferences described here are set 'per store' and can be different for each store in an mSupply datafile. 
 +  * In a **synced system** there will be multiple 'sync satellites' and store preferences will need to be set for each store on each mSupply sync satellite.  See [[other_stuff:remote_sync]]. 
 +  * Other preferences (accessed through **File > Preferences...**) apply to //all// stores in an mSupply datafile. 
 +  If you have to set the same preferences for lots of stores you might like to try the [[other_stuff:bulk_store_preferences_editor|]]It just might save you some time and your sanity :-) 
 +</WRAP>
  
-{{ :other_stuff:edit_str.png?700 }} +This tab contains the preferences that can be set for a store. Each store has its own settings for these preferencesthis is different for the settings in //File > Preferences// which apply to **all** stores in an mSupply datafile.
-This is what each preference does:+
  
-** Sort available batches by VVM status ** If the store is only to be used for vaccines, this option allows you to sort the list of available batches by the vaccine status column rather than the expiry date+This is what the tab looks like:
  
-** Patient created in this store not visible in other stores ** If you check this box, patients that are created in this store will not be visible in all stores. If you create a patient in this store you will not see it in the other stores, only in the one in which you created it.+{{ :other_stuff:edit_str.png?700 }}
  
-** Names created in this store not visible in other stores ** When this box is checked, if you create name (a customer, supplier, manufacturer or donor etc.in this store then it will be visible only in this store and not in any others.+The **Search store preferences** search bar at the top is used to find particular preferenceIf you type something in here, preferences which //contain the text// you have typed only are displayed, all others are hiddenThere are a lot of preferences so this should help if you just can't find the one you want!
  
-** Items created in this store not visible in other stores ** When this box is checked, if you create an item in this store then it will be visible only in this store and not in any others.+This is what each preference does:
  
-** Allow users to enter total quantities to distribute to appropriate packs** If you check this checkbox, users will be able to enter the total quantity that they wish to distribute to appropriate packs.+|<100% 40%>| 
 +^ Sort available batches by VVM status rather than Expiry | When issuing stock, this will sort the list of available batches by vaccine status first, then by expiry date rather than by expiry date first (e.g. [[issuing_goods:issuing_goods_customer_invoice#selecting_from_stock_lines|8.01. Issuing goods to a customer (customer invoices)]]).| 
 +^ Patients created in other stores not visible in this store| If this is checked, patients that are created in other stores across all sites will not be visible in this store. If it is **off**, all patients from all stores from all sites will be visible to this store. It is set to true by default when a store is created. **USE CAUTION:** Turning this **OFF** for many stores does not scale well and can overload the sync system. See the [[dispensing:patients#store_visibility_tab|10.03. Patients]] page for more details. | 
 +^ Names created in other stores not visible in this store| If this is checked, names (customers, suppliers, manufacturers, donors etc.) created in other stores in the same site will not be visible in this store. It is set to true by default when a store is created.| 
 +Allow users to enter total quantities to distribute to appropriate packs| On a customer invoice an additional **Total** field is displayed so that users can enter the total quantity of units that they wish to distribute or the number of packs.| 
 +^ Round up the distributed quantity| The value for distributed quantities will be rounded upwards.| 
 +^ Able to pack items into multiple boxes| Checking this enables the functionality for packaging goods into boxes on the //Transport// tab of a customer invoice. See [[issuing_goods:boxes|]] for details.| 
 +^ Store: Able to issue in foreign currency| Foreign currencies can be used on supplier invoices for overseas suppliers.| 
 +^ Allow editing selling price on customer invoice lines| Individual selling prices can be edited on customer invoice lines. Please note that the **Price editable when issuing** checkbox on the //General// tab of an item's details page must also be checked for each item that the price is to be editable for. | 
 +^ Purchase order must be authorised| Turns on purchase order authorisation. See [[purchasing:ordering_from_suppliers#authorising_purchase_orders|Ordering Items From Suppliers]].| 
 +^ Finalise customer invoice automatically| Automatically finalise customer invoices with confirmed statuswhich is normally when the goods are dispatched.| 
 +^ Customer invoices must be authorised| Turns on customer invoice authorisation (i.e. goods can only be sent to a customer after the action has been authorised). See [[other_stuff:invoice_authorization]] for details.| 
 +^ Authorisation needed only if over budget| This additional option is enabled when customer invoice authorisation is turned on.  | 
 +^ Confirm customer invoices automatically| Set a New Customer Invoice status to confirmed when the OK button is clicked. This means that it is not possible to print a picking slip for the issued goods.| 
 +^ Supplier invoices must be authorised| Turns on supplier invoice authorisation (i.e. goods can only be brought into stock when the action has been authorised). See [[other_stuff:invoice_authorization]] for details.| 
 +^ Confirm supplier invoices without asking | Set a New Supplier Invoice status to confirmed when the OK button is clicked. The goods are made available in stock without informing the user.| 
 +^ Goods received lines must be authorised:| Turns on goods receipt authorisation (i.e. only authorised goods receipts can be processed for the goods to be made available in stock). See [[other_stuff:invoice_authorization]] for details.| 
 +^ Locations must be entered for goods received | A shelf location must be entered on the goods receipt item line form when receiving goods into stock. | 
 +^ Able to specify manufacturer when receiving, ordering or quoting for items | Gives users the option to record the manufacturer of goods when making purchase orders, goods receipts or entering a quotation from a supplier.| 
 +^ Show item unit column when issuing| If checked, when goods are issued on a customer invoice or prescription, an Item unit column is included in the window used for selecting items to add. | 
 +^ Log transaction edit | | 
 +^ Set pack to one for all visible items in this store| | 
 +^ Use remote authorisation for response requisitions | Turns on remote authorisation for response requisitions. See [[other_stuff:remote_authorisation]] for details.| 
 +^ Include requisitions from this store in suppliers' remote authorisation processes | If checked then requisitions from this store will appear in the requisition approval processes of the suppying store. See [[other_stuff:remote_authorisation]] for details.| 
 +^ Can manually link requisition to supplier invoice | When receiving stock, users can match the supplier invoice to the initial requisition. They can then add items from the linked requisition, speeding up the process of creating the supplier invoice. This is useful for stores requesting and receiving stock from suppliers that do //not// use mSupply. See the [[receiving_goods:supplier_invoices|]] page for details. | 
 +^ Automatically populate supply quantities with requested quantities | On requisitions, automatically populate supply quantities with requested quantities, instead of 0. Supply quantities can still be edited. | 
 +^ Show extra fields on requisitions | When a line is selected on a response requisition, an extra box is displayed under the table of requisition lines to show the calculations behind the suggested quantity. The extra field is currently only populated for Côte d'Ivoire users. | 
 +^ Keep requisition lines with zero requested quantity on finalise | If this is checkled, lines on requisitions that have zero requested quantity are kept when the requisition is finalised. Otherwise they are deleted (normal behaviour). | 
 +^ Show comment field when entering supplier invoice lines | Allows users to type a comment for individual items received on a supplier invoice. | 
 +^ Use EDD placeholder lines in supplier invoices from this store | If turned on, any placeholder lines on a customer invoice that is a stock transfer are duplicated on the supplier invoice in the receiving store when the customer invoice is finalised. The placeholder lines in the supplier invoice appear on an //Unsupplied items// tab (see the [[receiving_goods:supplier_invoices#unsupplied_items_tab|7.01. Supplier invoices]] page for details). **Note:** the placeholder lines are not duplicated on the supplier invoice if the receiving store is an [[mobile:user_guide2|mSupply mobile]] store (placeholder lines are not used in mobile stores). | 
 +^ Consolidate batches | Items with the same batch, expiry date, pack size, location, donor, cost and sell price will //automatically// consolidate when bringing goods into stock from a supplier invoice or doing a stocktake. | 
 +^ Edit prescribed quantity on prescriptions | When checked an additional **Prescribed quantity** field is available when entering a prescription line. See [[dispensing:prescription_entry|]] for details. | 
 +^ Allow users to choose diagnosis on prescriptions | When checked an additional **Diagnosis** drop down list is available on a prescription. See [[dispensing:diagnoses|]] for details. | 
 +^ Use consumption and stock from customers for internal orders | If checked, when calculating the current stock and consumption figures (to calculate the suggested order quantity), the stock issued to all customers and the total stock of all customers will be used instead of the current stock and consumption of the current store. Note that customer stores are all those stores that have this store set as their supplying store. See the [[purchasing:ordering_from_one_store_to_another|]] page for details about internal orders. | 
 +^ mobile: Alert if a patient is dispensed the same vaccine multiple times in a week | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ mobile: Enforce lookback period | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ mobile: Uses vaccine module | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] and also [[cold_chain_equipment:configure|]] for details. | 
 +^ mobile: Uses dispensary module | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ mobile: Uses dashboard module | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ mobile: Uses cash register module | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ mobile: Uses payment module | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ mobile: Uses patient types | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ mobile: Uses Hide Shapshot column | This preference only has an effect if this is an mSupply mobile store. See [[https://docs.msupply.foundation/en:mobile:setup:server_side:config|mSupply mobile setup]] for details. | 
 +^ Pickface replenishments must be authorised | If checked, pickface replenishments in this store must be authorised by a user who has permission to authorise them before they can be finalised. See the [[items:replenishments_setup#authorisation_of_replenishments|4.21. Pickfaces and Replenishments setup]] and [[items:replenishments#authorising_pickface_replenishments|4.22. Pickfaces and Replenishments]] pages for details. | 
 +^ Able to specify VVM status when receiving items | If checked then a new **VVM status** field will be available on a supplier invoice for the user to select the current VVM status of the batch when it is received on a supplier invoice or inventory adjustment. See the [[receiving_goods:supplier_invoices#vaccines|7.01. Supplier invoices]] and [[items:inventory_adjustments#vaccines|4.18. Inventory adjustments]] pages for details. Also, if checked then an additional //Doses// column is displayed on a customer invoice. See the [[issuing_goods:issuing_goods_customer_invoice]] page for details. | 
 +=== Notification preferences === 
 +These are used by the notification/alert functionality described on the [[notifications:setup_and_use|]] page. The notifications inform users of situations that need their attention. The thresholds that give rise to some of the notifications can be set here.
  
-** Round up the distributed quantity** Checking this box means that mSupply will round the value for the distributed quantity upwards.+== Threshold for overstock ==
  
-** Able to pack items into multiple boxes** If this box is checked, then mSupply will provide a detailed way of packaging goods in to boxes to be distributed to clients.+The minimum months of stock an item must have to be considered as overstocked. i.e. in danger of expiring on the shelf before it is used. An alert is triggered for an item if the total quantity in stock (including all batches) divided by the average monthly consumption of the item (calculated using the last 12 months' usage in the current store) is greater than or equal to this threshold number. The default is 6 months.<WRAP center round tip> 
 +This value should be set no lower than the maximum amount of stock that you would expect to regularly have in stock Based on the formula developed in [[purchasing:ordering_from_suppliers#calculate_required_stock_quantity|Calculating the required stock quantity]], this would be <wrap em>Ordering cycle + (months of) buffer stock</wrap> The default value of 6 is suitable for a store with a 2-monthly order cycle.  For a central store with an annual order cycle, then this figure should be set to <wrap em>36</wrap> 
 +</WRAP>
  
-** Store: Able to issue in foreign currency** If you check this box, you can use foreign currencies on supplier invoices for overseas suppliers.+== Threshold for understock ==
  
-** Allow editing selling price on customer invoice lines** Checking this box means that you can edit individual selling prices on customer invoice lines.+Also called <wrap em>Buffer stock</wrap>, this is the number of months of stock that an item must have less of, to be considered understocked i.e. in danger of not having enough to meet demand. An alert is triggered for an item is the total quantity in stock(including all batches) divided by the average monthly consumption of the item (calculated using the last 12 months' usage in the current store) is less than or equal to this threshold number. The default is 3 months.<WRAP center round tip> 
 +This alert should only be triggered when your stock levels fall below your buffer stock levels.  Based on the formula developed in [[purchasing:ordering_from_suppliers#calculate_required_stock_quantity|Calculating the required stock quantity]], <wrap em>Buffer stock (months) = 2 x Ordering cycle</wrap> The default value of 3 is suitable for a store with a 6-weekly order cycle.  For a central store with an annual order cycle, then this figure should be set to <wrap em>24</wrap> That is a lot of space for a national store with several thousand items :-/ 
 +</WRAP>
  
-** Purchase order must be authorised** If checked then purchase order authorisation is turned on. See [[purchasing:ordering_from_suppliers#authorising_purchase_orders|Ordering Items From Suppliers]] for details on this functionality.+== Expiring items period ==
  
-** Finalise customer invoice automatically**  This setting automatically finalises customer invoice when it its status is set to confirmed, which is normally when the goods are dispatched+An alert will be triggered for an item if batch is due to expire in less than this number of months.  The default is 3 months.<WRAP center round tip> 
- +This alert should be triggered if there is a reasonable risk that your store, //or your store's customers// will need to dispose of stock due to expiry.  However, this is only real concern if there are //significant quantities// of the item with short expiry So, in isolation, Expiring items period is a bit arbitrary As a rule of thumb, the Expiring items period can be set to equal the ordering cycle On that basis, the default value of 3 is suitable for a store with a 3-monthly order cycle For a central store with an annual order cycle, then this figure should be set to <wrap em>12</wrap> 
-**Customer invoices must be authorised**  If this preference is checked then all customer invoices must be authorised by user with permission to do so before they can be confirmed (i.egoods can only be sent to a customer after the action has been authorised)See [[other_stuff:invoice_authorization|Invoice Authorisation]] for details.+</WRAP>
  
-**Confirm customer invoices automatically** This setting is used to set a Customer Invoice's status to confirmed when the OK button of a New Customer Invoice is clicked.  This means that it is not possible to print a picking slip for the issued goods. 
  
-**Supplier invoices must be authorised** If this preference is checked then all supplier invoices must be authorised by a user with permission to do so before they can be confirmed (i.e. goods can only be brought into stock when the action has been authorised). See [[other_stuff:invoice_authorization|Invoice Authorisation]] for details. 
  
-**Confirm supplier invoices without asking** This setting is used to set a Supplier Invoice's status to confirmed when the OK button of a New Supplier Invoice is clicked This means that when the OK button is clicked the goods are made available in stock without informing the user.+=== Custom data === 
 +This section is for store specific custom data fields that must always be presentUser definable custom fields are handled on the Custom fields tab (see the [[other_stuff:virtual_stores#custom_fields_tab|Custom fields tab]] section below for details).
  
-**Goods receipt lines must be authorised** This setting is used to restrict authorisation of a Goods Receipt to authorised users only. Only when a Goods Receipt is authorised can it be processed for the goods to be made available in stock.+**Monthly consumption lookback period**: The number of months of consumption information to use when calculating average monthly consumption for this store. Currently only used when the Côte d'Ivoire customisation is enabled.
  
-** Locations must be entered for goods received** This setting requires the user to type a shelf location on the Goods Receipt Item Line form when receiving goods into Store This feature enforces identification of shelf location of stock.+**Months lead time**: The number of months before ordered goods normally arriveUsed to calculate how much stock to order for the suggested quantity in requisitions, for example. Currently only used when the Côte d'Ivoire customisation is enabled.
  
-** Able to specify manufacturer when receiving, ordering or quoting for items** This setting gives the user the option to record the manufacturer of goods when making Purchase Orders or when doing a Goods Receipt or entering a Quotation from a supplier+=== Suggested packing in boxes === 
 +These preferences affect the suggested pack functionality described on the [[issuing_goods:boxes#using_msupply_to_suggest_an_optimal_pack|8.06. Box management]] page.
  
-**Custom stock fields ** In this area you can choose to use up to four custom fields for labelling incoming stock. The checkboxes tell mSupply to use the various custom fields and the textboxes contain the labels that mSupply will use for these fields. Each custom field that is checked here will appear (with the label it has been given) on supplier invoice when an item is being received (see [[receiving_goods:goods_receipts|here]] and [[receiving_goods:supplier_invoices|here]] for details)The information entered will then be visible whenever stock is shown (e.g. when issuing stock on a [[issuing_goods:issuing_goods_customer_invoice|customer invoice]] or when viewing the stock of an item on the stock tab of the [[items:item_basics|item details]] window)  +  * **Prefix for generated boxes:** Defaults ot no prefix. Each box created in a suggested pack has a number which starts at 1 and increments by 1 for each new box createdWhatever you enter in this text field will be added before these numbers to give you the box names. For example, if you enter "Box-" then the boxes will be created with names "Box-1", "Box-2", "Box-3" etc. 
- +  * **Percentage space to leave empty:** Defaults to 0. Boxes will be packed as close to 100% of their volume minus the value entered in here. This is helpful to account for situations where the size, shape and possible orientation of packs make it hard to pack them all into the actual volume expected
-=== When finalising a Goods Receipt  ===+=== When finalising a goods receipt ===
 There are three options: There are three options:
   * Don't receive goods into stock until supplier invoice is taken off hold - for goods to enter stock you must finalise the goods receipt and then take the automatically generated supplier invoice off hold   * Don't receive goods into stock until supplier invoice is taken off hold - for goods to enter stock you must finalise the goods receipt and then take the automatically generated supplier invoice off hold
Line 143: Line 236:
   * Choose **On hold** if the store is being used by mSupply mobile, and the goods receipt needs to be confirmed before receiving.   * Choose **On hold** if the store is being used by mSupply mobile, and the goods receipt needs to be confirmed before receiving.
  
-==== The logo tab ====+=== Location code pattern === 
 +This is used with phased stocktakes (see the [[items:phased_stocktakes|]] page for details) to tell msupply which parts of your shelf location codes (see the [[items:item_locations#adding_a_location|4.06. Stock locations and location types]] page for details) represent the aisle, level and position of the location. 
 + 
 +An aisle is a whole row of racking like this: 
 + 
 +{{ :other_stuff:pasted:20231212-164305.png?400 }} 
 + 
 +A level is a horizontal level of the racking like this: 
 + 
 +{{ :other_stuff:pasted:20231212-164357.png?400 }} 
 + 
 +And a position is a vertical column of the racking like this: 
 + 
 +{{ :other_stuff:pasted:20231212-164522.png?400 }} 
 + 
 +Use the letters A, L and P to represent the aisle, level and position parts of the location code. 
 + 
 +Let's use an example to show how it works. Let's say that the shelf location codes are in the format B01.C.01 where B01 represents the aisle, C represents the position and 01 represents the level. Then in the **Location code pattern** text box you would enter the text **AAA.P.LL** 
 + 
 +It doesn't matter what characters you use as separators, mSupply only looks for the positions of the letters A, P and L. If more than one character is used to define any of the three parts of the location then they must appear together in the location code pattern.  
 + 
 + 
 +==== Logo tab ====
 {{ :other_stuff:store_logo_tab.png?700 |}} {{ :other_stuff:store_logo_tab.png?700 |}}
  
-Here you can paste in a logo you have copied to the clipboard - you must copy the contents of a file to the clipboard, not the file itself. The file can be in .jpg, .png, .bmp, .gif, or .tiff format. This logo will be displayed at the bottom right of the navigator when you login to this store only. It will override any logo saved in the [[preferences:general#logo|file preferences]]. This store logo will also print out on standard customer and supplier invoices etc. instead of the logo stored in [[preferences:general#logo|file preferences]].+Here you can set the **store logo** by pasting in a logo you have copied to the clipboard - you must copy the contents of a file to the clipboard, not the file itself. The file can be in .jpg, .png, .bmp, .gif, or .tiff format. This logo will be displayed at the bottom right of the mSupply navigator screen when you login to this store only.  
 + 
 +This store logo will override the logo saved in the [[preferences:general#logo_tab|Settings > Preferences > Logo]] tab  
  
-Note, after saving the image you must login to mSupply again or [[admin:user_tasks#switching_stores|switch]] to the store to see it.+To print this store logo on standard customer and supplier invoices etc. you will need to go to the [[preferences:general#logo_tab|Settings > Preferences > Logo tab]] in mSupply and tick the **Display logo on invoice** checkbox.  When a store logo is set it will print the store logo instead of the logo set on that preferences tab.
  
-==== The Custom fields tab ====+Note that after saving the store logo you must login to mSupply again or use the [[admin:user_tasks#switching_stores|switch function]] to reload this store to see it. 
 +==== Custom fields tab ====
 {{ :other_stuff:stores_custom_data_tab.png?700 |}} {{ :other_stuff:stores_custom_data_tab.png?700 |}}
  
-This tab is used to save any custom information for the store that you might need to be made available in mSupply, for instance in reports. Each piece of information that you save has a label (which mSupply will use to refer to itand a piece of dataAt the moment you cannot edit reports or other parts of mSupply yourself to make use of this information, this must be done by Sustainable SolutionsThis might change in the future, we're always listening to our users!+This tab shows the custom fields that have been set up for stores (see the [[preferences:custom_fields|Custom fields]] section for details). You can also add or edit custom fields directly from this screen.
  
 === Adding a custom field === === Adding a custom field ===
Line 164: Line 282:
 To delete any custom field simply select its row in the table and click on the //Delete line(s)// button. You can use Shift+click, Control+click, Control A (or Cmd instead of Ctrl if you're using a Mac!) to select multiple lines and delete them all at once if you like. To delete any custom field simply select its row in the table and click on the //Delete line(s)// button. You can use Shift+click, Control+click, Control A (or Cmd instead of Ctrl if you're using a Mac!) to select multiple lines and delete them all at once if you like.
  
-==== Controlling Item Visibility: the Master lists tab or the Visibility tab ====+==== Master lists tab and Visibility tab (controlling item visibility) ====
 Controlling the visibility of items in different stores is important because you can only order, distribute, receive goods for and report on items that are visible in your store. It's also important that stores don't have items visible that they don't use so that they don't accidentally order them etc. Controlling the visibility of items in different stores is important because you can only order, distribute, receive goods for and report on items that are visible in your store. It's also important that stores don't have items visible that they don't use so that they don't accidentally order them etc.
  
Line 172: Line 290:
 Each are useful in different situations and are described below. Each are useful in different situations and are described below.
  
-=== The Master lists tab ===+=== Master lists tab ===
 If you have a lot of stores in mSupply, we recommend that you use master lists to control item visibility. Especially in a [[other_stuff:remote_sync|syncing system]] because it means that the visibility of newly created items will be automatically handled correctly. The visibility of items in a store whose visibility is controlled by master lists is immediately updated if any changes are made to any of the master lists. For instance, if a new item is added to a master list controlling visibility then that new item is made visible in all stores that use the master list. And any items deleted from the master list are made invisible in any store using that list. If you have a lot of stores in mSupply, we recommend that you use master lists to control item visibility. Especially in a [[other_stuff:remote_sync|syncing system]] because it means that the visibility of newly created items will be automatically handled correctly. The visibility of items in a store whose visibility is controlled by master lists is immediately updated if any changes are made to any of the master lists. For instance, if a new item is added to a master list controlling visibility then that new item is made visible in all stores that use the master list. And any items deleted from the master list are made invisible in any store using that list.
  
-The first thing to do is to turn on the preference to make master lists control item visibility in stores. Do that in **File > Preferences...** on the //Item// tab - see [[preferences:general#item|General preferences, the item tab]] for details.+The first thing to do is to turn on the preference to make master lists control item visibility in stores. Do that in **File > Preferences...** on the //Item// tab - see [[preferences:general#item_tab|General preferences, the item tab]] for details.
  
 The next thing to do is to create the master list(s) that will control item visibility. See [[items:master_lists|Item master lists]] for details on how to do that. Giving your master lists helpful names will help you remember what they're for e.g. "Store xxx visibility list". The next thing to do is to create the master list(s) that will control item visibility. See [[items:master_lists|Item master lists]] for details on how to do that. Giving your master lists helpful names will help you remember what they're for e.g. "Store xxx visibility list".
Line 182: Line 300:
   - Click on **Special > Show stores...** (or click on the //Stores// icon on the //Special// tab of the navigator)   - Click on **Special > Show stores...** (or click on the //Stores// icon on the //Special// tab of the navigator)
   - Double-click the store who's visibility you would like to manage:{{ :other_stuff:selectstore.png?400 |}}   - Double-click the store who's visibility you would like to manage:{{ :other_stuff:selectstore.png?400 |}}
-  - Click on the //Master lists// tab: {{ :other_stuff:clickonasterlist.png?550 |}} +  - Click on the //Master lists// tab:  
-  - Select which master list(s) you would like to control the visibility of items in your chosen store by checking their checkbox in the //Use master list// column: {{ :other_stuff:selectmasterlist.png?550 |}} In this example, the District warehouse master list has been selected to control the visibility of the District warehouse store.+  - Select which master list(s) you would like to control the visibility of items in your chosen store by checking their checkbox in the //Use master list// column: {{ :other_stuff:selectmasterlist.png?550 |}} In this example, the //All items: General warehouse// master list has been selected to control the visibility of the General warehouse store. **Please note:** If there are a lot of master lists, you can type in the **Search master lists** field and the list will show only those master lists which contain what you type.
   - Click the **OK** button to finish. As soon as you do that the items on the selected master list(s) are made visible in the store and any items **not** on the selected master list(s) are made **invisible**. Any new items added to the selected master list(s) will be made visible in the store and any items removed form the master list(s) will be made invisible in the store.   - Click the **OK** button to finish. As soon as you do that the items on the selected master list(s) are made visible in the store and any items **not** on the selected master list(s) are made **invisible**. Any new items added to the selected master list(s) will be made visible in the store and any items removed form the master list(s) will be made invisible in the store.
  
-=== The Visibility tab === +=== Visibility tab === 
-<WRAP center round important 60%>+<WRAP center round important 90%>
 If your system is a Sync system (with Primary and Satellite servers) and your store is hosted on a Sync Satellite server, then you will not see the Visibility tab.  These settings need to be made while logged in to the Sync Primary Server. If your system is a Sync system (with Primary and Satellite servers) and your store is hosted on a Sync Satellite server, then you will not see the Visibility tab.  These settings need to be made while logged in to the Sync Primary Server.
 </WRAP> </WRAP>
  
-<WRAP center round tip 60%>+<WRAP center round tip 90%>
 You will also //only// see this tab if you are editing the store you are logged in to.\\ To log into a store you may need to first give yourself permission to do so under File > Edit Users > Double-click your user name > the Log in rights tab. Phew! You will also //only// see this tab if you are editing the store you are logged in to.\\ To log into a store you may need to first give yourself permission to do so under File > Edit Users > Double-click your user name > the Log in rights tab. Phew!
 </WRAP> </WRAP>
  
-The Visibility tab contains tools for manually setting the visibility of items in a store. These are good tools to use if you do not have many stores in mSupply and only need to make occasional changes to item visibility to a number of items. If you want to make a change to a single item's visibility in a single store then you can do that by going to the item's details window and using the store tab (see [[items:item_basics#the_stores_tab|Item basics, the stores tab]]).+The Visibility tab contains tools for manually setting the visibility of **items** and **names** in a store.
  
 +The item visibility tools are good to use if you do not have many stores in mSupply and only need to make occasional changes to visibility for a number of items. If you want to make a change to a single item's visibility in a single store then you can do that by going to the item's details window and using the store tab (see [[items:item_basics#the_stores_tab|Item basics, the stores tab]]).
 +
 +<WRAP center round important 90%>
 If you have turned on the [[preferences:general#item_list_master_local|preference to control item visibility by master list]] then you will not be able to use the visibility tab or the visibility settings on the store tab of an individual item's details window. If you have turned on the [[preferences:general#item_list_master_local|preference to control item visibility by master list]] then you will not be able to use the visibility tab or the visibility settings on the store tab of an individual item's details window.
 +</WRAP>
 +
  
 Here's what the tab looks like: Here's what the tab looks like:
Line 213: Line 336:
   * The **Make found names visible in this store ** will make all names in the last selection made with the **Query names** button visible in this store. Ask Sustainable Solutions for help if you're not sure about getting the right selection of names, as the consequences of making a mistake can be time consuming to fix!   * The **Make found names visible in this store ** will make all names in the last selection made with the **Query names** button visible in this store. Ask Sustainable Solutions for help if you're not sure about getting the right selection of names, as the consequences of making a mistake can be time consuming to fix!
  
-==== The Synchronisation tab ==== +==== Users tab ==== 
-mSupply has a synchronisation system designed to cope with environments which have weak or intermittent internetThe system passes information between a server and satellite (or tablet running mSupply mobile) when there is an internet connection and stores information to be sent when there is not.+{{ :other_stuff:screenshot_2022-02-04_at_15.02.21.png?600 |}}
  
-This tab is where the store specific settings for synchronisation are mad. See [[other_stuff:remote_sync|Remote Synchronization]] for more details.+The users tab shows which users have permission to log into this store.
  
 +The table shows a list of all the users in alphabetical order. If a user can login to this store then their corresponding //Can login// checkbox will be checked. If the store is the user's default store then the checkbox in the //Default store// column will be checked.
 +
 +You can add or remove permission for a user to login to this store by checking or unchecking their //Can login// checkbox (only if you have permission to edit store details though).
 +
 +
 +==== Synchronisation tab ====
 +mSupply has a synchronisation system designed to cope with environments which have weak or intermittent internet. The system passes information between a server and remote site (or tablet running mSupply mobile) when there is an internet connection, and stores information to be sent when there is not.
 +
 +See the [[synchronisation:introduction|]] page for more details.
 +
 +This tab displays some of the synchronisation settings for this store:
 +
 +{{ :other_stuff:pasted:20220906-145700.png?600 |}}
 +
 +The **Resync patient records when store is saved** checkbox forces all patient records to be re-synchrionised with the server when the **OK** button is clicked. This is useful if there appears to be something wrong with one or more patient records.
 +
 +
 +==== Names tab ====
 +This tab shows a list of all the names (customers, suppliers, stores, donors, manufacturers etc.) in the datafile and which are visible in this store. You are also able to edit the visibility of names:
 +
 +{{ :other_stuff:pasted:20220906-150150.png?600 |}}
 +
 +The table shows whether the name is a customer or supplier (or both). The checkboxes in the **Visible in this store** column are editable. If checked then the name is visible in this store, if unchecked then the name is not visible in this store. Click on one of the checkboxes to change its state.
 +
 +  * **Store checkbox:** If checked then names thast are stores are shown in the table
 +  * **Facility checkbox:** If checked then names that are not stores are shown in the table
 +  * **Search names field:** If you type in here then only names that contain what you type will be displayed in the list. Useful if you want to find a particular name or group of names in a long list.
 +  * **All off button:** Clicking this will uncheck all the checkboxes in the **Visible in this store** column (so making all names invisible in this store) and the button will change to **All on**. Clicking it then will check all the checkboxes in the column (and therefore make all names visible in this store).
 +  * **Copy button:** Copies the current state of all the checkboxes in the **Visible in this store** column.
 +  * **Paste button:** Pastes the states of checkboxes saved using the **Copy** button to the names in the table. Doesn't do anything if you haven't previously clicked the **Copy** button.
 +
 +Clicking on the **OK**, **OK & Next** or **OK & Previous** buttons will save any changes you make on this tab.
 ==== Deleting a store ==== ==== Deleting a store ====
-To delete a store, click on the //Delete// button in the View stores window. **Note:** deletion of a store is a serious thing to do and is only possible when that store contains zero stock and there have been no transactions recorded. mSupply will check and tell you that deletion is not possible if these criteria are not met. If you can't meet these criteria and you still want to stop people using the store then you can disable it. Do that by checking the //Disable this store// checkbox on the Store details window (see above).+To delete a store, click on the //Delete// button in the View stores window. **Note:** deletion of a store is a serious thing to do and is only possible when that store contains zero stock and there have been no transactions recorded. mSupply will check and tell you that deletion is not possible if these criteria are not met. If you can't meet these criteria and you still want to stop people using the store then you can [[other_stuff:virtual_stores#disable_this_store|Disable it - see above]]. 
 + 
 +<WRAP center round alert 60%> 
 +If the store is **Active** on a sync satellite site, then this process will not delete the sync satellite site. 
 +</WRAP> 
 + 
 + 
 +==== Transition a customer to a virtual store ==== 
 + 
 +You may have a customer that is about to start using mSupply.  That customer needs to become a store in mSupply.  There are two ways to do this
 + 
 +  * The 'old' method:  [[other_stuff:virtual_stores#create_new_store_and_then_merge_with_the_existing_customer_name|Create new store and then merge with the existing customer name]] 
 +  * The recommended :-D method:  [[other_stuff:virtual_stores#turn_an_existing_customer_into_a_store|Turn an existing customer into a store]] 
 + 
 +<WRAP center round important 90%> 
 +**Whichever method is used, this is difficult to reverse.  Only do this once you are sure. You have been warned!**  
 +</WRAP> 
 + 
 +=== Create new store and then merge with the existing customer name === 
 + 
 +Until version v5.02 (see below), the procedure was: 
 + 
 +  - [[other_stuff:virtual_stores#creating_new_stores|Create the new store]] with a similar name 
 +  - Use mSupply's [[names:merging_names|Merge names]] functionality to merge the two names into one 
 + 
 +<WRAP center round important > 
 +  * You **must** choose the newly created store's Name as the "Name to keep" and the older Customer's name as the "Name to delete"However, doing this means that you will lose the original name properties.  Therefore you should also take a note or a screenshot of name properties that you want to keep (e.g. address, categories etc.) and then re-apply them to the new store name. 
 +  * mSupply may prevent the merge due to unfinalised CIs from other stores in the system.  You will need to finalise these CIs on the corresponding stores before the merge is successful. 
 +  * These can be hard to find on a multi-store system where the transactions could have come from a number of places.  Suggested approach:  Use [[other_stuff:misc_topics#supervisor_mode_-_all_stores|Supervisor mode]], view CIs, and customise the list view to show Store name. 
 +  * If these transactions are on a number of stores on satellite sites on dodgy internet connections, it can take **//days//** to log in to the satellite sites, finalise the CIs, and sync the finalised CIs back to the Primary.  Meanwhile, there is a danger that new transactions will be created!  :-\ 
 +  * These inconveniences are why the [[other_stuff:virtual_stores#turn_an_existing_customer_into_a_store|Turn an existing customer into a store]] feature was developed ;-). 
 +</WRAP> 
 + 
 +=== Turn an existing customer into a store === 
 + 
 +Due to the limitations of the method described above, from mSupply v5.02 onwards, you can choose to convert an existing customer into a store, and thereby retain all of its properties. 
 + 
 + 
 +<WRAP center round alert 60%> 
 +If the name is not visible to the store that you are logged in to, this method will not work!  First make the name visible, then start this process... 
 +</WRAP> 
  
-==== Transition from a customer to a virtual store ==== 
-If you have a customer that is about to start using mSupply mobile, once you create the virtual store you will end up with two customers with the same (or similar) names, as creating a virtual store also creates a linked name. 
-Fear not: you can use mSupply's [[names:merging_names|Merge names]] functionality to join the two names into one record. Note that you **must** choose the newly created store's Name as the "Name to keep" and the older Customer's name as the "Name to delete" 
  
 +  - Log into a store that will have the same or similar user and group permissions as the new store.
 +  - **Customer > Show customers...** to find the customer that you want to convert into a store and copy the Name.  This will ensure that you are converting the correct name into a store - see warning below!
 +  - **Special > Show stores... > New Store**  You will see an alert like that shown below.  If you are logged in to a suitable store (see Important note above), then you can Continue:\\ {{  :other_stuff:pasted:20220519-012039.png  }}
 +  - Click on the **Turn an existing customer into a store** checkbox
 +  - Enter the existing customer name into the **Name** field.  You can search for existing customers by typing the first few letters of the customer's name, and then press **Tab**.  To ensure that you are converting the correct name into a store, paste the Name that you copied in step 2 above.  This should result in at least the store code field getting populated.  If this does not happen, then the existing customer has not been recognised - try again.
 +  - Populate the [[other_stuff:virtual_stores#responsible_officer|Responsible officer]], [[other_stuff:virtual_stores#store_credentials|Store credentials]] and [[other_stuff:virtual_stores#tags|Tags]] fields if required.
 +  - Click **OK**
  
-// Previous: [[other_stuff:transaction_categories|Transaction categories]]     Next: [[other_stuff:custom_data|Custom Data]]//+\\ 
 +\\ 
 +|  //  Previous:  **[[other_stuff:transaction_categories]]** | | Next: **[[other_stuff:bulk_store_preferences_editor]]** //  |
 ---- struct data ---- ---- struct data ----
 +pagestatus.status    : 
 ---- ----
  
  • Last modified: 2017/07/25 09:53
  • by Gary Willetts