Release notes

8.6.0 (Upcoming release)

This release is scheduled for early April 2024. You can already check out a preview.

Production planning

  • Enhancements to improve the plan quality in the presence of temporary unresolvable material shortages.
  • The planning algorithm now plans sales orders in status “quote” after “open” sales orders and net forecast. The quotes thus can’t steal capacity or material away from regular demand.
    In earlier releases quotes were just ordered among the open sales orders and net forecast. Depending on their priority and due date quote can take precedence over regular demand.

Inventory planning

  • Bug fix: The safety stock calculations were based on a replenishment plan that didn’t consider the autofence parameter. This can lead to slightly higher safety stocks.
    The autofence parameter is now also also considered for the safety stock calculations.
    This applies to Enterprise and Cloud Editions only.

8.5.0 (2024-03-02)

Production planning

  • Reduced memory consumption and improved performance.

Demand forecasting

  • When changing the forecast method in the forecast editor or inventory planning screen, the forecast is now immediately recomputed.
    In previous releases you had to regenerate the plan before seeing the new forecast values.
  • Addition of the batch field to the forecast table. The batch field was only available in the sales order table. See the make to order example for more details.

User interface

  • In the preferences screen you can now reset your screen personalization.
    You can restart from a clean slate. Or you can inherit them from another user. Or you can copy them from another scenario.
  • Addition of the item unit of measure column in the supply path screen.
  • Addition of hyperlinks in the network status widget to get detailed information on the displayed numbers.
  • The routing suboperations now have the same level in the upstream/downstream Operations widgets and in the demand delivery plan. This way, they will all expand/hide in one click.
  • The forecast widget was updated not to display too many values on the x-axis. The planner can choose to display the data in different time buckets (month, week, day…).
  • The manufacturing/distribution/purchase orders widgets were modified to display clickable bars instead of lines. These widgets display data based on the selected time bucket.

Odoo integration

  • Switching work orders to alternate work centers in a pool is now fully supported.
    Existing assigment were already sent from odoo to frePPLe. When reassiging in frePPLe the new assignment is communicated back to odoo.
  • 15, 16, 17: The mapping of calendars now includes the odoo identifier.
    This is needed to guarantuee uniquess of the calendars.
  • 15, 16, 17: The frePPLe item name is now mapped to the Odoo product internal reference, unless the internal reference is not unique in Odoo.
  • 15, 16, 17: Allow export of approved and confirmed purchase orders from frePPLe to Odoo to update various fields of the Odoo purchase order lines (quantity, receipt date, item…).
  • 15, 16, 17: Creation of purchase orders in Odoo (upon export from frePPLe) uses generic Odoo code so that fields such as tax, unit_price, description… are standard.
  • The XMLRPC version of the connector is deprecated.
    It has always been only an experimental feature, which we see now as a dead end.

System administration

  • Scheduled tasks are now also possible in docker containers.
    The automated scheduling of tasks on a time schedul no longer uses the at-command.
  • Bug fix: sending an email when executing a task group fails didn’t work.
  • Bug fix: Basic authentication on web requests failed when the password contains colons.

Training

  • The training slidepacks are now integrated in the help menu.
    This applies to Enterprise and Cloud Editions only.

Legal

  • The terms of service document (applicable to the Cloud Edition) and the software license agreement (applicable to the Enterprise Edition) have an extra “escrow” clause.
    This guarantuees customers access to the full source code of the software in the (unlikely!) event the company frepple wouldn’t be able to support and maintain the software any longer.

8.4.0 (2024-01-19)

Production planning

  • The solver now considers purchasing lead time and manufacturing lead time as separate constraints.
    This is useful in situations where manufacturing orders and capacity are being scheduled by the production planner(s) while the material planner(s) still work on procuring the materials.
  • The release fence is no longer selectable as a separate constraint. Respecting the release fence is now implicitly included in the lead time constraint.
    In practice we have never come across the need to control the fence constraint separately. So, let’s simplify things here.
  • The plan editor has been improved to edit multiple manufacturing orders simultaneously.
    Using the shift or ctrl key you can select multiple manufacturing orders. You can update their start date, end date or assigned resource.
    This applies to Enterprise and Cloud Editions only.
  • Bug fix: Corner case with unplanned demand when an item is consumed multiple times in the same supply path.
  • Bug fix: Manufacturing orders were being proposed on resources with a 0-priority skill.
    Consistent with other alternates, the planning algorithm should never propose replenishments on 0-priority alternates. Such alternates are only selected manually.

Demand forecasting

  • Reduced memory consumption.

Inventory planning

  • Databases are now initialized with 3 default segments based on the ABC classification.
    This applies to Enterprise and Cloud Editions only (provided ABC Classification app is installed).

User interface

  • A bulk update of a field on many records in a table is now much easier: first select the records to be updated, click the “update” icon and fill in the popup form with the fields you want to update.
  • Easier management of the membership of user groups.
    The group edit form now has a widget that allows you to select the users belonging to that group.

Odoo integration

  • 16, 17: Mapping of Odoo “replenish on order” products into frepple make-to-order items.
    For such items both Odoo and frepple maintain a hard link between consumers and producers of material.

Openbravo integration

  • The partial delivered quantities for purchase order lines are now correctly considered and netted from the purchase order line total quantity.

Cloud infrastructure

  • Part of our cloud servers are now running in the Amazon data center in Ohio (USA). Until now our cloud servers were all running in the Amazon data center in Ireland.
    Cloud customers whose frepple infrastructure was moved have already been notified.

Legal

  • Refreshed the privacy policy.
    No real changes here, just bringing up to date the list of third party applications we work with.

8.3.0 (2023-12-08)

Production planning

  • Bug fix: Custom operationplan attributes couldn’t be edited in the user interface.
  • Capacity report: Clicking to get the detail of the MOs consuming from a bucketized resource will now display all the MOs of the time buckets overlapping the filtering dates.
  • Resource detail report: A new display mode is added to display the resource schedule as a Gantt chart.
    This is experimental feature that will evolve in following releases.
  • Bug fix: Safety stock solving in buffers replenished with a routing operation that has a size multiple could generate excess material.

