Release notes

6.16.0 (2021/08/21)

Community Edition

  • The old frepple-user group has been closed.
    Github Dicussions are the new forum for any questions and discussion.
  • The Continuous Integration (CI) software building process is now fully transparent run on Github Actions.
  • With the above changes, the source code, software builds, tests, and user forum are now all living next to each other on github.

Supported platforms

  • The Windows installer for the Community Edition has been removed. FrePPLe is an enterprise and cloud application. A windows desktop version isn’t a viable option for us to distribute the application.
    The Enterprise Edition is still available as a Windows installer.
  • The docker container is now fully production ready.
    They have been experimental for a while already, an we have now brought forward the code, tests and documentation.
    The images for the Community Edition can be pulled from the Github Container Registry.
    The images for the Enterprise Edition can be downloaded from our portal.

Production planning

  • The logic for choosing a default resource from a resource pool is enhanced.
    In previous releases, we automatically choose the most efficient resource. In case we find multiple resources in the pool with the same efficiency, we now use the resource skill priority as a tie breaker.
  • Bug fix: A solver issue with unconstrained resource has been corrected. See https://github.com/frePPLe/frepple/issues/381

Inventory planning

  • A new app “ABC-classification” makes it easy to define a segmentation of the items with an ABC classification.
    The parameters “abc.classes” and “abc.history” allow flexible configuration of the calculation.

User interface

  • An new table attribute allows users to define custom attributes themselves from the user interface.
    In previous releases this required some programming in the backend.
    Since adding custom attributes is so common on items, sales orders, etc… we’re giving this power to the user now.
  • The inventory report got a new set of extra fields. We also made it easy to expand and collapse summary rows to display more detailed rows.

System administration

  • The migrate command now migrates all scenarios that are in use.
    In previous releases the system administrator had to migrate each scenario seperately. This was inconvenient and often forgotten.
    You can still migrate a single database only by using the –database argument.

Integration

  • The HTTP API already allowed launching tasks, canceling task and checking the task status. Now you can also retrieve the log file of tasks.

6.15.0 (2021/07/02)

Production planning

  • The itemsupplier and itemdistribution tables get an extra field “batchwindow”. It specifies a time window for grouping proposed purchase or distribution orders together.
    This makes is easier to model a purchasing or shipping frequency: “I buy this item once a month” / “I ship at least the requirements for the next month”.
  • The itemsupplier table gets an extra field “extra safety leadtime”. It specifies a time that needs to be added on top of standard item supplier lead time for safety reasons.
  • The plan.autoFenceOperations parameter instructs the solver to wait for existing supply rather than generating a new replenishment. In this release the logic has been refined for corner cases around overdue requirements and safety stock.
    The new behavior will delay some replenishments that were proposed too early in previous releases.
  • Bug fix: A bug in the planning algorithm created more lateness than needed when an manufacturing operation produces more than 1 piece per unit (i.e. you have an operationmaterial record with a quantity > 1)
  • The “currentdate” parameter now also accepts the keyword “today”. It sets the current date for planning to today at 00:00 / midnight.
    In previous releases you could already use the keyword “now” to use the system time as current date. A drawback of using “now” is that different planning runs on the same day will show slightly different results. For the majority of users, this is confusing and not needed. With the new “today” keyword the plan will be stable during the day.
  • A new parameter “WIP.produce_full_quantity” provides finer control on the behavior of the completed_quantity field of manufacturing orders.
    When set to “false” (the default) a partially completed manufacturing order is producing only the remaining quantity of material. We assume that the on hand inventory has already been incremented to reflect the produced material.
    When set to “true” a partially completed manufacturing ordre will still produce the full quantity of the material. We assume that the produced material will only be booked as inventory when the manufacturing order is fully finished.

User interface

  • Ability to change the number of records on a page.
    A simple dropdown next to the paging buttons allows to easily see more records on the screen.
  • Ability to create a scenario from a backup file.
    The planner can now select a backup file when creating a scenario. Previously scenarios could only be created from other scenarios.
    Looking back into an older plan allows the planner to go back in time and understand why certain decisions where taken then.
  • Improved data table detection when importing Excel files.
    This feature was introduced in the previous release. User feedback showed that it’s not uncommon to have data columns outside of the table. These were silently being ignored with 6.14.
    Columns next to the data table will now still be read, similar to the behavior before 6.14.
  • Addition of 4 fields to the inventory report: Produced by confirmed PO, Produced by proposed PO, On order confirmed PO, On order proposed PO. These 4 fields allow the planner to understand in a glance if the purchased quantities are coming from a confirmed or a proposed PO.
  • Report time settings are now scenario specific.
  • Bug fix: Editing calendar buckets from the calendar form was broken.
  • Bug fix: Filter widget wasn’t shown in custom reports.

Integration

  • Bug fix: the REST API didn’t include the field owner of the resource model.

6.14.0 (2021/05/28)

Production planning

  • Confirmed manufacturing orders, distribution orders and purchase no longer consume or produce material in the past. We now position these right after the current date.
    This improves the visibility in the plan between what-has-already-happened and what-is-about-to-happen.
  • With a new field “quantity_completed” on manufacturing orders, frepple now can correctly model partially completed manufacturing orders. The planned end date, material consumption and capacity consumption are now computed on the remaining quantity to produce.
    In earlier releases we relied on appropriately preprocessed input data to account for such partial completed work-in-progress.
  • Interactive changes of confirmed manufacturing orders, purchase orders or distribution are now allowed.
    In previous releases, their status first had to be changed before the quantity or dates could be edited. This temporary status change is no longer required.

