﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
30	Implement purchase orders	Gavin		"Each purchase order can only be made out to a single supplier so this could be linked to from inventory items with a 'puchase from this supplier' link. This would then start a purchase order.

On receipt of items they should be easily credited into inventory with automatic creation of inventory movements and a payment approved action is required.

Purchase order events:
 * Ordered.
 * Received partial.
 * Received complete.
 * Invoice approved (approved for payment, auto on received complete?)
 * Payment made.

Purchase order numbers are supplied in batches eg P10001 - P20000 an interface and logic is required to handle this.

{{{
class PurchaseOrder {
    PurchaseOrderNumber purchaseOrderNumber
    Integer estimatedTotal
    hasMany = [purchaseOrderLineItems: PurchaseOrderLineItem]
}

class PurchaseOrderNumber {
    PurcaseOrder purchaseOrder
    String value
}

class PurchaseOrderLineItem {
    InventoryItem inventoryItem
    CostCentre(Department.costCode+SystemSection.costCode?)
    CostCode from asset type or asset.
}
}}}"	enhancement	new	major	0.8 - Purchasing and Inventory Improvements	gnuMims - application general	trunk			