User interface

  • Frepple is now installable as an app on your tablet and smartphone.
    Your browser will provide a prompt to guide you through the installation.
  • The home screen of the application has be redesigned.
    We’ve noticed that the home screen isn’t commonly used as a central screen in the planner’s daily workflow. We’re trying to improve that.
    Generating a plan or executing a task group is now possible from the home screen.
    Any thoughts and ideas to further improve this screen are welcome!
  • A new apps screen allows superusers to interactively install optional extension module apps.
    Until now, administrators had to edit the INSTALLED_APPS setting in the /etc/frepple/djangosettings.py configuration file.
  • In the manufacturing order, purchase order and distribution order screens you can now use the familiar clock icon to set the time horizon.
    Just easier and simpler, isn’t it?
  • The ‘about frepple’ option in the help menu is now gone.
    The new apps screen in the admin menu provides the same (and more) information.
  • More updates to the Italian translations, contributed by Sbadux. Grazie mille!
  • Records in the upstream/downstream operations widgets (appearing when selecting a single PO/MO/DO) are now sorted by date (they were previously sorted by item).
  • Better management of the errors when copying a scenario. Sometimes, a scenario copy could appear as successful in the UI but the copy didn’t work properly. These silent errors are now captured in the execute logs and the task will be reported as failed.
  • Browser sessions time out after 1 day rather than 1 hour.
    The setting SESSION_LOGOUT_IDLE_TIME controls this timeout. We increased the default limit to improve the user experience.
  • Date strings in CSV or Excel uploads are now parsed according to the configured date style.
    The default remains ‘YYYY-MM-DD hh:mm:ss’ (international style). Using the DATE_STYLE setting in the djangosettings.py file this can be changed to ‘DD-MM-YYYY hh:mm:ss’ (European style) or ‘MM-DD-YYYY hh:mm:ss’ (US style).
  • Inventory report: Fix of the “End inventory” row that could display incorrect values when past buckets were displayed.
    This applies to Enterprise and Cloud Editions only.

Inventory planning

  • Bug fix: Incorrect buffer color could be shown in corner cases where multiple replenishment methods with different lead times are available.
    This applies to Enterprise and Cloud Editions only.

Odoo integration

  • 17: Support is added for the new Odoo version 17.
    At this stage this requires additional testing and validation. And yes, you can help us with this!
    Correction in product reservations when MOs are defined with a multi-step route.
  • 14 & 15 & 16: Bug fix. Connector had a problem authenticating in a multi-database Odoo configuration.

System administration

  • The command “empty” now requires either the argument “–all” or the argument “–models=list-of-models-to-be erased”.
    This change avoids erasing by accident all data from the database.

8.2.0 (2023-10-20)

Production planning

  • Solver improvements for bucketized resources (Enterprise & Cloud Editions).
  • Solver improvements for planning with operation dependencies (Enterprise & Cloud Editions).
  • The “why short or late” reasons for lead time constraints are improved to provide more meaningful and intuitive results.
    A first change is that dates on the before-current and before-fence constraints are now based on the start date rather than the end date. Using the start date is a more intuitive way to interpret and evaluate the constraint.
    An optional change is that the algorithm can now limit the before-current and before-fence constraints to only the most constraining operation. By setting the parameter “plan.minimalBeforeCurrentConstraints” you’ll get a shorter list of constraints.

User interface

  • Bug fix: filter on null values wasn’t working in “report manager” custom reports.
  • Updated Italian translations have been contributed by Sbadux. Grazie mille!

Odoo integration

  • 15 & 16: Onhand inventory is now filtered.
    We only transfer inventory in locations on type “internal”, and exclude scrap and return locations.
  • 15 & 16: The mapping for subcontracting bill of materials has been improved.
    The subcontractor resupply transactions are now synced correctly.
  • 15 & 16: The reference of bill of materials is now mapped into the operation description field.
  • 12: Backport of some recent developments to this older odoo version: working hour calendars, resource calendars, manufacturing orders material reservations.

Documentation and training

  • The use case videos section has been reworked and is expanded into a collection of “a day in the life” daily workflows.
    These workflows are categorized for different planning roles: demand planner, inventory planner, production planner and material planners.
  • The training material has been refreshed and extended.
    Enterprise customers find the latest material on the private github repository (requires github login).

Data integration

  • The export to folder command didn’t respect the date format configured in your djangosettings.py.

Legal

8.1.3 (2023-09-18)

  • Bug fix: interactive edits not working in docker container.

8.1.2 (2023-09-15)

  • Bug fix: the sales order delay field wasn’t updated correctly any longer in 8.1.0.

8.1.1 (2023-09-14)

  • An ugly bug slipped through the cracks and the 8.1.0 release is no good.
    Sorry about this.

8.1.0 (2023-09-13)

Production planning

  • The demand gantt report has extra columns “quantity required confirmed” and “quantity required proposed”.
    This split of the “quantity required” allows a planner to easily see what part of a sales order is already covered with existing supply.
    This report can also now be downloaded using the download button.
  • Automatic web service starts no longer modify the plan.
    Until now, the web service start tried to keep the plan feasible. The resulting plan changes are found to confuse users.
  • Approved and confirmed manufacturing orders now detect missing upstream supply on operation dependencies. Any missing supply is now replenished.
  • The logic for automatically fixing broken supply path is enhanced to cover situations where item-suppliers, item-distributions or operations have a priority of 0.
    See the doc on the parameter fixBrokenSupplyPath.
  • Bug fix: A corner case was corrected during safety stock planning when the producing flow has an offset.
  • Bug fix: A corner case was corrected when approved steps in a routing manufacturing order were infeasible. They approved steps were reduced correctly in size, but the material and capacity consumption on sibling manufacturing orders in the routing were not updated.