User interface

  • The calendar views on the purchase orders, manufacturing orders and distribution orders now support grouping the results.
    You get a row with cards for every resource, supplier, item, item category… The calendar view then looks pretty much like a spreadsheet grid with cards in each cell.
  • Manufacturing orders, purchase orders and distribution orders can now be edited from the resource detail and inventory detail screens.
  • Addition of the period of cover as an item attribute, allowing to display, sort and filter that value in most of the views and reports.
  • When uploading excel files, we now check for the presence for an autofilter data table on a worksheet. When present, we only read the data from that table.
    By ignoring all other cells, you now have more flexibility to create a custom layout of your data file. Eg a header section with comments or instructions.
  • Refreshed Spanish translations. Many thanks to Marilenne Minaya!
  • Bug fix: formatting of negative numbers was showing too many digits after the decimal.

Integration

  • Addition of the upload exported reports task in the execute screen, allowing users to export selected reports to a remote server (using a ftp, sftp or ftps connection).
  • Possibility to add a multiplier column to the files uploaded to forecast report or forecast editor. The values will be multiplied by the multiplier value. This gives more flexibility when working with different unit of measures.
  • Bug fix: the REST API didn’t include the field available of the operation model.

6.13.0 (2021/04/20)

Birth of a new product

  • FrePPLe’s user interface has quite some nice capabilities that are generic and reusable in other domains.
    We have copied these out into a separate project https://github.com/frePPLe/frepple-data-admin.
    We believe that a larger community to build on the data-admin product will also be beneficial for our planning product.

Production planning

  • Bug fix: Using the plan.autoFenceOperations parameter can lead to sub-optimal plans resulting in demands being planned at a later date.

Inventory planning

  • Ability to override the lead time used by the safety stock calculation.
    The decoupled lead time we compute based on the operation durations in the supply path is not always a good starting point to compute a safety stock. Now we provide the possibility to override that lead time.
    Eg the production operation of a certain item take 3 days. But if we know that we will only produce a batch of this product every 2 months, we can’t compute a safety stock based on the 3 day production time.

Forecasting

  • Net forecast in the current bucket is no longer due in the past.
    In previous releases, it could have a due date in the past. Which results in bogus late forecast alerts, even if the forecast can be fulfilled from inventory.
  • Bug fix in the export when a forecast name contains a quote or a tab character.

User interface

  • Login with your Google account.
    Cloud users can now log in with their Google account.
  • Scenario management: Addition of a command to release a scenario.

System administration

  • The command to back up the database is now restricted to users listed in the setting SUPPORT_USERS.
    It is now possible to download the database dump from the user interface.

Odoo integration

6.12.0 (2021/03/01)

Data model

  • Item model now has extra fields “volume” and “weight”.
    The purchase order, distribution order and manufacturing order screens now can display the total cost, total volume and total weight of the selected records.

Forecasting

  • The forecasting algorithm is enhanced to account for missing data points.
    For instance, when an item is not on stock in a shop the sales will obviously be zero. But that doesn’t mean the customer demand for the item was zero.
    Check out the example model forecasting with missing data points

User interface

  • Inventory report now displays also archived inventory information.
    We archive the inventory and safety stock values every day/week/month (configurable with the parameter archive.frequency).
    Planners can review how the onhand and safety stock have evolved over time.
  • In the PO/MO/DO screens, the selection of a line happens now by clicking anywhere on that line. Previously, the user had to click on the checkbox at the start of the line.

System administration

  • Self-diagnoses check for required python third party packages.
    Missing python package will now be reported as an error whenever you run frepplectl.

Integration

  • REST API didn’t support the operator “in” for all fields.

6.11.0 (2021/01/24)

Production planning

  • Bug fix: when importing approved manufacturing orders assigned to a resource from a resource group an incorrect calendar was assigned.
  • Bug fix: Corrected corner cases where size constraints on an operation are contradicting each other. Rather than keeping the order unplanned we now automatically resolve the conflict by relaxing the constraint.

Forecasting

  • Performance optimizations when validating the aggregated forecast data.

User interface

  • Various improvements to the Kanban and calendar views introduced in the previous releases.
  • Improvements to the messaging and follower features.
    When you follow an object you can choose to follow also activity on related objects. Eg When you follow an item, you can choose to also follow the purchase orders, manufacturing orders distribution orders for the item. Eg when you follow a resource, you can choose to follow also the manufacturing orders planned on that resource.
    You can also add other people as followers.
  • FrePPLe now uses machine-assisted translations.
    As a user, you will no longer see a partially translated user interface. Instead you’ll see a completely translated user interface, with a few translations that are a bit off.
    As a translator, your task is now simpler. You no longer need to type everything from scratch. Instead you’ll just need to review the pre-translated strings and correct them where needed.
  • The create_buckets command now correctly supports ISO 8601 week numbers.

Development

  • FrePPLe is now using the cmake build system rather than the archaic autotools.
    End users won’t see any change (i.e. the same source code is still compiled into the same executables), but the source code meta data is now much cleaner and better.
  • On Windows we no longer support deployments using the apache web server or the cygwin compiler.
    The Windows installer with the embedded web server and PostgreSQL database remains fully supported. It provides an easy start for small deployments and/or trials. Bigger and more scalable deployments are only possible with a linux server.

6.10.0 (2020/12/06)

Customer support

  • Cloud customers can now chat with customer support from the help menu. After a while we will remove the chat widget that is currently present on every page.
    We’ve experimented with various locations for the chat widget, and every time we get the feedback that its location is inconvenient.
    Free trial users will still get the chat widget on every page.

User interface

  • Restructured the edit forms for all entities. The main fields are now clearly separated from advanced fields and related objects.
  • The comment and audit trail functionality has been completely revamped.
    You can now upload attachments.
    You can also follow objects. When there are changes to it, you will get a notification in your inbox.
    This feature will be further improved in the next releases.
  • A calendar view on manufacturing orders, purchase orders and distribution orders is now available.
    It displays as events on a calendar.
    More to come on this in the next releases!
  • Users can now upload an avatar image.
  • Updated the list of default fields in all reports. By default we keep the reports now as lean as possible. More advanced fields are hidden by default.
  • New “is child of” filter operator that makes it easy to filter data for a part of the item, location or customer hierarchy.
  • Bug fix: filtering on choice fields was broken when a language different from English is used.

