📄 Inventory Management

Inventory Management



   1.Creation of requisition  

How to create a new RFQ

  1. Log in to the ERP with a user account which has access to the Purchase module 
  2. Open Purchase module and click 'New' 
  3. This opens the create new RFQ, with the required field being the vendor's name and additional fields as follows: 
    1. Vendor Name: Select vendor name from the drop down, this automatically fills the vendor ID from the system
    2. Order Deadline: The system will always have this as current date and time but this can be changed to any desired date and time
    3. Expected Arrival: This is the date and time that you expect the vendor to deliver the goods, or services - leave blank for system to automate based on past delivery times of the vendor.
    4. Vendor Reference: Input the reference from the vendor if available else leave this blank
    5. Request type Must be New Used when this is a first-time request, no previous order, contract, or budget exists
    6. Agreement: If there exists a Purchase agreement with the vendor for blanket orders this can be selected here
    7. Deliver To: Should be the warehouse where delivery will be done to, by default is the Corporate Office Receipts
    8. Currency is the currency of the order, default is the company currency which is USD
  4. Click on the 'Add a product' link to populate the products of the RFQ.


How to create a top-up RFQ.

  1. Log in to the ERP with a user account which has access to the Purchase module 
  2. Open Purchase module and click 'New' 
  3. This opens the create new RFQ, with the required field being the vendor's name and additional fields as follows: 
    1. Vendor Name: Select vendor name from the drop down, this automatically fills the vendor ID from the system
    2. Order Deadline: The system will always have this as current date and time but this can be changed to any desired date and time
    3. Expected Arrival: This is the date and time that you expect the vendor to deliver the goods, or services - leave blank for system to automate based on past delivery times of the vendor.
    4. Vendor Reference: Input the reference from the vendor if available else leave this blank
    5. Request type Must be Top-up-Used when you are adding more to an existing approved request
    6. The original request already exists, but the amount/quantity is not enough.

      Example: Increasing quantity from 10 to 15 items, Adding extra funds to an existing budget line

      f. PO to Top-Up-Input or select the PO number to be affected.

      g. Agreement: If there exists a Purchase agreement with the vendor for blanket orders this can be selected here

      h. Deliver To: Should be the warehouse where delivery will be done to, by default is the Corporate Office Receipts

      I. Currency is the currency of the order; default is the company currency which is USD

  4. Click on the 'Add a product' link to populate the products of the RFQ.


How to create an extension RFQ

  1. Log in to the ERP with a user account which has access to the Purchase module 
  2. Open Purchase module and click 'New' 
  3. This opens the create new RFQ, with the required field being the vendor's name and additional fields as follows: 

a). Vendor Name: Select vendor name from the drop down, this automatically fills the vendor ID from the system

b). Order Deadline: The system will always have this as current date and time but this can be changed to any desired date and time

c). Expected Arrival: This is the date and time that you expect the vendor to deliver the goods, or services - leave blank for system to automate based on past delivery times of the vendor.

d). Vendor Reference: Input the reference from the vendor if available else leave this blank

e). Request type Must be Extension-Used when you are extending the duration of an existing request or contract. No change (or minimal change) in quantity or amount just time Example: Extending a service contract for 3 more months, Renewing a lease or maintenance agreement.

f). Extension PO- Input/select a PO that must be affected.

g). Agreement: If there exists a Purchase agreement with the vendor for blanket orders this can be selected here

h). Deliver To: Should be the warehouse where delivery will be done to, by default is the Corporate Office Receipts

I). Currency is the currency of the order; default is the company currency which is USD

9. Click on the 'Add a product' link to populate the products of the RFQ.


How to send an RFQ to vendor.

1.Log in to the ERP with a user account which has access to the Purchase module.

2.Under purchase Requests. Select Request Quotation. 

3.Filter to RFQs

4.Select/Search from the list of RFQs the required RFQ to be sent and open it.

5.Click on send by email.