Demand forecasting

  • Significant memory usage and performance optimizations.
  • Records in a forecast report file (with typically forecast overrides) were only considered if the forecast combination exists in the forecast table. From now on, records will be processed even without forecast record, provided they are at leaf level (lowest level of hierarchy for the item, location and customer specified). Corresponding records will be automatically created in the forecast table with the planned flag equal to true and the forecast method set to automatic.

Inventory planning

  • The inventory planning screen no longer has the recalculate button to simulate a change of the inventory policies.
    This feature wasn’t widely used, and the alternative of resetting your changes after a save with undesired results is easy enough.

User interface

  • Fixed some small bugs where the user interface, data import and data export didn’t work correct with European style date and number formats.

Odoo integration

  • The approval button to export a proposed purchase order, distribution order or manufacturing order from frePPLe to odoo is now a button rather than a dropdown. Saves you a click.
  • 15 & 16: Handle the corner case where a purchase order has an ordering date later than its delivery date.
  • 15 & 16: Bug fix where confirmed manufacturing orders are consuming materials in the wrong work order.
  • 15 & 16: Addition of parameter odoo.delta that prevents the connectors from reading the entire sales order history. The usage of this parameter should reduce the duration of the odoo import task for companies with a signifiant number of sales order records.
  • Bug fix: Reordering rules on zero-stock buffers were incorrectly ignored.

Openbravo/Etendo integration

  • Discontinued items are considered inactive and are deleted in frePPLe.
  • Better handling of customer deactivation: All customer-related data is deleted in frePPLe including sales orders and forecast records.

System administration

  • The command to back up the database is renamed to contact frePPLe support as this is the official way for sharing a database dump with the frePPLe support.
    This command used to be available for users defined in the SUPPORT_USERS variable. The SUPPORT_USERS variable disappears as the command is now available to all super users.

System architecture

  • The code has been refactored to make all interactive planning more flexible and more scalable.
    Both the Enterprise, Cloud and Community Editions have the new capabilities.
    On the Enterprise and Cloud Editions the parameter “NewStyleOrderEditing” is now obsoleted.

8.0.3 (2023/07/26)

Production planning

  • Bug fix for auto-fence corner cases.

8.0.2 (2023/07/05)

Production planning

  • Unconstrained plan no longer runs a sweep to make the initial plan feasible.

Odoo integration

  • Corrected the behavior in frepple when odoo work orders are completed out-of-sequence.
    Odoo allows you to report a work order as completed already when a predecessor work order isn’t completed yet.
    Frepple by default marks also preceding steps completed (aka “backflushing” previous steps).
    Frepple’s default behavior is now suppressed for odoo manufacturing orders.

8.0.1 (2023/06/27)

Production planning

  • Bug fix: resizing the quantity of manufacturing orders within a routing manufacturing order failed in some corner cases.

8.0.0 (2023/06/03)

This release brings two exciting changes:

  • The license of the Community Edition changes from AGPL to MIT.
    Read this post to learn more.
  • The forecasting module is moving into the Community Edition.
    So far, it was available only in the Enterprise and Cloud Editions.
    Read this post to learn more.

Join the webinar on Thursday June 8 at 4 PM Central European Time to hear the full story and ask us any questions you may have.

Production planning

  • Manufacturing orders can now have a variable number of assigned operators.
    The proposed manufacturing will always have the default number of operators assigned. In the user interface you can interactively add or remove operators, which will impact the duration.
    The parameter plan.individualPoolResources needs to be set to true to activate this feature.
  • The data model has been enhanced to plan items with a limited shelf life.
    The next 8.1 release will bring reports and planning logic to intelligently deal with this extra constraint.
  • Closed operationplans are no longer automatically deleted.
    Some customers like to keep them around. In very old releases we did keep them, but then stopped doing that.
  • Bug fix: Fix corner case with the tools-per-piece feature when the tool availability conflicts with the operation size minimum.
  • Bug fix: When operation maximum size is specified on buffers with alternate replenishment operations, some demands could remain partially unplanned.
  • Bug fix: The autofence that makes the solver wait for existing confirmed and approved supply had a corner case where extra replenishments were incorrectly triggered.
  • Bug fix: Calendar buckets with an effective start time before 2am were not correctly handled on dates where the daylight saving time changes.

Inventory planning

  • A new parameter “inventoryplanning.report_min_horizon” is added.
    The top table in the inventory planning screen used to show forecast and supply position info computed over the lead time period.
    For item with a short lead time the results can be be pretty volatile. The new parameter allows to specify a minimum period for this calculation, which will result in an improved and more stable results.

User interface

  • Updated German translations have been contributed by Thomas Stöckel. Vielen Dank!
  • Bug fix: 7.2 introduced some situations where some reports in scenarios mix data from the default scenario.

Odoo integration

  • Bug fix: Item supplier records were not synced from odoo if the source field of the supplier is edited.

Operating system

  • Drop support for Linux Ubuntu 18.
    With the 7.x releases we still supported it for users of the Enterprise Edition. With the 8.0 release this is technically no longer possible.
    You can use a docker container or upgrade to Ubuntu 20.

7.3.5 (2024/01/11)

  • Bug fix: Import from folder command was broken with an error on an invalid fileupload argument.

7.3.4 (2023/11/17)

  • Inventory report: Fix of the “End inventory” row that could display incorrect values when past buckets were displayed. This applies to enterprise and cloud versions only.

7.3.3 (2023/10/13)

  • Bug fix: Favorites not working in Inventory Planning screen.

7.3.2 (2023/05/01)

  • Bug fix: Fix corner case with the tools-per-piece feature when the tool availability conflicts with the operation size minimum.

7.3.1 (2023/04/24)

  • Bug fix: 7.2 introduced some situations where some reports in scenarios mix data from the default scenario.

7.3.0 (2023/04/14)

User interface

  • Some smaller layout and styling updates were added, continuing on the big user interface refresh of 7.2.
  • The command Publish reports by email will not send empty reports anymore. If all reports to be sent are empty then no mail is sent.
  • Fix style problem of date widgets in Chrome 112.

