DocHub
Complete setup session log for Captain Van's POS on Ubuntu — Docker, Odoo, data import, and POS configuration

Setup Log — Jaz Imperial (March 2, 2026)

Environment Setup

Item Value
Machine ASUS TUF Gaming A15, Ubuntu 24.04 (Noble)
Docker v29.2.1 + Docker Compose plugin
Python 3.12.3
Repo https://github.com/OmelasAI/captainvans-odoo.git
Local path /home/jazelleimperial030/captain-van-pos/captainvans-odoo

Docker was installed from the official Docker apt repository (docker-ce, docker-ce-cli, containerd.io, docker-compose-plugin). User added to the docker group to run without sudo.

Docker Containers Started

Both containers started via docker compose up -d:

Container Image Port Purpose
captainvans-odoo odoo:17.0 8069 Odoo POS application
captainvans-odoo-db postgres:15-alpine 5435 PostgreSQL database

Odoo Database Created

Setting Value
Database name captain-van-pos
Language English (will switch to Spanish for production)
Country Honduras
Admin email admin
Admin password admin030

Note: Database name differs from the original developer’s setup (captainvans). Scripts were updated accordingly.

Modules Installed

Installed via the Odoo Apps interface in this order:

  1. Accounting (Invoicing)
  2. Inventory
  3. Point of Sale
  4. Employees (for cashier PIN login)
  5. Honduras SAR Compliance (custom module from addons/honduras_sar/)

Developer Mode was activated to install the custom Honduras SAR module (Settings > Activate Developer Mode > Apps > Update Apps List > search “Honduras”).

Data Import

The import_data.py script was modified before running:

Line Original Updated
18 DATA_DIR = Path('/home/chas-watkins/code/CaptainVans-Odoo/data') DATA_DIR = Path('/home/jazelleimperial030/captain-van-pos/captainvans-odoo/data')
15 DB = 'captainvans' DB = 'captain-van-pos'
16 PASSWORD = 'admin' PASSWORD = 'admin030'

Import results (zero errors across all data types):

Data Type Count
Categories 15
Products 2,505
Customers 1,821
Suppliers 36
Tax rates 3 (ISV 15%, ISV 18%, Exento 0%)

POS Configuration

Payment Methods

  • Cash
  • Credit Card (Bank)

POS Product Categories Created and Assigned

Categories were created manually in the Odoo UI, then products were assigned programmatically via XML-RPC API by mapping backend product categories to POS categories:

POS Category Mapped From Products
Drinks (Bebidas) Beverages 321
Snacks Snacks, Blu products 594
Dairy (Lácteos) Ice Cream 90
Groceries (Abarrotes) FOOD, Batteries, Lights, PHONES, Phone cards, Accessories, Other Items, None, Labour 843
Alcohol (Licores) Liquor, beer 655
Cleaning (Limpieza) 0
Personal Care (Cuidado Personal) 0

Note: Cleaning and Personal Care categories have 0 products because the original data did not distinguish these — they were grouped under “Other Items” and mapped to Groceries. Individual products can be reassigned later.

Employee Login

  • Multi Employees per Session: enabled
  • Employee account created with PIN code (set in Employees > employee record > HR Settings tab > PIN Code field)

Tax Verification

Prices display correctly with ISV included. Example:

  • Tic Tac Menta Mints 1oz: Base price L 67.83 + ISV 15% = L 78.00 displayed in POS

Current State

The POS is fully functional for testing:

  • All 2,505 products visible and categorized
  • Cash and credit card payments configured
  • Employee PIN login working
  • Honduras SAR module installed (awaiting real CAI data)
  • Test sales can be processed end-to-end

Pending Items

Waiting on Client

  • Real RTN (14-digit tax ID) from SAR
  • Real CAI (invoice authorization code) from SAR Form SAR-927

Before Production

  • Business logo on receipts
  • Switch language to Spanish
  • Change default admin password to production credentials
  • Reassign Cleaning/Personal Care product categories
  • Deploy Docker setup to store machine in Roatan
  • Connect hardware (USB barcode scanner, thermal receipt printer, cash drawer)
  • Set up daily database backup cron job
  • User acceptance testing with store owner