Third party components

  • Added required Python packages: pillow and psutil
    Install these by running “pip3 install pillow psutil”

System administration

  • Users can now upload attachments and their avatars. These files are stored in the folder /var/log/frepple/uploads.
    Your backup procedures (don’t tell me you don’t have any…) should now include this folder.

6.9.0 (2020/11/07)

User interface

  • A Kanban view on manufacturing orders, purchase orders and distribution orders is now available.
    It displays the data as cards arranged in columns and provides a very visual and intuitive overview of all activities.
    More to come on this in the next releases!
  • A new get-started wizard is added to generate forecast for a single item.
    Fill in a simple form with the item, location, customer and recent sales history, and we’ll populate the data tables and generate the statistical forecast.
  • A new get-started wizard is added to generate a production plan for a single sales order.
    Fill in the details of the sales order, define the supply path and we’ll populate the data tables and generate the production plan.
  • The cockpit is renamed to home.
  • Bug fix: frozen columns were not handled correctly in favorites.

Forecasting

  • Bug fix: Forecast overrides with quantity 0 were lost after a forecasting run.

6.8.0 (2020/10/03)

User interface

  • Filtering data has been made more easier. The search expression editor is still available, but a simple search for a value in a text field can now be performed with less clicks.
  • Addition of the data source URL in the export dialog for easier export of frePPLe data into Excel. External applications can now directly pull frePPLe data online from a URL, which bypasses the export-import steps you do manually now.
  • Updated demand gantt report to make zooming in&out easier and to show also item information.

Integration

  • Authentication to all URLs of the application is now possible with a JSON web token or basic authentication with user&password. This feature makes it easy for other applications to pull data or embed frePPLe.
    This feature can be disabled by commenting out the HTTPAuthentication middleware in your djangosettings.py file.
  • Remote API to cancel running tasks.

6.7.0 (2020/08/29)

Production planning

  • Advanced customization: Some python code can now customize the sequence in which demands are prioritized and planned.

User interface

  • New demand history, purchase order history and inventory history widgets on the cockpit screen.
    FrePPLe will now record historical plan data. In following releases you can expect historical plan information to start appearing in additional screens.
  • The search box now allows you to open the search results in a new browser tab. Using different browser tabs is very handy when you don’t like to lose the previous screen.
    You can already achieve this on all links by using the right-click menu of your browser. We made that a bit easier now in the search box.
  • Addition of a tooltip with column name when hovering on column headers.
  • Custom reports now support filtering, sorting, customization and favorites. Just as all other screens.
  • Added Ukrainian translations. Thanks Michael!
  • Added Croatian translations. Thanks Blago!

Odoo integration

  • The odoo addon is moved to its own github repository: https://github.com/frePPLe/odoo We hope this makes it easier for odoo implementation partners to install the addon and contribute enhancements.

Windows installer

  • The windows installer now has an option to send us anonymous usage information.
    The usage data will provide us valuable information to guide our roadmap and continue improving the tool. The data is anonymous and will never be shared with third parties.
    The option is disabled by default.

6.6.0 (2020/06/19)

Production planning

  • The planning algorithm is enhanced to allow better control over the work-in-progress inventory. The work-in-progress between decoupling points is kept minimal and the inventory is carried at the decoupling points. The max-early field on the resources controls how much inventory is acceptable at the manufacturing operations between decoupling points.
  • Implemented user interface and REST API to switch to manufacturing orders to alternate materials.

User interface

  • Some dialog boxes had the confirmation button on the left, some had it on the right. We now consistently place the confirmation button always on the right.
  • Revamped the workflow to identify items with many late demands. A new widget on the cockpit “analyze late demand” displays a top 20 of items with late demand. From there you can drill down into the “demand report” of an item to review the backlog situation and the constraints causing the lateness.
  • Scenario management: Logged user won’t see anymore in the scenario management screen in use scenarios where he/she is not active.
  • Export dialog: Addition of scenarios in the dialog so that user can export current view and scenarios (for which user has permission) in the same spreadsheet/csv file.
  • Manufacturing order, purchase order and distribution order detail: Addition of upstream and downstream widgets. When selecting a row, 2 new widgets are displayed to track the source and destination of the material. It shows how it has been produced/replenished (upstream widget) and where it will be consumed/delivered (downstream widget).
  • There is a change in how rows are selected in grids where multiple selection is allowed. Clicking on a the checkbox of a row will extend existing selection to that new row. Clicking anywhere else in the row will reset existing selection and only that new row will be selected.

6.5.0 (2020/05/16)

Production planning

  • The release fence of operations is now expressed in available time, rather than calendar time.
  • Material production or consumption can now be offset with a certain time from the start or end of a manufacturing order.
    This can be used to model a cooldown, drying or testing time: Material is only produced a certain amount of time after the end of the manufacturing order.
    It can also be used to model a material preparation or picking time: Material is consumed a certain amount of time before the start of the manufacturing order.

User interface

  • Supply path: Alternate operation with low priority (less preferred) will be displayed in light-blue.
  • Simplified the tabs on the item screen to ease navigation and give quick access to the inventory report for that item.
  • Network status: Completed operations are taken into account to calculate the on hand column of the network status widget.
  • Search box: The search box in the menu looks also for a match in the description field. If a description exists, it is now displayed next to the name of the object.
  • Simplified the process of translating the user interface.

Integration

  • A task scheduler allows users to a series of tasks automatically based on schedule.

Odoo connector

  • Various fixes contributed by Robinhli, Jiří Kuneš and Kay Häusler. Many thanks to our user community!

6.4.0 (2020/04/04)