Production planning

  • A new type of resource is added to model tools that are attached to each individual pieces of a manufacturing order.
    It’s used to model holders or frames that are attached to each piece while it is on the shop floor. A big manufacturing order needs more holders than a smaller one, which is different from the other resource types.
    Check out example resource tools for more details.
  • Completed and closed manufacturing orders no longer create problems.
    This reduces the alert list a bit compared to previous releases.
  • Bug fix: A corner case was corrected when a manufacturing orders require a certain resource skill while not a single resource has the required skill.
  • Bug fix: When a routing manufacturing order included some step manufacturing orders in the “proposed” status, then other manufacturing order steps in the “approved”, “confirmed” or “completed” status were getting ignored and deleted.
  • The default search mode in the operation resource table is changed from “priority” to “minpenalty”.
    Since this field is used in modeling resource pools, dividing the work over the pool is a more intuitive default (compared to loading the primary member of the pool).

Odoo integration

  • 15 & 16: The progress of work orders is now synchronised between odoo and frepple.
    Earlier releases only interfaced at the level of the manufacturing orders, and completely left the detail of the progress to odoo. However, when the duration and complexity of manufacturing orders is increasing, the more detailed level of the work orders is needed to generate a good and accurate plan.
    The connector now creates frepple operations specific to each manufacturing order to correctly capture the details of its progress. Odoo allows manual editing (of materials, work centers, durations, dependencies, …) at the manufacturing order level. Only with a dedicated operation can we assure that frepple correctly represents the odoo data.
  • 15 & 16: On manufacturing orders the connector now picks up the quantity actually produced instead of only the quantity.
    When pieces are scrapped or lost in any other way in the factory, the manufacturing orders in frepple will now adjust accordingly.

Internal APIs

  • The database structure for pegging information has been optimized for size and performance.
    If your customizations rely on the pegging data (either in a custom report or through the REST API), it may need updating.

7.2.0 (2023/03/03)

User interface

  • The styling and layout has been refreshed.
  • Updated Spanish translations have been contributed by Zipus. Gracias!
  • Bug fix: The empty-database task didn’t work if only the resource-detail or inventory-detail tables were selected by the user.

  • Excel exports for fields of type duration is improved and more intuitive with the default behavior of Excel.
    Durations less than a day are exported in the format hh:mm:ss. Longer durations are exported by default as a number of days.
    A new parameter excel_duration_in_days is added to maintain backward compatibility for customers that rely on the old format. The new format is the default, but if set to false we stick with the old format.
  • Bug fix: Occassionally the user screen didn’t open and showed an error.

Production planning

  • Support for tool resources.
    In some industries a mould, fixture or holder is attached to a manufacturing order, and the same tool accompanies it during multiple steps of routing.
    The tools are modelled as resources in frepple, with the subcategory field set to true. The planning algorithm will assure that the same tool resource is selected for all steps in a routing.
  • The logic for automatically fixing broken supply path is enhanced to cover situations where the effective data of item-suppliers, item-distributions or operations has expired.
    See the doc on the parameter fixBrokenSupplyPath.

Inventory planning

  • The inventory planning displays the segments and business rules that set an inventory policy parameter.
    Previous release only displayed a triangle to indicate a segment was involved, but didn’t display the segment name.
  • A new field “reorder point” is added to the inventory planning screen. It’s hidden by default.

Odoo integration

  • The frepple connector is now available from the odoo app store.
    You can downloaded and install from https://apps.odoo.com/apps/modules/16.0/frepple/
    Hint: Feel free to give us some stars and leave some feedback there :-)
  • 15 & 16: Support for operations requiring multiple workcenters at the same time. An extra field name secondary workcenters has been added to the operation model.
  • 14 & 15 & 16: Bug fix to handle bill of materials that produce more than 1 unit of the product.
  • 15 & 16: Added a flag on workcenters to indicate tools (see above).
  • 14 & 15 & 16: Update of replenishment logic when products can be both purchased and manufactured. The solver will try first to buy then to manufacture.
  • 14 & 15 & 16: Improved logic to handle situations where there are multiple vendor definitions for the same supplier and item.
    Earlier releases used the first record. Now we take the minimum quantity and minimum lead time of all date-effective records we find.
  • 14 & 15 & 16: When exporting RFQ purchase orders we now populate the order deadline date and receipt date.
    We put the earliest order start and end date of the exported frepple records in these fields. This makes it easier to quickly evaluate the urgency of the RFQs in the list.
  • 14 & 15 & 16: Bug fix. When a material was manually deleted from an odoo manufacturing order, frepple was still using it.
  • 14 & 15 & 16: Bug fix. Workcenter skills were not synchronised.

Documentation

  • The chapters are restructured and some new pages are added. We hope this makes it easier to find the info you’re looking for.

7.1.2 (2023/02/15)

Production planning

  • Various fixes to the operation dependency functionality.

7.1.1 (2023/02/02)

Production planning

  • Improved level-loading logic for assigning resources to approved and confirmed manufacturing orders.
    When approved and confirmed manufacturing orders are loaded from your ERP without any assigned resources, frePPLe automatically assign resources. In previous releases we always assigned the most efficient resource from a pool of possible resources. With this enhancement we consider also the loading of each resource to come up with a level-loaded utlization of the resources in the pool.
  • Bug fix: The empty-database task didn’t work if only the resource-detail or inventory-detail tables were selected by the user.

  • Bug fix: Incorrect level calculation in models with operation dependencies and without buffers.

User interface

  • Bug fix: Occassionally the user screen didn’t open and showed an error.

7.1.0 (2023/01/13)

Production planning

  • A new operation dependencies table allows to define relations between operations.
    This is useful to model the following situations:
    - Define which steps in a routing operation can be executed in parallel rather than sequential.
    - Define relations between different subprojects and tasks in a project-oriented business.
  • When uploading or editing purchase orders, manufacturing orders or distribution orders the inventory plans and resource plans are immediately updated.
    In previous releases this was already possible possible through the planning engine web service, and this remains the default.
    By switching the parameter “NewStyleOrderEditing” to “true”, you activate new code that doesn’t require the web service. Big advantage is that the saving the changes is now much faster.
  • Bug fix: Resolved infinite loop corner case when planning a sales order owner with delivery policy “all together” and one of the lines has a broken supply path.