6.Click on Send by email and its shows the fields as follows:  To: This is where you select the recipient. You can add multiple contacts from your database or type in a new email address.

  • Subject: The title of your email as it will appear in the recipient's inbox. Odoo often pre-fills this based on the document you are sending (e.g., "Welcome to My Company!").
  • Message Body: The main area where you write your message. It currently shows a template for a Request for Quotation (RFQ), including dynamic placeholders like "P0..." for the order number.
  • Accept / Decline Buttons: These are call-to-action buttons embedded in the email that allow the vendor to respond directly via the Odoo portal.

Icons

-Send: Finalizes and emails the message to the recipients.

 - Attachment: Found in the main record view (behind the popup). It allows you to attach physical files, like a scanned copy of a bank receipt or a PDF of the bill.

-Templates: Click this to switch between different pre-written email templates.

- Discard: Closes the window without saving or sending the draft.

  2.Creation of PO.

How to convert an RFQ to PR.

  1. Log in to the ERP with a user account which has access to the Purchase module 
  2. Under purchase Requests. Select Request Quotation. 
  3. Select/search the RFQ you want to convert to a PR
  4. Click on purchase request.

5. This opens the PR with the required field being the PO and additional fields as follows: 


a). PO Type: indicates the nature of the purchase. e.g. Goods Purchase Order. And determine applicable workflows, stock handling, and accounting treatment.

b). Validity Start: Date from which the quotation or request becomes valid. Before this date, the RFQ cannot be confirmed. It helps control when a supplier quotation is acceptable.

c). Validity end: Expiry date of the request. If the RFQ is not confirmed before this date, Odoo can prevent confirmation or require a new RFQ.

d). Vendor ID: Internal system identifier for the supplier. It ensures all purchases, bills, and payments are correctly linked to the same vend

e). Vendor: Name of the supplier being requested or evaluated.

f). Request type: Indicates whether the request is: New â€“ first-time purchase or Replacement / Amendment – modifying an earlier request. 

g). Agreement: Links the RFQ to a Purchase Agreement / Call for Tender. Once selected, Odoo automatically loads:

  • Vendor pricing

  • Payment terms

  • Vendor currency

  • Vendor taxes (if configured)

h). Currency: Currency in which the vendor will quote. Odoo automatically handles currency conversion for accounting and reporting.

i). Header Note: General instructions or comments. The note can be printed on the RFQ or Purchase Order sent to the vendor.

j) Requested by: Person who initiated the purchase request

k). Created by: User who physically created the document in Odoo. Odoo uses this for traceability and approval routing.

l). Invoice Verifier: Person responsible for verifying the vendor invoice. This person is responsible for checking the vendor invoice against: The Purchase Order, Delivered Quantities, ​ agreed prices. Odoo may require their approval before payment is processed.

m). First Reviewer: First level approval authority

n). Second Reviewer: Second approval level (usually management or finance)

o) Budget Holder: Person responsible for the budget being used

p). Order Deadline: Latest date the order must be confirmed

q). Expected Arrival: Expected delivery date of goods

r). On-Time Delivery: Vendor performance indicator

s). Ask confirmation: If checked, vendor must confirm the order, Ensures commitment before fulfillment

t). Delivery To: Physical delivery location. This specifies where goods or services should be delivered.

Odoo uses this to determine: The warehouse, Stock location, Delivery documentation

u). Then proceed to validation.

How to convert a PR to a PO.

1.Log in to the ERP with a user account which has access to the Purchase module 

2. Navigate to Purchase Request and Select PR Awaiting Conversion to PO.

3.Open the PR to be converted to a PO.

4.Once you've opened the PR, click on confirm order.  

5.Once it is Confirmed, it automatically sets to PO.

6.Under Purchase >orders>purchase orders is where you'll find the PO That you've converted.

7.Click your PO to open it.

3.  Receipt of good into the system (Show the entries that get posted

at the point of receipting)

  1. Log in to the ERP system with access to Inventory module.

     2. Go to Inventory → Operations → SRN

3. Open the receipt linked to the PO.

Receive from is the vendor the goods are arriving from.

Received Quantity

Status: Ready. This means the purchase order has been confirmed, and the system is waiting for a warehouse user to physically verify and "Validate" the arrival of the goods.