Production planning

  • Simpler and more efficient modeling capabilities for make-to-order and configure-to-order supply chains. The (complete or partial) supply path can now automatically be made specific to a sales order or an item attribute.
    In earlier releases this was already possible, but required a more complex data interface.
  • Resources can now be assigned to a setup matrix changeover. The extra resource is required to perform the changeover - typically a technician to reconfigure the machine or a tool that is needed during the setup change.
    Only unconstrained resources can be assigned for the changeover. The solver can’t handle constraints on the changeover resource.
  • Faster opening time for the plan editor and support for favorites.

User interface

  • Scenario Management: It is possible now to promote a scenario to production. All data of the scenario will be copied to production database.
  • Email exported reports: Reports that have been exported using Export plan result to folder command can be emailed to one or more recipients with a new command in the execute screen.

Forecasting

  • The forecast table has an extra field ‘operation’. It is used to specify a delivery operation for planning the forecast.

  • The favorites functionality is now also available in the forecast editor.

User interface

  • Addition in the inventory report of the field “Consumed by Fcst”. “Consumed by SO” used to include both sales orders and forecast, it is now restricted to sales orders only.
  • Addition of a Measure Management section in the Execute screen. It allows a user to copy a measure into another one.

6.3.0 (2020/02/28)

Production planning

  • Solver enhancement to improve planning with alternate materials.
    In earlier releases available inventory and committed supply were considered individually for each alternate material.
    From this release onwards, the algorithm checks available stock and supply across all alternate materials before generating new replenishments.

Forecasting

  • A large number of the measures <model-reference/forecast-measures.html> that were so far hard coded in the forecasting engine are now customizable. They now come as a set of predefined measures which you can easily tailor and extend.

User interface

  • You can now save frequently used report settings as a favorite. This can be huge time saver in your daily review of the plan.

  • A new report manager app allows power users to define custom reports using SQL. This greatly enhances the flexibility to tailor the plan output into reports that match your business process and needs.

Integration

  • Data files in SQL format can now be processed with the command import data files from folder. For security reasons this functionality is only active when the setting SQL_ROLE is set. It should be configured by an administrator to a database role that is correctly tuned to a minimal set of privileges.

  • Data files in the PostgreSQL COPY format can now be processed with the command import data files from folder. Data files in this format are uploaded MUCH faster.

  • Postgresql foreign key constraint on operationplanmaterial and operationplanresource for the operationplan_id field is made cascade delete. As a conseqeunce, there is no need anymore to delete the operationplanmaterial (Inventory Detail) and operationplanresource (Resource Detail) records before being able to delete an operationplan record (MO/PO/DO).

Documentation

  • Browsing the documentation is now more intuitive. A feature list allows you to find your way by functional topic.

  • A new section with videos on common use cases is added.

  • The tutorial for developing custom apps has been refreshed and extended.

Odoo connector

  • Adding support for odoo v13.

  • v12 and v13: Export of multiple POs for the same supplier will create a single PO in odoo with multiple lines. If the exported POs also contain multiple lines for the same product, then a single PO Line is created in odoo with the sum of the quantities and the minimum planned date of all exported records for that product.

6.2.0 (2020/01/17)

Production planning

  • Currentdate parameter now accepts most known formats to represent a date and/or time.

Forecasting

  • Editing forecast values in the forecast editor <user-interface/plan-analysis/forecast-editor.html can now be done faster and better with a new panel at the bottom: edit multiple buckets together, increase the forecast with a certain quantity or percentage.

  • The forecast editor <user-interface/plan-analysis/forecast-editor.html now allows you to select which measure you display in the top panels.
    So far, these top panels showed the total forecast in units or in value. Now a dropdown allows you to select which figures you want to display there.
  • Add your own custom measures <model-reference/forecast-measures.html> to the forecast report and forecast editor.
    This opens up a lot of new uses cases and building more complex forecasting processes:
    • use different measure to collect forecast information of all stakeholders and define a consensus forecast.

    • manage product prices and margins that vary by location, customer and time.

    • archive forecasts to perform waterfall analysis

User interface

  • The last-modified fields and the task execution dates are now shown in the local timezone of your browser.
    For on-premise installations this doesn’t change anything. However, our cloud customers across the world will be happy to better recognize the timestamps.
  • Ability to filter on json fields such as the “Demands” field of manufacturing/distribution/purchase orders table.
  • When exporting Excel files, read-only fields are now visually identifiable in the header row. A color and comment distinguish read-only fields from fields that can be updated when uploading the data file.

Integration

  • Export of duration fields will not be in seconds anymore but will use same format used in the tool: “DD HH:MM:SS”. This change is effective for both csv and Excel exports.

Development

  • New mechanism to build Linux packages. The new, docker-based process makes supporting multiple linux distributions much easier.

Security

  • A vulnerability in the django web application framework was identified and corrected. The password reset form could be tricked to send the new password to a wrong email address.
    The same patch can be applied to earlier releases. Contact us if you need help for this.
    By default frePPLe doesn’t configure an SMTP mail server. The password reset functionality isn’t active then, and you are NOT impacted by this issue.

6.1.0 (2019/11/29)

Production planning

  • Bug fixes in the solver algorithm when using alternate materials.

  • Bug fixes in the solver algorithm when using post-operation times at many places in the supply path.

  • The demand Gantt report got a long overdue refreshed look and now displays more information.

Inventory planning

  • The term “inventory planning parameter” was changed to “inventory policy”: shorter and more commonly used in industry.
    If you upload excel workbooks or data file with inventory policies, you will need to rename the data file.

Forecasting

  • The architecture of the forecast engine underwent a big overhaul, enabling more flexible and advanced calculations in memory across the item, customer, location and time hierarchies.
    In this release the benefits show in big performance improvements 1) when editing at higher levels in the hierarchy, and 2) when uploading forecast data.
    You can expect more improvements in the forecasting module in following releases!