System administration

  • The database name is now configurable in the docker container.
    The default database names are “frepple”, “scenario1”, “scenario2”, “scenario3”.
    If the POSTGRES_DBNAME argument is passed as “X”, the database names will be “X0”, “X1”, “X2” and “X3”.
  • Bug fix: restoring a database backup in a scenario was broken.

User interface

  • Addition of a debug report link in the Help/About FrePPLe window. This report will display the exceptions found in the apache log files and can help understand the root cause of an error. Any sensitive information is hidden, only the traceback exception is displayed.

Odoo integration

  • A new connection wizard allows you to connect odoo with frepple in less than 30 minutes.
  • 14 & 15 & 16: Support for odoo’s 2-week working hour calendars, which has different working hours in alternative weeks.

7.0.0 (2022/11/18)

Software stack

  • Support for Ubuntu 18 is dropped.
    The frepple team will only support Ubuntu 20. Use a Docker container to run on other platforms.
    On-premise users of the Enterprise Edition get extended support for Ubuntu 18 until March 1st 2023 (and are kindly encouraged to upgrade their infrastructure).
  • The minimum PostgreSQL version is now 12.
  • On-premise users of the Enterprise Edition will download installers and docker images from Github.
    This will replace the portal section on the frepple website. You’ll need a github account rather than a frepple account to access the downloads.
    Contact us to get access…

User interface

  • The date format is now configurable.
    The setting DATE_STYLE in the djangosettings.py configuration file now controls how dates are formatted in the user interface.
  • Minor improvement when loading data Excel files with autofilter tables.
    Since quite often excel spreadsheet contain real data outside of the table, we somewhat relaxed our logic to strictly read only the data from the autofilter table.

Production planning

  • The default value of parameter allowsplits is changed from true to false.

Odoo integration

  • The new Odoo 16 is now also supported by the connector.
  • v12 & 13 & 14 & 15 & 16: Correction of a bug in the uom conversion. Quantities were divided instead of multiplied by uom conversion factor and vice versa.
  • 14 & 15 & 16: When planners manually approve purchase and manufacturing orders, the odoo transaction is mark with that planner as responsible.
    In previous releases, the generic account running the frepple connector was used instead. Which isn’t very useful or handy…
  • 14 & 15 & 16: Confirmed sales orders are now synchronized through information from the deliveries instead of the sales order lines.
    This provides more detailed information on partial deliveries, reservations and scheduled shipment dates.
  • 14 & 15 & 16: Confirmed purchase orders are now synchronized through information from the receipts instead of the purchase order lines.
    This provides more detailed information on partial deliveries, reservations and scheduled receipt dates.
  • 14 & 15 & 16: A new configuration flag “respect_reservations” is added for the connector.
    When this flag is checked, frepple fully respects the material reservations of odoo. Frepple only plans with the unreserved materials.
    When this flag is false, frepple plans with the full material availability regardless of any reserved quantities in odoo. The implicit assumption is that any reservations will be unreserved in odoo when needed.
  • v14 & 15 & 16: Access rights to frepple are now configurable per user in odoo. The connector will also automatically synchronize the list of authorised users between odoo and frepple.
  • v14 & 15 & 16: Performance optimization by allowing gzip compression of the web traffic between the odoo and frepple servers.
    This will only give an improvement when you have a proxy server in front of odoo that does this compression.

System administration

  • The installation process has been simplified. Except for the postgresql configuration, everything else is now handled in the installer.
    • The installer now automatically can migrate your databases during a frepple upgrade. A prompt is shown to confirm whether or not you want to do this.

    • All python dependencies are now included as a virtual environment. You no longer have to deal with the requirements.txt file yourself.

    • A number of apache configurations are now done by the installer.

7.0.1 (2022/12/8)

Software stack

  • Bug fix: Some reports and actions didn’t work when the forecast app was not active.

6.25.17 (2024/03/11)

Production planning

  • Enhancements to improve the plan quality in the presence of temporary unresolvable material shortages.

6.25.16 (2024/01/03)

Production planning

  • Bug fix: Corner case with unplanned demand when an item is consumed multiple times in the same supply path.

6.25.15 (2023/12/08)

Production planning

  • Bug fix: Safety stock solving in buffers replenished with a routing operation that has a size multiple could generate excess material.

6.25.14 (2023/10/10)

Production planning

  • The “why short or late” reasons for lead time constraints are improved to provide more meaningful and intuitive results.
    A first change is that dates on the before-current and before-fence constraints are now based on the start date rather than the end date. Using the start date is a more intuitive way to interpret and evaluate the constraint.
    An optional change is that the algorithm can now limit the before-current and before-fence constraints to only the most constraining operation. By setting the parameter “plan.minimalBeforeCurrentConstraints” you’ll get a shorter list of constraints.
  • Backporting updates to reading of material status of manufacturing orders.

  • Extra protection for supply chains with loops.

6.25.13 (2023/09/07)

Production planning

  • Bug fix: improved autofence logic

6.25.12 (2023/06/20)

Production planning

  • Bug fix: Improved the correction for the issue addressed with 6.25.9.

6.25.11 (2023/06/14)

Production planning

  • Bug fix: A corner case was corrected during safety stock planning when the producing flow has a offset.

6.25.10 (2023/05/25)

System integration

  • Bug fix: Allow properties also on root objects in an XML document.

6.25.9 (2023/05/22)

Production planning

  • Bug fix: The autofence that makes the solver wait for existing confirmed and approved supply had a corner case where extra replenishments were incorrectly triggered.

6.25.8 (2023/04/24)

Odoo integration

  • Bug fix: Item supplier records were not synced from odoo if the source field of the supplier is edited.

6.25.7 (2023/04/19)