Lot/Serial Number (if tracking enabled)

Condition Code.

Click Validate

  • Accounting Entries (Automatic at Validation):

    • Debit: Stock Input Account (Asset) — Increases the value of your physical inventory.
    • Credit: Stock Interim Account (Liability/Accrual) — Records that goods are received but the vendor invoice is not yet posted.

4. Issuing an inventory item into the wells (Keep in mind the

condition code).Review...

Log in to the ERP with access to inventory module.

  1.  Go to the Inventory app

2. click on Operations > internal  and click New

4. Issuing Inventory to Wells (Internal Transfer)

This process moves material from your main stock to a specific well site while capturing its technical state.

Source Location: Select the warehousewhich is main KE01/Stock.

Destination Location: Select the receiving warehousewhich is the well KE02/Stock.

B. Line Items & Condition Codes

  1. Add a Line: Click Add a line in the Operations tab.
  2. Product: Select the material.
  3. Condition: In the Condition column, manually select or type the code 

  4. Demand: Enter the quantity required for the well operation.

C. Execution (Validating the Issue)

  1. Mark as Todo: Click Mark as Todo to move the document from Draft to Waiting/Ready status.
  2. Check Availability: Odoo will confirm the items (in the specific condition requested) are physically in the Source Location.
  3. Validate: Once the physical items are picked and sent to the well, click Validate.



5.Returning of inventory items into stock (Keep in mind the condition

code).

There are two ways to handle a return in Odoo:

Option 1 : 

Log in to the ERP with access to inventory module.

  1.  Go to the Inventory app

2. click on Operations > internal  and click New

3. Locate the original Internal Transfer that issued the item to the well and click the Return button at the top left of the screen.

Option 2

Log in to the ERP with access to inventory module.

  1.  Go to the Inventory app

2. click on Operations > internal  and click New


click New to create a fresh return document.

operation Type:Internal Tra

  1. Source Location: Select the specific Well Site.
  2. Destination Location: Select your main warehouse or a dedicated "Returns/Inspection" area (e.g., WH/Stock or WH/Input).
  3. Source Document: Reference the original Issue Document or PO number to maintain a clear audit trail.

C. Inspecting & Updating the Condition Code

This is the most important step for maintaining technical stock integrity:

  1. Add a line: Select the product being returned.
  2. Update Condition: In the Condition column , change the code to reflect the item's current state:

  3. Demand: Enter the physical quantity being returned.

D. Validation & Re-Entry

  1. Mark as Todo: Move the document from Draft to Ready status.
  2. Check Availability: Odoo confirms the item is logically at the well site.
  3. Validate: Click Validate.

    • Effect: The "Well Site" stock level decreases, and your "Main Warehouse" stock increases.
    • Condition Update: The item is now searchable in your inventory under its New Condition Code, ensuring it isn't accidentally issued .

6. Reserving/setting aside inventory items for purposes of repairing

Log in to an ERP with the Inventory Module.

 Navigate to the Inventory app.

Click Operations > Transfers and select New.

operation Type .Repairs

  1. Source Location: Select the current location of the damaged item (e.g., WH/Stock or a specific Well Site).
  2. Destination Location: Select a dedicated Repair or Inspection location (e.g., WH/Stock/Repair or Virtual Locations/Scrap).

  3. Add a Line: Select the product to be repaired.
  4. Condition: Update the Condition column to either A B C D.
  5. Source Document: Reference the Repair Order (RO) number or the Work Order that identified the fault.
  6. Additional Info: In the Note tab, document the specific fault (e.g., "Valve leaking, requires seal replacement") for the technician's reference
  7. Mark as Todo: This changes the status from Draft to Ready.
  8. Validate: Click Validate.

    • Effect: The items are now officially "reserved" in the repair location. They will appear as "On Hand" in the system, but will not be available for selection when creating new issues to wells.

7. Transfer of inventory materials from one JV to another.

Log in to an ERP with the Inventory Module.

 Navigate to the Inventory app.

