
This repository contains the modules for Slink, which includes functionality for managing Sales,I&C,Inventory and inside Sales. This `README.md` provides instructions for installing Odoo 17 on a Linux (Ubuntu/Debian) to set up the environment needed to use this module.

## Prerequisites

Before installing Odoo 17, ensure your system meets the following requirements:

- **Operating System**: Ubuntu 20.04/22.04 LTS (Linux) or Windows 10/11
- **Python**: Python 3.10 or later
- **PostgreSQL**: Version 12.0 or later
- **Git**: For cloning the Odoo source code and this module
- **Node.js**: For JavaScript dependencies
- **wkhtmltopdf**: Version 0.12.6 for PDF rendering
- **Hardware**: Minimum 4GB RAM, multi-core CPU, 10GB free disk space
- **Internet Connection**: For downloading dependencies and source code

## Installation Steps

### Option 1: Installing Odoo 17 on Ubuntu/Debian

1. **Update the System**  
   Ensure your system is up-to-date:
   ```bash
   sudo apt update && sudo apt upgrade -y
   ```

2. **Install Dependencies**  
   Install required system packages, Python, and PostgreSQL:
   ```bash
   sudo apt install -y git python3 python3-pip python3-venv python3-dev libpq-dev \
   build-essential wget libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \
   libffi-dev libjpeg-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev \
   libharfbuzz-dev libfribidi-dev libxcb1-dev nodejs npm
   ```

3. **Install wkhtmltopdf**  
   Download and install wkhtmltopdf for PDF rendering:
   ```bash
   wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
   sudo dpkg -i wkhtmltox_0.12.6.1-3.jammy_amd64.deb
   sudo apt install -f
   ```

4. **Install PostgreSQL**  
   Install and configure PostgreSQL:
   ```bash
   sudo apt install -y postgresql
   sudo systemctl start postgresql
   sudo systemctl enable postgresql
   ```
   Create a PostgreSQL user for Odoo:
   ```bash
   sudo -u postgres createuser -d -R -S odoo
   sudo -u postgres psql -c "ALTER USER odoo WITH PASSWORD 'odoo';"
   ```

5. **Clone Odoo Source Code**  
   Clone the Odoo 17 Community repository:
   ```bash
   mkdir ~/odoo
   cd ~/odoo
   git clone --branch 17.0 https://github.com/odoo/odoo.git
   ```

6. **Set Up Python Virtual Environment**  
   Create and activate a virtual environment:
   ```bash
   python3 -m venv ~/odoo/venv
   source ~/odoo/venv/bin/activate
   ```

7. **Install Python Dependencies**  
   Install Odoo’s Python dependencies:
   ```bash
   pip install --upgrade pip
   pip install -r ~/odoo/odoo/requirements.txt
   ```

8. **Clone the SOS Inventory Module**  
   Clone this module into a custom addons directory:
   ```bash
   mkdir ~/odoo/custom_addons
   cd ~/odoo/custom_addons
   git clone <your-repository-url> sos_inventory
   ```

9. **Configure Odoo**  
   Create an Odoo configuration file (`odoo.conf`):
   ```bash
   nano ~/odoo/odoo.conf
   ```
   Add the following content, adjusting paths and credentials as needed:
   ```ini
   [options]
   admin_passwd = your_secure_password
   db_host = localhost
   db_port = 5432
   db_user = odoo
   db_password = odoo
   addons_path = /home/$USER/odoo/odoo/addons,/home/$USER/odoo/custom_addons
   ```

10. **Run Odoo**  
    Start the Odoo server:
    ```bash
    cd ~/odoo
    ./venv/bin/python3 ./odoo/odoo-bin -c odoo.conf
    ```

11. **Access Odoo**  
    Open a web browser and navigate to `http://localhost:8069`. Follow the on-screen instructions to create a database and log in.

## Post-Installation

- **Install the SOS Inventory Module**: In the Odoo interface, go to `Apps`, search for `sos_inventory`, and install it.
- **Install the SOS Sales Module**: In the Odoo interface, go to `Apps`, search for `sos_sales`, and install it.
- **Install the SOS Inside Sales Module**: In the Odoo interface, go to `Apps`, search for `sos_inside_sales`, and install it.
- **Install the SOS I&C Module**: In the Odoo interface, go to `Apps`, search for `sos_installation_commision`, and install it.
- **Troubleshooting**: Check Odoo logs (`odoo.log`) for errors. Ensure PostgreSQL is running and the `odoo.conf` credentials match your PostgreSQL setup.

## Notes

- Replace `<your-repository-url>` with the actual URL of this repository.
- For production, consider running Odoo as a service and securing it with Nginx and HTTPS (refer to Odoo’s official documentation).
- For Odoo Enterprise, clone the Enterprise repository and add its path to `addons_path` in `odoo.conf`.
- Official Odoo documentation: [Odoo 17 Installation Guide](https://www.odoo.com/documentation/17.0/administration/install.html)[](https://www.odoo.com/documentation/18.0/administration/on_premise/source.html)
- If you encounter issues, consult the Odoo community forums or contact the module developers.