Production planning

  • Closed operationplans are no longer automatically deleted.
    Some customers like to keep them around. In very old releases we did keep them, but then stopped doing that.

6.25.6 (2023/03/30)

Production planning

  • Bug fixes for planning with alternate materials on an operation.

6.25.5 (2023/02/16)

Odoo integration

  • 14 & 15 & 16: Bug fix. When a material was manually deleted from an odoo manufacturing order, frepple was still using it.

6.25.2 (2022/10/19)

Production planning

  • Bug fix: The planning algorithm has been improved to handle corner cases with safety stock and the autofence parameter.

6.25.1 (2022/09/27)

Production planning

  • Bug fix: The planning algorithm has been improved to handle corner cases with the autofence parameter.
    When awaiting confirmed supply conditions did occur where a demand with a later due date was planned before a demand with an earlier due date.

6.25.0 (2022/09/16)

Production planning

  • Graphical calendar editor.
    A new screen visualizes how the calendar value changes over time. The new screen also allows easy creation of extra calendar buckets.
    Until now, calendar buckets have been quite abstract to grasp and understand. The new screen should make this a lot easier and intuitive.
  • Synchronised delivery of sales order.
    So far each sales order was planned independent. In practice it is pretty common that sales orders are grouped together under a header and the delivery within the group needs to be synchronised.
    A new field “policy” is added, with 3 possible values: “independent”, “all together” and “in ratio”.
    The “independent” policy is the default and treats each sales order separately, just as in previous releases.
    The “all together” policy assures all sales orders with the same owner are shipped together to the customer.
    The “in ratio” policy assures that partial deliveries maintain the same ratio as the initial order. For instance, imagine a customer requires 5 tables and 20 chairs. You can ship 1 table and 4 chairs, but not 1 table and all 20 chairs.
  • Bug fix: Operation batching didn’t consider infinite buffers correctly.
  • Bug fix: Bucketized resources didn’t handle the parameter allowsplits=false correctly.
    Thanks to kobsam from a nice open source contribution!

Forecasting

  • Performance optimization in the demand aggregation step.

Odoo integration

  • v14 & 15: Products of type “consumable” are no longer interfaced to frepple. These are assumed not be of interest for planning.
  • v12, v14 & v15: Variant management. The connectors are now managing the variants. The BOMs are correctly reflecting the “Apply on variants” field.
  • v14 & v15: Material consumption of a manufacturing order level are now included in the interface.
    These can deviate from the material consumption defined in the bill of material: e.g. when the bill of material is changed, or when the user manually edited the materials on the manufacturing order.

6.24.2 (2022/08/18)

Production planning

  • Bug fix: Updating purchase orders, manufacturing orders or distribution orders could create incorrect duplicate records in the inventory detail table.

6.24.1 (2022/08/03)

Production planning

  • Bug fix: Safety stock planning could leave material shortages in the plan in some conditions.
    The corner cases where this potentially happens have confirmed purchase orders within the autofence window of safety stock shortfalls.

Forecasting

  • 6.24.0 introduced a bug causing slow imports of forecast data files.

Odoo integration

  • v14: Bug fix for mapping odoo reorderpoints to frepple.

6.24.0 (2022/07/29)

Production planning

  • The plan editor has an extra field that allows to override the setup time of a manufacturing order. This accounts for one-off special setup times that aren’t captured in the setup matrix.
  • When selecting a resource from a pool, the planning algorithm now uses the resource efficiency as tie breaker in case the priority, cost or penalty criterion is identical for multiple alternative resources.
    Earlier releases used the resource name as tie breaker, which is quite arbitrary.

User interface

  • The ‘export workbook’ task no longer exports automatically generated identifier fields.
    The presence of such fields could interfere when importing the excel workbook again.

Third party components - Performance

  • A django patch has been backported to the frepple django fork.
    It reduces the number of required database connections and will improve performance for deployments with many scenario databases.

Odoo integration

  • Odoo 15 is now also supported by the connector
  • Ability to write back the scheduled start and finish dates of work orders from frepple to odoo.
  • v14: Bug fix, subcontractor lead time was interpreted by frepple in working hours rather than calendar days.
  • v14: Bug fix for mapping odoo reorderpoints to frepple.
  • v14: Bug fixes for multi-company odoo configurations.
  • v14: Bug fix, manufacturing orders in the status “to close” were incorrectly being ignored.
  • v14: Bug fix, improved logic to handle cases with multiple purchase records for the same item+supplier combination are present.
  • v14: Assure compatibility with the latest releases of the Python package pyjwt.
  • v14: Reduced memory footprint.

6.23.0 (2022/6/8)

User interface

  • Your user preferences now include an option to set a default scenario.
    Some users do the majority of their day-to-day actions in a scenario different from the default production scenario. This option will make the life of such users easier.
  • A new filter “is null” is now available on fields of reports.
    This makes it easier to filer empty fields or non-empty fields.

Production planning

  • The header row in the plan editor Gantt chart is now using the configurable bucket definition (defined in the “buckets” and “bucket dates” tables), just like all other reports.
    In previous releases this was hardcoded, which could lead to confusion and mismatches.

Odoo integration

  • V14: The connector code has been refactored to clean up and simplify the code.
  • V14: The connector now maps the status of individual work orders.
    In previous releases the connector only mapped the manufacturing orders. For very long manufacturing orders and with many work orders this extra detail is important.
  • A new parameter odoo.allowSharedOwnership allows users to edit records read from odoo.
    By default records read from odoo aren’t editable in frepple. You loose your edits with every run of the connector.
    If this flag is set to true you can override the odoo data if the source field of the overridden records is also edited.
  • V12: Performance improvement for reading large amounts of product templates.
    We noticed that the runtime increases exponentially as the number of product templates goes up. Newer odoo releases don’t show the same inefficiency.

System administration

  • A set of Kubernetes configuration files is now available for quick deployment on a kubernetes cluster.

6.22.0 (2022/5/6)

User interface

  • When drilling into an item, the “Plan” tab has been removed as the same information can be found in the “Inventory” tab.
    Inventory report: Backlog is calculated at the end of the bucket. It used to be calculated at the start of the bucket