Click Operations > Transfers and select New.

  • Operation Type: Ensure Internal Transfers is selected. This allows for direct movement between your various internal JV locations. 

    1. Source Location: Select the JV warehouse or location where the items currently reside (e.g., JV1/Stock).
    2. Destination Location: Select the receiving JV location (e.g., JV2/Stock).
    3. Source Document: Enter a reference for the transfer (e.g., "JV-X to JV-Y Transfer" or a specific project ID) to assist Finance with cross-JV reporting. 

    4. Add a Line: Select the material being transferred.
    5. Condition: In the Condition column, specify the current technical state.
    6. Detailed Operations: If the item is tracked by  click the "Detailed Operations" icon (the three-line icon on the far right) to select the exact lot associated with that JV and condition.

  • D. Validation

  • Mark as Todo: This changes the status from Draft to Ready.
  • Check Availability: Odoo will confirm the items are present in the source JV location.
  • Validate: Click Validate once the physical move is confirmed.

8. Warehouse reporting.

Log in to an ERP with an access to inventory module.

Stock Report

  • Navigate to Inventory > Reporting > Stock

  • On Hand: The actual physical quantity currently at the location.
  • Free to Use: The quantity available for new operations (Total On Hand minus items already reserved for pending Well Issues).
  •  Use the "Group By > material number" feature to view sub-totals of stock for each specific JV or Well Site.

 Locations Report

Log in to an ERP system with access to inventory module.

  • Navigate to  Inventory > Reporting > Locations.

Stock By grouping by Location, you can see a folder for each JV showing the total materials they are responsible for.

  • Inventory at Date: Click the "Inventory at Date" button to view what was physically present at a Well Site on a specific past date (essential for month-end audits).

 Change to pivot

 

The measures are there you can add any field you would like to include in the report.

Download using the download icon

Inventory Valuation 

  • Navigation: Inventory > Reporting > Inventory Valuation

Moves History (The Audit Trail)

  • Navigate to  Inventory > Reporting > Moves History.
  •  Each entry records the Date, Source Location, Destination Location, and the user who validated the move.
  • Condition Tracking: Filter this report by the Condition column to track the lifecycle of ABCD items.

9. Inventory count forms/process (Keep in mind an allocation to insert

the quantities manually after an inventory count).

 Navigate to Inventory > Operations > Physical Inventory.

Select the items to be counted. Click Request a Count.

 In the pop-up, ensure you select "Leave Empty" for the Counted Quantity field. This ensures the record shows "0" or "null" so staff must manually input the physical figure.

 Once the physical count is complete, the user returns to this screen and types the number into the Counted Quantity column.

Click Apply. Odoo will automatically create a stock move to reconcile the "On Hand" quantity with the "Counted" quantity.

10. Ability to update the condition code of an inventory item.

Condition Codes are aways updated during any movement in inventory.

Log in to an ERP with the Inventory Module.

 Navigate to the Inventory app.

Click Operations > Transfers and select New.

  • Operation Type: Ensure Internal Transfers is selected. This allows for direct movement between your various internal JV locations. 

    1. Source Location: Select the JV warehouse or location where the items currently reside (e.g., JV1/Stock).
    2. Destination Location: Select the receiving JV location (e.g., JV2/Stock).
    3. Source Document: Enter a reference for the transfer (e.g., "JV-X to JV-Y Transfer" or a specific project ID) to assist Finance with cross-JV reporting. 

    4. Add a Line: Select the material being transferred.
    5. Condition: In the Condition column, specify the current technical state.

For condition codes You either select which condition the product is:

    1. Detailed Operations: If the item is tracked by  click the "Detailed Operations" icon (the three-line icon on the far right) to select the exact lot associated with that JV and condition.

  • D. Validation

  • Mark as Todo: This changes the status from Draft to Ready.
  • Check Availability: Odoo will confirm the items are present in the source JV location.
  • Validate: Click Validate once the physical move is confirmed.

Document Sign-Off

RoleNameDate
Prepared ByMartha Ondigi15/05/2026
Reviewed ByJoseph Okech15/05/2026
Approved By
wha
Authorized By_____________________________