I am looking for software to improve the management tasks of a Community Supported Agriculture association and I have discovered ERPNext, that I think can help us a lot. After trying it a little bit, I think that for some of the things we can use it out of the box (management of members, stock, and pick-up points/warehouses). But there is a process that is somewhat particular of our community, that we currently do with an error-prone combination of spreadsheets and manual calculations and I was wondering what would be the best way to implement it with ERPNext.
The process would model how we share and deliver the weekly stock we have. Every week, we divide our weekly harvest in shares, and each member of the community receives one of this shares, or half of it, depending on their subscription. The stock is distributed through pick-up points, members go to the pick-up points to get their share, so we also need to know the quantities we have to send to each pick-up point.
The process would consist basically on these steps:
- The list of memberships is closed for the week (no more changes are allowed).
- The farmer/s updates the stock with the weekly harvest.
- The farmer/s selects what part of the stock is going to be delivered.
- This part of the stock is split in the number of shares.
- Split is manually adjusted (for rounding up, and some other exceptions).
- Split is confirmed.
- Once confirmed we need:
- The list of members in each pick-up station.
- The stock to deliver to each pick-up station.
- The list of items for each share.
- Once the delivery is done, stock should be updated.
Simplifying a little bit, it would be to allow to “reserve” a part of the stock, split it in a set of deliveries, and generate some reports.
I see that ERPNext supports custom scripts, but I cannot find a lot of documentation about them, so I am not very sure of what they are capable of.
So my question would be, what would the best way of implementing this process with ERPNext? using custom scripts? Implementing a custom app? Or is there some additional option I could consider?