User interface

  • Filter arguments are now trimmed to provide a more intuitive filtering. The invisible leading or trailing whitespace lead to confusion and mistakes.
    On the other hand, if you were filtering on purpose with such whitespace: this is no longer possible.
  • Support for user-defined attributes on purchase orders, manufacturing orders and distribution orders.

  • Bug fix: Unit/Values buttons of the inventory planning screen corrected. Clicking on the active button was causingg a change to the selection (thank you Steven).

  • Enhancement of the supply path to draw cases where producing operation materials record is missing (produced item declared at operation level) or produced item is only declared at routing level.

Integration

  • Renamed the command “create_database” to “createdatabase” for consistency with the other commands.

  • Bug fix: remote execution API failure on scenarios

  • Various fixes to the connector for Odoo 12.

Development

  • A new screen allows to execute SQL commands on the database. This new app is only intended to facilitate development and testing, and shouldn’t be activated in production environments.

6.0.0 (2019/16/09)

Production planning

  • The name column in the buffer table is removed. The item and location fields are what uniquely defines a buffer.
    This data model simplification makes data interfaces simpler and more robust.
  • Data model simplification: The suboperation table is now deprecated. All data it contained can now be stored in the operation table.
    This data model simplification makes development of data interfaces easier.
  • The default minimum shipment for a demand is changed from “round_down(quantity / 10)” to “round_up(quantity / 10)”. This provides a better default for planning very slow moving forecasts.

  • The resource type ‘infinite’ is now deprecated. It is replaced by a new field ‘constrained’ on resource. This approach allows easier activation and deactivation of certain resources as constraints during planning.

  • When generating a constrained plan, the material constraint has been removed. It didn’t really have any impact on the plan algorithm. The constraints actually used by the planning engine are capacity, lead time and the operation time fence.

  • Improvements to the solver algorithm for bucketized resources and time-per operations. The improvements provide a more realistic plan when manufacturing orders span across multiple capacity buckets.

  • Performance improvements in the evaluation of setup matrices.

  • Bug fixes and improved log messages in the propagation of work-in-progress status information.

Forecasting

  • Forecast report now displays all intersections when only

    intersections in the Forecast table were previously displayed.

  • The default minimum shipment quantity of forecast was 0 (ie any shipment size is accepted). This now defaults to 10% of the net forecast quantity, which is also the default minimum shipment size for sales orders.
    Of course, you can still set the minimum shipment field in the forecast table to 0 to get the previous behavior.
  • Bug fix: avoid duplicate outlier problems being flagged when simulating in the inventory planning screen.

User interface

  • Bug fix: When uploading a Purchase/Distribution/Manufacturing orders file with the “First delete all existing records AND ALL RELATED TABLES” selected, all purchase, manufacturing and distribution records were deleted.
  • Addition of the duration, net duration and setups fields in the manufacturing order screen.

  • Addition of Hebrew translations, contributed by https://www.minet.co.il/ Many thanks!

  • Give a warning when users try to upload spreadsheets in the (very) old .XLS Excel format instead of the new .XLSX spreadsheet format.

  • Performance improvement for the “supply path” and “where used” reports for complex and deep bill of materials.

Integration

  • The REST API for manufacturing orders now returns the resources and materials it uses.
    Updated resources and materials can also written back with API.
  • Added support for integration with Odoo 12.

Third party components

  • The third party components we depend on have been upgraded to new releases. Most notably upgrades are postgres 11 and django 2.2.
    Postgres 10 remains supported, so upgrading your database isn’t a must for installing this release.
    When upgrading a linux installation from a previous release, use the following command to upgrade the Python packages. On Windows the new packages are part of the installer. sudo -H pip install –force-reinstall -r https://raw.githubusercontent.com/frepple/frepple/6.0.0/requirements.txt
  • Support for running in Python virtualenv environments.

Documentation

  • Addition of example models on the following functionalities: forecast netting, alternate resources, resource efficiency.

5.3.0 (2019/07/06)

Production planning

  • Bug fix: material shortages can be left in the constrained plan, when solving safety stock across multiple stages or in the presence of confirmed supply.

Demand forecasting (Enterprise & Cloud Editions)

User interface

  • The modelling wizard that guides new users in loading their first data in frePPLe is completely redesigned. It now provides a more complete, more structured and deeper guidance for getting started with frePPLe.
    Currently this new wizard is not available in the Community Edition.
  • A new guided tour is available. Previous guided tour was a journey around the different pages and features of frePPLe. New guided tour is composed of use case questions, illustrated in a short video.

  • Filters for a report can now be updated easier. Rather than opening the search dialog again you can directly edit the filter description in the title.

  • Multiple files can now be imported together in a grid. Opening the import box multiple times is a bit boring. Selecting or dragging multiple files is cooler.

  • Bug fix. When using the Empty Database feature on either manufacturing or distribution or delivery or purchase orders then all orders (manufacturing + distribution + delivery + purchase) were deleted.

  • Bug fix on backlog calculation of the demand report

  • Bug fix. Reseting to 0 the net forecast for past forecast periods. Non-zero values could lead to incorrect backlog in forecast report

5.2.0 (2019/05/27)

Production planning

  • Modeling simplication: In the operation material table you had to always insert both the produced material and consumed materials.
    In a lot of models an operation always produces 1 unit of the item. In this type of model you can now choose to leave out the records for the produced material. We’ll automatically add them with makes your modeling and data interfaces easier, faster and less error-prone.
    If an operation produces a quantity different from 1 the producing operation material record remains necessary.
  • In the plan editor you can now select multiple operation and change the status of all of them in a single action.

  • Performance improvements in the solver algorithm.

  • Operations loading multiple bucketized resource now use the effiency of that resources. In earlier releases we used the minimum efficiency of all resources that operation loads, which is the correct behavior for resources of type default but not for bucketized resources.

  • Bug fix to avoid creating excess inventory in models with large operation minimum sizes.

  • Bug fix for the inventory report when drilling down on the “Consumed by SO” row.
  • Bug fix for the demand report when drilling down on the “Net forecast” or “Orders” row.
  • Bug fix: The web service sometimes didn’t start at the end of a planning run because a previous web service instance can’t be stopped in some situations.