Production planning

  • The itemsupplier table gets an extra field “hard_safety_leadtime” to model an extra delay to be considered when a purchase order is received.
    We already had a field “extra_safety_leadtime”. This models a soft constraint (we try to respect, but can compress it if needed). The new field models a hard constraint - regardless of the urgency, we need to plan for the extra delay when a purchase order is received.
    Typical use cases are for modeling quality control, material handling or administrative delays.
  • The Plan Editor gantt chart gets a new way of coloring the manufacturing orders by due date. Demands due in different weeks get a different color.
  • The Plan Editor now provides better visibility in plan infeasibilities.
    When generating a material infeasible plan, the report identifies the material problems, including the ones at upstream stages in the supply path.
  • Infinite buffers no longer peg consumer and producers.
    The FIFO assocation between consumers and producers makes sense for regular buffers, but only gives confusing results in infinite buffers.
  • Bug fix: The planning algorithm created a plan with unnecessary lateness in situations where a buffer has both an unresolvable material shortage and confirmed supply exists further in the horizon.
    Not a normal and common situation, but it can happen…

Forecasting

  • Forecast netting optionally can ignore the location dimension.
    A new parameter “forecast.Net_IgnoreLocation” is added to disable matching the demand location and forecast location during the forecast netting.
    This is useful for businesses that often ship sales orders from non-default locations or external warehouses.

Odoo integration

  • V14: Connector is improved to handle deep odoo location hierarchies.
  • V14: Extra links from the odoo menus to the frepple screens.
  • V14: Bug fix. Sales orders with an individual as customer were not picked up. Only orders from a company did go through.
    Now we pass the sales order correctly mapped to his/her company.
  • V14: New configuration to send stack traces from the connector back to your frepple instance. This is useful to debug data and connector issues. By default this option is not active for security reasons.
  • V14: Ability to limit the data to a single odoo company only.
    By default, the connector extracts data for all allowed companies the connector user has access to into a single frepple dataset.
    With the new option you can separate the frepple datasets per odoo company.

User interface

  • Bug fix: Editing grid fields of type currency was broken in a previous release.

System administration

  • The solver now has a built-in protection to avoid excessively large log files.
    This avoids annoying disk-full issues.

Third party components - Security

  • Django release is upgraded to 3.2.13 to address a security issue.

6.21.0 (2022/3/25)

Third party components

Production planning

  • The inventory report now uses colors to highlight periods where the onhand goes below the safety stock.
  • Improved performance and plan stability during interactive planning in the plan editor.
    The algorithm that propagates your changes has been revised to keep the changes more intuitive and faster.
  • Bug fix: 6.20 introduced a bug where manufacturing orders aren’t correctly restored on the assigned alternate resource.
  • Bug fix: Zero-time operations didn’t correctly respect the availability calendars in some corner cases.
  • Item suppliers records are automatically created for item-locations for which no replenishment has been defined. These records, created with an ‘Unknown supplier’, prevent the demand from not being planned.
  • The time window over which the item metrics “late demand count/quantity/value” and “unplanned demand count/quantity/value” are computed is now configurable with the parameter “metrics.demand_window”.
    This recognizes the fact that planners focus their day to day work to a certain time horizon, and all later forecast and sales orders are purely treated as “FYI”.
    For backwards compatibility, the default value is 999 - ie compute with all demand.
  • Bug fix: the effectivity dates of skills were not verified correctly in some corner cases.
  • Bug fix: the effectivity dates of operation materials were not verified correctly in some corner cases.
  • Bug fix: partially complete routing manufacturing order with some steps in the status “closed” were not correctly treated.

Forecasting

  • Forecast netting used only sales orders in the current and future buckets to consume from the forecast.
    A new parameter “forecast.Net_PastDemand” is now added to consider also older sales orders for the forecast netting.

Inventory planning

  • The top section of the inventory planning screen now includes extra columns to show confirmed supply beyond the lead time.

Odoo integration

  • V14: The previous release introduced a bug when exporting manufacturing orders from frepple to odoo.
  • v14: The connector is now consistently using the timezone preference of the odoo user used by the connector.
    In previous releases you could see some unexpected time shifts when the odoo and frepple servers run in different timezones.
  • v14: Synchronize the workcenter capacity and efficiency.
  • v14: Bug fix, approved purchase orders didn’t get the price field populated.
  • It is now possible to approve a workorder in frepple to approve the complete manufacturing order to odoo.
    In previous releases users had to filter out the routing manufacturing orders in frepple and only approve those. Quite tedious, isn’t it?

6.20.2 (2022/2/18)

Production planning

  • Bug fix: the effectivity dates of operation materials were not verified correctly in some corner cases.
  • Bug fix: partially complete routing manufacturing order with some steps in the status “closed” were not correctly treated.

6.20.1 (2022/2/11)

Production planning

  • Bug fix: the effectivity dates of skills were not verified correctly in some corner cases.

6.20.0 (2022/1/22)

Production planning

  • Improved hovering tooltip with constraints causing backlog in the demand report and inventory reports.
  • Removed the “excess material” problem. In practice these alerts were found to be too numerous and not actionable.
    More practical ways to identify excess inventory situations are either a) using “period of cover” item attribute, b) using the “inventory status” field in the inventory planning screen, c) using the “inventory days of cover” row in the inventory report, and/or d) using the “period of cover” field on manufacturing orders, purchase orders and distribution orders.
  • The order quoting screen now also displays the constraints that are causing a late delivery date.
  • Uniqueness of Item suppliers records has been updated. Only one record is now allowed with an empty location for an item/supplier/effective start date combination can be created.
  • Special case for setup matrices
    In the corner case where no setup rule matches a changeover, we used a changeover time of 1 year. This default changeover time now becomes 7 days.
    A small mistake in the matrix no longer messes up your entire plan.
    It is a best practice to explicitly use a final catch-all setup rule (i.e. from .* to .*) in each matrix to avoid running in this corner case altogether.

