We want to develop a mobile application to enable our customers to place orders. Front-end is expected to be built on Flutter with back end handled by ERPNext through APIs. I am not a developer, nor do we have in-house engineering team, so please excuse my lack of knowledge. We will be outsourcing this project to a company.
We are only developing and MVP at this stage and the following are the functionalities we are considering for the MVP.
1. User Login
- At MVP stage we have not yet decided if we want user registration or not. For the time being user registration can be done manually.
- User login will be controlled by ERPNext’s ‘Customer User’ functionality.
2. Category Listing
- Once the user logs in, they will be able to see the categories of products.
- Right now we only have 5 to 8 categories.
- Intending to utilise ERPNext Website Item Categories table.
3. Product Listing
- Once the user clicks on a category, they are taken to product listing page.
- We currently have only 80 to 100 SKUs.
- Only product listing is required in MVP. Detailed product page not required.
- Utilise ERPNext website item.
- Each list item should have Thumbnail Image, Item Name, Item Code, Price, Qty selector and Add to Cart button
- Clicking on the thumbnail should enlarge the image or should open item images gallery as a pop-up or modal.
- Price will be as per Customer’s default price list. Or fallback to Default Price List.
- Utilise quotation functionality for cart. ie. when a customer adds an item for the first time, a new draft quotation for the customer should be opened. Whenever customer adds the product to cart, the quotation should be updated.
- Alternatively, can have the cart as a functionality within the app itself.
- Functionality to remove and change qty of the items.
- CTA - “Proceed to Order”
5. Shipping Address Selection
- List down all shipping addresses linked to the customer from ERPNext.
- Customer should be able to select 1 address.
- CTA - “Proceed to Checkout”
- Display order total and shipping charges. All fetched from ERPNext quotation.
- We have two payment methods - either advance payment or credit. This can be controlled through ERPNext itself using customer’s default Payment Terms.
- If the customer has credit, display CTA “Confirm Order”. Clicking on “Confirm Order” should submit the quotation in ERPNext and automatically convert and submit it to sales order
- if the customer has no credit display CTA “Proceed to Pay”. Upon clicking “Proceed to Pay” UPI link should be triggered to open GPay. Alternatively RazorPay can be used. Once payment is successful, submit Payment Entry, submit quotation, convert and submit quotation to Sales Order.
- Upon successful checkout, display “Order Confirmed” with Sales Order number.
- Send an email to customer mail ID with a copy of the sales order from ERPNExt.
- Send an SMS to customer with sales order number from ERPNext.
- Send a whatsapp message to customer along with a copy of the sales order from ERPNExt.
Since, I am not a developer, can the community please help me with better ideas or problems in the above workflow. New ideas and functionality also invited Once again please excuse my lack on knowledge.