Distribution replenishment planning

  • Enhanced distribution solver algorithm to handle fairsharing in the presence of expiring demands.

Inventory planning (Enterprise & Cloud Editions)

  • The inventory planning screen screen can now be customized in the same way as all other screens.

  • The inventory planning calculations now supports operations with a quantity-per different from 1.

User interface

  • Various small styling improvements and usability enhancements.

Odoo connector

  • Bug fixes in the mapping of open and closed sales orders.

5.1.0 (2019/04/22)

Production planning

  • In the plan editor you can now temporarily disable the automatic resolution of constraints. This makes it faster and easier to make a series of changes to the plan without distractions.

  • Performance improvements for the bucketized resource solver.

Distribution replenishment planning

Forecasting (Enterprise & Cloud Editions)

  • The forecast editor screen now visualizes the past forecast. This allows a forecast-versus-actual comparison that is important for reviewing and measuring the forecast accuracy.

User interface

  • A new filter type is introduced for date fields. You can now easily filter records with a date within a specified time window from today.
    In earlier versions you had to explicitly change the date argument for the filter every day. Which was quite boring, error-prone and not very user friendly.
  • The number format in grid no longer has a fixed number of decimals, but flexibly adapts to the size and number of decimals in the number to be shown.

  • The login form now offers the option to remember me the login credentials. This avoids that a user has to login every time a browser session on frePPLe is started.
    The user session information is persisted in a cookie in your browser. The session cookie will expire after a period of inactivity (configurable with the setting SESSION_COOKIE_AGE), after which the user has to log in again.
    Security sensitive deployments should set this setting equal to 0, which forces users to log in for every browser session.
  • When logging in, the user names and email address are now evaluated case-insensitively.

5.0.2 (2019/05/15)

Production planning

  • Bug fix for infinite loop when setting the completed and closed status on manufacturing orders of routing operations.

5.0.1 (2019/03/25)

Production planning

  • Bug fix and improvements in the way that the completed and closed manufacturing order status is propagated to upstream materials.

5.0.0 (2019/03/16)

Production planning

  • The identifier of purchase orders, distribution orders and manufacturing orders, has been removed.
    The reference field is now the primary key, and a required input field.
    The required reference fields is an API-breaking change.
  • A new status “completed” is added on purchase orders, distribution orders and manufacturing orders. It models a status where the order has already completed, but the ERP hasn’t reflected this yet in its inventory status.
    When changing the status of a manufacturing order to completed, there is also logic to assure that sufficient upstream material is available. If required the status of feeding purchase orders, distribution orders and manufacturing orders is changed to completed.
  • The resource detail and inventory detail tables are now editable.
    This allows to import detailed information on allocated resources and consumed materials from the ERP system, and model the current work-in-progress in full detail.
    In earlier releases these tables only contained output generated by the planning algorithm. From this release onwards they also contain input information for manufacturing orders in the status approved and confirmed.
  • The default of the parameter plan.autoFenceOperations is changed from 0 to 999.
    By default, the planning algorithm now waits for any existing confirmed supply before proposing a new replenishment.
    The new default avoids unnecessary duplicate replenishments and results in more intuitive plans.
  • The search mode to choose among different alternate replenishments can now be controlled by the user.
    In previous releases this could only be controlled on operations of type ‘alternate’, and automatically generated alternates always used priority as the selection mode.
    From this release onwards the field ‘operation.search mode’ can be used to specify the selection mode from among ‘priority’, ‘minimum cost’, ‘minimum penalty’ and ‘minimum cost + penalty’.
  • The item table gets some read-only fields which capture some key metrics: - number of late demands - quantity of late demands - value of late demands - number of unplanned demands - quantity of unplanned demands - value of unplanned demands

  • The resource table gets a read-only field to store the number of overloads on the resource.

  • The weight field for problems of type ‘late’ is now indicating the quantity being planned late. In earlier releases it represented the delivery delay.

  • Performance optimizations for various corner cases.

Forecasting (Enterprise & Cloud Editions)

  • Bug fix for the corner case where the manual enforced forecasting method isn’t applicable.

Odoo connector

  • Workcenters assigned manufacturing orders are now also imported.

  • Bug fix: Manufacturing orders in the state “ready to produce” were not being sent to frePPLe as work-in-progress.

4.5.0 (2019/01/25)

Production planning

  • The default allowed delivery delay of sales orders and forecasts is changed from indefinite to 5 years. This improves the performance of the algorithms in case there are unplannable orders.

  • A new resource type time buckets is introduced that represents capacity as the number of hours of availability per time bucket.

  • The capacity consumption from a bucketized resource now also has a constant component and considers the resource efficiency.

  • Addition of the field size maximum to the item supplier and item distribution tables.

  • More detailed modeling of work in progress.
    The parameters WIP.consume_material and WIP.consume_capacity control whether a confirmed manufacturing order consumes material and capacity.
  • More detailed modeling of in transit material.
    By leaving the origin location empty, no inventory will be consumed at the origin location. We assume the material has already left the origin location and is in transit.
    By leaving the destination location, the distribution order doesn’t produce any stock. This represents a material transfer outside of our supply chain.
  • Ability to use powerful regular expressions in the definition of setup matrices rules .

  • Bug fix: calculation of operation time for 0-duration operations was wrong in some situations.

  • Bug fix: incorrect operation duration when different resources in an aggregate pool resource have different working hours.

  • Bug fix: corrected corner cases where the solver got into an infinite loop.

User interface

  • Ability to cancel any running task on the execution screen. Until now only the plan generation could be canceled while it was running.

  • Improved performance and reduced memory footprint when downloading and exporting big reports.

  • Added field duration to the execution screen

  • Added tabs to see the manufacturing orders for a specific item, location or operation.

  • Update of the “in progress” fields of the inventory report. Are considered in progress for a given bucket all orders starting before the end date of that bucket and ending after the end date of that bucket.

