I have one database that consist of few tables. My scenario is like this.

Goods import from the port can either be delivered to warehouse for storage or delivered direct to customers.

Goods delivered to warehouse for storage, will then be delivered to customers upon orders.

So, basically there's:
1. incoming from the port to warehouse
2. incoming from the port to customer
3. outgoing from the warehouse to customer
* All transports of goods is delivered by trucks

I'm planning to control all this using "Delivery Order Number" which is use for both inbound and outbound of goods. Is this even correct? Please help! Urgent.

Warehouse Table [only used when storage]
- Warehouse ID
- Warehouse Name
- Address
- Postcode
- City
- State
- Office Phone
- Office Fax

Customer Table [only used when product is directly delivered from port]
- Customer ID
- Customer Name
- Address
- Postcode
- City
- State
- Office Phone
- Office Fax

Port Table
- Port ID
- Port Name

Vessel Table
- Vessel ID (Not the true Vessel Number plate but just Identity Field in SQL DB)
- Vessel Name

Truck Table
- Truck ID
- Truck Number Plate
*(2 primary keys?)

Product Table
- Product ID (Not the real product ID but just Identity Field in SQL DB)
- Delivery Order No
- Vessel Name (or use Vessel ID better?)
- Product Stock Code Number (isnt this the same as product ID)
- Product Size
- Product Quantity (is this necessary?)
- Product Gross Weight (used when incoming)
- Product Net Weight (used only when outgoing)
- Product Case Number (used only when outgoing)
*(Actually, it's only ONE TYPE of product but it comes in different sizes/weights)

Inbound Delivery Table
- Order ID (Not the real Order ID by Customer Invoice but just Identity Field in SQL DB)
- Delivery Order Number
- Delivery Date
- Inbound From [dropdownlist of port names]
- Delivery To [radiobutton to choose whether direct to customer or to warehouse for storage. Radiobutton links to dropdownlist of customers/warehouses]
- Vessel ID (Or should I put Vessel Name instead?)
- Truck ID (Or should I put Truck Number Plate instead?)


Outbound Delivery Table
- Order ID (Not the real Order ID by Customer Invoice but just Identity Field in SQL DB)
- Delivery Order Number
- Delivery Date
- Inbound From [dropdownlist of port names]
- Delivery To [radiobutton to choose whether direct to customer or to warehouse for storage. Radiobutton links to dropdownlist of customers/warehouses]
- Vessel ID (Or should I put Vessel Name instead?)
- Truck ID (Or should I put Truck Number Plate instead?)