Skip to content

Order management and ordering helper #1427

Description

@kohlerj

Is your feature request related to a problem? Please describe.

I wanted an easy way to generate an order based on what I already had in my stock and that for multiple projects. I also wanted to easily export csv files to order from the supplier

Let's say I want to build:

  • two Project A which requires 3 of Part1 and 1 of Part2
  • one Project B which requires 3 of Part2 and 2 of Part3

I have in stock:

  • 10 of Part 1 minimum 0
  • 4 of Part 2 minimum 1
  • 0 of Part 3 minimum 10

The ordering helper combine the parts, remove the available from the stock respecting the minimum stock and create an order:

  • 2 of Part 2
  • 12 of Part 3

Within the order view, one can select the supplier which would then fill the corresponding SKU/SPN though it can manually be overridden

From there, the user can:

  • Export the order which creates one zip archive with one csv per supplier, ready to be imported in digikey/mouser
  • Modify the quantities
  • Change supplier
  • Add new items
  • Set order numbers, to track them
  • Receive the order which add the items of the order to the stock using the order numbers, supplier and quantity information.

Known limitations:

  • This is obviously a snapshot at time T of the stock, if you just ordered some parts that you need but they are not yet in the stock well then 🤷. Since the project is targeted at hobbyists and small labs. Note that we could add a functionality to "reserve" the stock if needed

Describe the solution you'd like

I had and still have, no clue how to program Php so I shamelessly let copilot do its thing.

You can find the "working" version here to get a sense of it: https://github.com/kohlerj/Part-DB-server

If there is interest on the maintainer side so that this could be merged one day then I'd happily spend time reworking the changes done part by part (also getting to know Php better 😬...) and make sure they adhere to the coding standards of the repository. If not then it will stay as is in my fork.

Describe alternatives you've considered

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions