Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Inventory #841

Closed
evereq opened this issue Mar 21, 2020 · 0 comments
Closed

Feature: Inventory #841

evereq opened this issue Mar 21, 2020 · 0 comments
Assignees
Labels
Epic type: enhancement ✨ New feature or request
Milestone

Comments

@evereq
Copy link
Member

evereq commented Mar 21, 2020

We need to have an inventory catalog, which later can be integrated with e-commerce software.

  • such a catalog will be used to provide "Items" for invoices (so it's easy to create invoices for specific goods/services).
  • At the same time, for items in the inventory catalog, we should support (optionally) tracking of inventory (i.e. qty of items in stock), so every time someone adds items to an invoice inventory can be decreased, etc. Something like "Current Stock" integer value should be good for each item in inventory (with default to null, if no tracking). So for each item in the inventory catalog, we should have "Track Inventory" setting (boolean, disabled by default)
  • Each item in the inventory catalog should have Name, Description, Unit Cost, Quantity, Taxes, etc, see below for more details.
  • We need to think to what extend we want to build this feature of Inventory catalog, because normally it will be handled by e-commerce and in Gauzy we will only need to have it in basic form (unless for some reason we will need to make it more complex)
  • We need to think about integration with the equipment catalog we already have built. Basically think every equipment item IS also an inventory product item with a specific flag (IsEquipment). Speaking in terms of relations between tables, each item in the equipment catalog could be connected to the corresponding product variant (nullable), so if inventory/product catalog feature enabled, it can be used to store more details about the equipment.

Possible product and related tables structure:

  • Name
  • Enabled (true by default)
  • Product Type Id (will be connected to simple table product_type with seeded values like "Suppliers", "Service", "Product". Note: these values are different per company, so that table should have OrganizationId)
  • Product Category Id (same as Product Type Id, connected to product_category table)
  • Is Subscription (boolean flag, false by default, will be used for subscription products)
  • Is Purchase Automatically (boolean flag, false by default, if true such products will be repurchased automatically when stock qty get to 0)
  • Can be sold (boolean flag, true by default)
  • Can be purchased (boolean flag, true by default)
  • Can be charged (boolean flag, false by default)
  • Can be Rented (boolean flag, false by default)
  • Is Equipment (boolean flag, false by default)
  • Internal Reference (some internal code / SKU)
  • Code (some other internal code / SKU)
  • Notes (for internal use only on each inventory item, varchar(max) type)
  • Description (will be used in sales docs)
  • Unit Cost (how much it cost to purchase item)
  • Unit Cost Currency
  • Retail Price (for how much it should be sold)
  • Retail Price Currency
  • Quantity (int value, could be negative, 0 or positive)
  • Taxes (we will describe later)
  • Billing Invoicing Policy ("Quantity Ordered" or "Quantity Delivered")

Note: properties described above for product table should be actually spread between product, product_variant, product_variant_price, product_option and other product-related tables (including inventory-related tables)

Regarding inventory, we will need to implement double-entry inventory system, where inventory will be moved between locations (e.g. warehouses)

@evereq evereq added Epic type: enhancement ✨ New feature or request labels Mar 21, 2020
@evereq evereq added this to the v0.5 milestone Mar 21, 2020
@evereq evereq added this to To do in Ever Gauzy Platform (Open-Source) via automation Apr 5, 2020
@tsvetelina-e-y tsvetelina-e-y moved this from To do to In progress in Ever Gauzy Platform (Open-Source) Apr 7, 2020
tsvetelina-e-y added a commit that referenced this issue Apr 15, 2020
@evereq evereq closed this as completed in fbb706f Apr 15, 2020
Ever Gauzy Platform (Open-Source) automation moved this from In progress to Done Apr 15, 2020
tsvetelina-e-y added a commit that referenced this issue Apr 23, 2020
tsvetelina-e-y added a commit that referenced this issue Apr 23, 2020
evereq added a commit that referenced this issue Apr 29, 2020
tsvetelina-e-y added a commit that referenced this issue May 1, 2020
@evereq evereq reopened this May 1, 2020
Ever Gauzy Platform (Open-Source) automation moved this from Done to In progress May 1, 2020
tsvetelina-e-y added a commit that referenced this issue May 18, 2020
tsvetelina-e-y added a commit that referenced this issue May 18, 2020
tsvetelina-e-y added a commit that referenced this issue May 20, 2020
tsvetelina-e-y added a commit that referenced this issue May 20, 2020
@evereq evereq closed this as completed in 44a0fcc May 20, 2020
Ever Gauzy Platform (Open-Source) automation moved this from In progress to Done May 20, 2020
tsvetelina-e-y added a commit that referenced this issue May 21, 2020
evereq added a commit that referenced this issue May 21, 2020
feat: #841/delete product and product variants
rmagon added a commit that referenced this issue May 28, 2020
…ries-seed

fix: #841/refactor product categories seed
tsvetelina-e-y added a commit that referenced this issue Jun 4, 2020
tsvetelina-e-y added a commit that referenced this issue Jun 4, 2020
tsvetelina-e-y added a commit that referenced this issue Jun 4, 2020
tsvetelina-e-y added a commit that referenced this issue Jun 4, 2020
tsvetelina-e-y added a commit that referenced this issue Jun 15, 2020
tsvetelina-e-y added a commit that referenced this issue Jun 18, 2020
evereq added a commit that referenced this issue Jun 18, 2020
evereq added a commit that referenced this issue Jan 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic type: enhancement ✨ New feature or request
Projects
Development

No branches or pull requests

2 participants