Forecasting

  • Reduced database size for sparse datasets (eg when a lot of forecast time buckets have no data).

Security

  • The application will automatically log users out after a period of inactivity.
    The threshold is configurable with the new setting “SESSION_LOGOUT_IDLE_TIME” (defaults to 1 hour, and can be set to None to disable this feature).

User interface

  • The popular data source url feature has been enhanced.
    The column selection, filtering, sorting and language of the web page are now all included in the URL. What you extract in your excel sheet will match what you have on the screen.
  • Allow upload of excel files with .xlsm extension.
    We don’t run the macros in them, but process only the data cells.
  • Reviewed Brazilian-Portugese translations. Many thanks to Neerosh!

Integration

  • The REST API can now also retrieve and update custom attributes.
  • The parameters to upload plan result files to a ftp/sftp/ftps folder can be defined per scenario.

Odoo integration

  • V14: Implemented synchronization of work center availability calendars.
  • V14: The connector now freezes the current date of the plan to the time of the import from odoo.
  • V14: Support for the “consumed in operation” field for bill of material components.
    In previous releases frepple consumed all bill of material components in the first routing step. With the extra mapping we can now consume some components at other steps.
  • V14: Changed naming convention for operations in frePPLe. With the odoo id at the end, the new name “item @ location id” is more readable than “id item @ location”.
  • V14: Changed naming convention for customers in frePPLe. With the odoo id at the end, the new name “name id” is more readable than “id name”.

6.19.0 (2021/12/1)

Production planning

  • A first version of new setup matrix optimization algorithm has been added in the Enterprise & Cloud Editions.
    Contact us if you are interested in this enhancement and would like to start using it.

User interface

  • The detail panels in the purchase order, distribution order and manufacturing order screens have been restyled and their layout optimized.
  • Fix bug where the time displayed could have an offset of one hour in DST timezones.

Odoo integration

  • V14: Handling of multi-timezone situations when importing and exporting manufacturing orders, purchase orders and distribution orders.
    When the frepple and odoo servers reside in different timezone things get mixed up in previous releases.
  • V14: Remove filter on customer_rank and supplier_rank which prevented some valid data from being synced with frePPLe.

6.18.0 (2021/11/5)

Production planning

  • Easier modeling of resource pools.
    An operation-resource record with quantity 2 of an aggregate resource was interpreted as “we need to find a resource with size 2”.
    If you set the parameter “plan.individualPoolResources” to true, the same operation-resource record will now be interpreted as “we need to find 2 individual resources of size 1”.
    A typical usage for the new feature is for modeling a group of operators.
  • Addition of a matrix view for the setup rules of a setup matrix. This view is accessible when drilling on a setup matrix, in the matrix detail tab.

Inventory planning

  • The network status widget in the inventory planning screen (attribute tab) is now filtering lines where the location is inactive for the selected item.

User interface

  • The purchase order, distribution order and manufacturing order screens can now display the detail panels on the right or the left of the screen.
    This improves the usability of the screen compared to positioning them at the bottom.

System administration

  • A new command generatetoken is added to generate JWT authentication tokens. Such tokens are a more secure way to authenticate automated API calls to the application.
  • A new app “monitor” implements an application health check. Your infrastructure team can monitor this URL to verify the frepple application is up and running.
    Check out the documentation for full details.

Database

  • Database size is reduced and performance is improved by removing some rarely used indexes.

Security

  • The security HTTP header now includes the newer Content-Security-Policy header in addition to the older X-Frame-Options header. Both headers can be configured with a setting in your djangosettings.py file.
    Unless you’re embedding frePPLe web pages as an iframe in your application this change doesn’t impact you.

Odoo integration

  • V14: Added support for subcontracting bill of materials.

  • V14: Added mapping of the unit of measure, volume and weight of a product.

6.17.1 (2021/10/10)

  • Fixed bug with database connection.

6.17.0 (2021/10/10)

Production planning

  • Enhanced make-to-order planning logic.
    In previous releases all confirmed and approved supply of make-to-order items needed to be marked with the correct batch field in order to be usable for a specific demand.
    With this release we also recognise freely available stock (ie with a blank batch field) that can be used for any demand. The algorithm will first exhaust existing supply with the matching batch field, then use any existing generic supply and finally plan for new supply matching the batch field.
    This represents business cases where the make-to-order is eg freed up after sales order cancellations.
  • Size-based selection of alternates
    The operation size-minimum and size-maximum fields are now also used for selection of alternates.
    An example use case: A small production order will be manufactured on a different machine than a large production order.
    Another example use case: When working on a small manufacturing order, the operators will work less efficient than on a larger production order. The time per produced item will thus decrease as the required quantity increases.

User interface

  • Extra field uom / unit of measure on the item table. Typical values are “piece”, “kg”, “l”, “m”…
    All quantities in the plan for an item are expressed in this unit of measure.
  • Extra robustness when defining custom attributes The feature was introduced in the previous release, and we added some checks to handle corner cases (such as attribute names starting with handles, adding attributes to proxy models, allowing underscores in attribute names, …)
  • The performance of the inventory report is fixed after it degraded in the previous release.

  • Correction of the days of cover calculation that could be wrong in the first buckets of the plan.

Forecasting

  • Performance optimization for retail-size datasets.
  • Refactoring to drastically reduce the memory consumption when using complex hierarchies.
  • The forecast editor can now also display the item, location and customer descriptions when browsing the hierarchies in the top panel.
    This greatly improves the usability when eg item names are simple numeric identifiers.
  • The out_deviation field in the forecast table is now editable.
    This is only useful when you import an externally generated forecast.
    When you use frePPLe forecasting engine, the value will be calculated by frePPLe.

Inventory planning

  • Performance optimization for retail-size datasets.

Odoo integration

  • Addition of batching window in supplier info table.

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, and 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 separately. 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. 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. 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

Openbravo connector

  • The openbravo connector is now also fully supported with Etendo, which is a recent spin-off and fork of Openbravo.

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.