Forecasting (Enterprise & Cloud Editions)

  • Improved algorithm to detect seasonal patterns.

  • Performance optimization when reading forecast data in memory.

Inventory planning (Enterprise & Cloud Editions)

  • Fix the distribution used to calculate the service level all along the horizon.

API

4.4.2 (2018/10/20)

Production planning

  • A new solver is introduced, specifically designed and tuned for distribution models.
    The default solver loops over all demands in order of priority and due date, and reserves material inventory and capacity along the supply path of that demand.
    The distribution solver first generates a unconstrained plan, and then solves all infeasibilities together and propagates the impact along the supply path. This solver distributes the shortage proportionally across all impacted demands. In distribution models the solver is also much faster than the default solver.
    See the documentation of the planning algorithm for more details.
    The new parameter ‘plan.solver’ selects which solver to use.
  • Performance optimization for models with post-operation times by avoiding ineffecient search loops.

  • The naming convention for distribution operations is changed from ‘Ship ITEM from ITEM @ SOURCE to ITEM @ DESTINATION’ to the simpler and shorter ‘Ship ITEM from SOURCE to DESTINATION’.

  • Bug fix for a specific corner case where material requirements for work in progress aren’t propagated at all.

  • New parameter plan.resourceiterationmax allows user control over the number of searches for a free capacity slot on a resource. Contributed by Mateusz Knapik.

Forecasting (Enterprise & Cloud Editions)

  • Performance optimization when uploading forecast override data.

User interface

  • Added field net duration to the resource detail report

  • Added fields total in progress, work in progress MO, on order PO, in transit DO to the inventory report

  • Bug fix: Deleting an object from the edit form in a scenario was incorrectly deleting the object in the production instead.

  • The import data files from folder and import a spreadsheet functionalities now ignores spaces, dashes and underscores in the recognition of the content type from the file or worksheet name.
    So far, only a worksheet called ‘sales order’ was recognized as containing sales order data. Now “sales-order”, “sales_order” and “salesorder” will also be recognized.

Openbravo connectors

  • Addition of the importDistributionOrders that read the distribution orders issue from Openbravo.

  • Export of approved distribution orders issue from frePPLe to OB.

  • Use of Fpp_InventoryByProduct entity that aggregates the onhand by warehouse (frePPLe connectors are not looking at the storage bins anymore). The Fpp_InventoryByProduct entity handles the onhand date change meaning that it can now be used in delta mode.

  • Use of the Fpp_ConsumptionHistoryDetail entity that aggregates the demand for a given item-location at bucket level. That makes the connectors read much less records. The time bucket (week, month…) is configurable in OB.

  • Handling of product name change. FrePPLe connectors rely now on the object id rather than on the product name.

Third party components

  • The Ubuntu binaries will be compiled on Ubuntu 18 LTS from now onwards.
    Compiling for Ubuntu 16 LTS remains fully supported, but we recommend to upgrade Ubuntu.

4.4.1 (2018/09/10)

Production planning

  • Bug fix in the calculation of the lateness/earliness of a manufacturing order, purchase order or distribution order. The calculation was incorrectly based on the start date rather the end date of the operation in question.

  • A new field “feasible” is now added to the inventory detail report, resource detail report, operation detail report, purchase order screen, distribution order screen and manufacturing order screen. The read-only boolean field indicates whether the order is violating any material, lead time or capacity constraints. This is useful in interpreting the results of an unconstrained plan.

  • The criterion for before current problems is updated for confirmed orders. The change should result in less problems that are also more meaningful to the users.
    For orders in the status approved or proposed a before-current problem is created when the start date is in the past.
    For orders in the status confirmed the criterion the problem is now created when the end date is in the past, i.e. the order is overdue and should have been finished by now.
  • The natural key in the suboperation table is changed from operation + suboperation + operation to operation + suboperation + effective start date.

User interface

  • Ability to make the data anonymous and obfuscated when exporting an Excel workbook. The names of all entities are obfuscated in the resulting spreadsheet. You will still need to carefully review the output to clean out any remaining sensitive data.

  • Ability to customize the names for the time buckets used in the reports. The time bucket generation command now has extra attributes for setting the name of the daily, weekly, monthly, quarterly and yearly buckets.

Third party components

  • Support for Ubuntu 18 LTS.
    Ubuntu 16 LTS remains fully supported.
  • Windows installer now uses Python 3.6.
    Python 3.5 remains fully supported.

4.4.0 (2018/08/02)

The Windows installer of this version isn’t working correctly due to some packaging mistakes.

Production planning

  • Resources can now have an efficiency percentage. This allows the resource to perform an operation faster or slower than the standard operation time.

  • The resource report now displays the available capacity as a line, replacing the green bar in previous releases to show the free capacity.

  • Performance optimization of the solver algorithm. The solver now passes down the minimum shipment information from the demand to all upstream entities, which allows the algorithm to perform a more efficient search.
    In complex models, the resulting plan may be slightly different - for the better.
  • Resource build-ahead penalty calculation now also working for 0-cost resources.

  • New rows to the purchase order summary and distribution order summary reports to show the quantity on order or in transit.

  • New rows to the inventory report to show 1) days of cover of the starting inventory, 2) the safety stock and 3) more details on the supply and consumption type.

  • The minimum field on the buffer defines a safety stock. In previous releases this safety stock was effective from the horizon start in 1971. Now this safety stock is effective from the current date of the plan onwards.
    This change will give a different result for safety stock replenishments in an unconstrained plan. In a lead time constrained plan the results will be identical.
  • Remove buffers of type procurement from the planning engine code. This buffer type was already long deprecated and hasn’t been accessible to users for quite some time now.

  • Simpler and more generic modeling of fixed material consumption and production by operations. The types ‘fixed_end’ and ‘fixed_start’ on operation material records are replaced with a field ‘fixed_quantity’.

  • Renamed the “demand plan detail” report to delivery orders, and enable uploading confirmed or approved shipments to customers as input data.

  • When expanding a confirmed manufacturing order on a routing operation, the automatic creation of the child manufacturing orders for each routing step now also considers the post-operation time.
    Note that such child manufacturing orders are only generated if they aren’t provided in the input data yet.

Inventory planning

  • The safety stock and ROQ minimum/maximum period of cover are now expressed in days. It was before entered as the number of period buckets, the period bucket being the value of the inventoryplanning.calendar parameter.

Forecasting (Enterprise & Cloud Editions)

  • Forecast parameters forecast.Net_NetEarly and forecast.Net_NetLate are now expressed in days (previously they were expressed in seconds).

User interface

  • Bug fix when copying a what-if scenario into another what-if scenario.

  • Bug fix when uploading data files using the Microsoft Edge browser.

Deprecation

  • Operations of types alternate, routing and split should not load any resources, or consume or produce materials. The suboperations should model all material and capacity usage instead.
    Note that in the majority of models, the explicit modeling of alternate operations is no longer needed. The planning engine detects situations where an item-location can be replenished in multiple ways and automatically generates an alternate operation.

4.3.4 (2018/06/08)

Forecasting (Enterprise & Cloud Editions)

  • The forecast error used in frePPLe is SMAPE. This has a counter intuitive property that provides values in the range from 0% to 200%.
    We redefine the SMAPE metric now to half the previous value to give a more intuitive range between 0% and 100%. See https://en.wikipedia.org/wiki/Symmetric_mean_absolute_percentage_error for the alternate definitions of SMAPE.
  • Forecast report is now also showing the cumumlative backlog of the orders and forecast, i.e. the demand that is planned later than its due date.

Production planning

  • The plan editor now automatically initializes the Gantt chart rows and the color codes for the item and operation category and subcategory values.
    Personalized configurations are preserved, and the new logic is only used to initialize the screen with new values.
  • Added new reports purchase order summary and distribution order summary to summarize the purchase orders or distribution orders per time bucket.

  • For consistency with the previous change, the operation report is renamed to manufacturing order summary.

Integration

  • Extended the exporttofolder command to export additional plan results into CSV or Excel files.

  • The data type of all numeric fields is changed from 15 digits with 6 decimals to 20 digits with 8 decimals. This allows a larger range of numbers to be accurately represented in the database.

  • The remote web commands API now supports user authentication with JSON Web Tokens to launch tasks, download data and upload data.

4.3.3 (2018/05/03)

Forecasting (Enterprise & Cloud Editions)

  • Bug fix: In some bucket definitions, the forecast consumption was not consuming from later buckets.

Inventory planning (Enterprise & Cloud Editions)

  • Ability to control the priority of a business rule

  • Bug fix: simulation capability in the Inventory Planning report not working when there are multiple forecasts for a single item+location forecasts.

Production planning

  • Solver performance optimization where there are availability calendars. The plan generation time can be reduced with a factor 3 to 4 in some models.

  • Solver enhancements for planning with setup matrices.

  • Solver optimization to handle infinite buffers more efficiently.

  • Bug fix: Compilation error with Python 3.6

Odoo connector

  • Correction to maintain a single root hierarchy.

Openbravo integration (Enterprise & Cloud Editions)

  • Bug fix: sales order mapping incorrectly used the document status.

  • Log file of the connector now accessible in the user interface

4.3.2 (2018/03/19)

Forecasting (Enterprise & Cloud Editions)

  • Internal refactoring of the forecastplan table.

Inventory planning (Enterprise & Cloud Editions)

  • When defining the ROQ period of cover for an item with the global_purchase flag set to true, the forecast is now based on the total demand for the item (rather than only the local demand).
    Note that the safety stock calculation remains based on the local demand for the item.

Production planning

  • New operationmaterial policy ‘transfer_batch’ which allows material production or consumption in a number of batches of fixed size at various moments during the total duration of the operationplan.
    A new field operationmaterial.transferbatch is introduced.
  • A new field ‘end items’ is added to the manufacturing order, purchase order and distribution orders screens. It is similar to the ‘demands’ which shows the demands.

  • Solver enhancements for planning with setup matrices.

API

  • Bug fix: backward compatibility after command renaming in 4.3.

Third party components

  • Upgrade to PostgreSQL 10. PostgreSQL 9.5 and 9.6 remain fully supported.

4.3.1 (2018/02/17)

Production planning

  • Solver engine improvements to reduce resource setup changeovers (Enterprise & Cloud Editions)

  • New step to make the initial work-in-progress data feasible. (Enterprise & Cloud Editions) Constraints are resolved by delaying approved manufacturing orders to feasible dates. Confirmed manufacturing orders aren’t changed during the new pre-planning step.

Forecasting (Enterprise & Cloud Editions)

  • Ability to display only 2 dimensions in the forecast editor screen.

  • Performance improvements in the export of results.

  • Improved & more intuitive values when entering forecast overrides at different levels in the hierarchies.

Bug fixes

  • The autofence now also considers approved supply, and not only confirmed supply.

  • Excel files with some non-standard internal structure are now also recognized.

  • Work-in-progress operationplans with quantity 0 are no longer rejected.

Deprecations

  • Command frepple_run is renamed to runplan.

  • Command frepple_runserver is renamed to runwebserver.

  • Command frepple_copy is renamed to scenario_copy.

  • Command frepple_importfromfolder is renamed to importfromfolder.

  • Command frepple_exporttofolder is renamed to exportfromfolder.

  • Command frepple_flush is renamed to empty.

  • Command frepple_backup is renamed to backup.

  • Command frepple_restore is renamed to restore.

  • Command frepple_simulation is renamed to simulation.

  • Command frepple_createbuckets is renamed to createbuckets.

  • Command frepple_createmodel is renamed to createmodel.

  • Command frepple_loadxml is renamed to loadxml.

  • Command frepple_runworker is renamed to runworker.