{
	"name": "table/external/odoo/product/stock_location.json",
	"table_name": "stock_location",
	"odoo_model": "stock.location",
	"table_prefix": "stlo",
	"record_type": [""],
	"local_table": "stock_location",
	"local_record_type": "",
	"field": [
		{
			"info": "Active\nBy unchecking the active field, you may hide a location without deleting it.",
			"field_name": "active",
			"local_field": "",
			"field_type": "boolean"
		},
		{
			"info": "Barcode",
			"field_name": "barcode",
			"local_field": "",
			"field_type": "varchar"
		},
		{
			"info": "Contains",
			"field_name": "child_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "one2many",
			"json_tag": "[1]"
		},
		{
			"info": "Internal locations among descendants\nThis location (if it's internal) and all its descendants filtered by type=Internal.",
			"field_name": "child_internal_location_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "many2many",
			"json_tag": "[1]"
		},
		{
			"info": "Additional Information",
			"field_name": "comment",
			"local_field": "",
			"field_type": "text",
			"type": "html"
		},
		{
			"info": "Company\nLet this field empty if this location is shared between companies",
			"field_name": "company_id",
			"local_field": "",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Full Location Name",
			"field_name": "complete_name",
			"local_field": "info",
			"field_type": "varchar"
		},
		{
			"info": "Created on",
			"field_name": "create_date",
			"local_field": "create_time",
			"field_type": "timestamp without time zone",
			"type": "datetime"
		},
		{
			"info": "Created by",
			"field_name": "create_uid",
			"local_field": "json_data.create_user",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Inventory Frequency\n When different than 0, inventory count date for products stored at this location will be automatically set at the defined frequency.",
			"field_name": "cyclic_inventory_frequency",
			"local_field": "",
			"field_type": "integer"
		},
		{
			"info": "Display Name",
			"field_name": "display_name",
			"local_field": "",
			"field_type": "varchar"
		},
		{
			"info": "Equipment Count",
			"field_name": "equipment_count",
			"local_field": "",
			"field_type": "integer"
		},
		{
			"info": "Forecasted Weight",
			"field_name": "forecast_weight",
			"local_field": "",
			"field_type": "double",
			"type": "float"
		},
		{
			"info": "ID",
			"field_name": "id",
			"local_field": "record_id",
			"field_type": "integer",
			"constraint": ["primary key"]
		},
		{
			"info": "Incoming Move Line",
			"field_name": "incoming_move_line_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "one2many",
			"json_tag": "[1]"
		},
		{
			"info": "Is Empty",
			"field_name": "is_empty",
			"local_field": "",
			"field_type": "boolean"
		},
		{
			"info": "Is a Subcontracting Location?\nCheck this box to create a new dedicated subcontracting location for this company. Note that standard subcontracting routes will be adapted so as to take these into account automatically.",
			"field_name": "is_subcontracting_location",
			"local_field": "",
			"field_type": "boolean"
		},
		{
			"info": "Last Inventory\nDate of the last inventory at this location.",
			"field_name": "last_inventory_date",
			"local_field": "",
			"field_type": "date"
		},
		{
			"info": "Parent Location\nThe parent location that includes this location. Example : The 'Dispatch Zone' is the 'Gate 1' parent location.",
			"field_name": "location_id",
			"local_field": "location_id",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Location Name",
			"field_name": "name",
			"local_field": "name",
			"field_type": "varchar"
		},
		{
			"info": "Net Weight",
			"field_name": "net_weight",
			"local_field": "",
			"field_type": "double",
			"type": "float"
		},
		{
			"info": "Next Expected\nDate for next planned inventory based on cyclic schedule.",
			"field_name": "next_inventory_date",
			"local_field": "",
			"field_type": "date"
		},
		{
			"info": "Outgoing Move Line",
			"field_name": "outgoing_move_line_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "one2many",
			"json_tag": "[1]"
		},
		{
			"info": "Parent Path",
			"field_name": "parent_path",
			"local_field": "",
			"field_type": "varchar"
		},
		{
			"info": "Corridor (X)\nOptional localization details, for information purpose only",
			"field_name": "posx",
			"local_field": "",
			"field_type": "integer"
		},
		{
			"info": "Shelves (Y)\nOptional localization details, for information purpose only",
			"field_name": "posy",
			"local_field": "",
			"field_type": "integer"
		},
		{
			"info": "Height (Z)\nOptional localization details, for information purpose only",
			"field_name": "posz",
			"local_field": "",
			"field_type": "integer"
		},
		{
			"info": "Putaway Rules",
			"field_name": "putaway_rule_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "one2many",
			"json_tag": "[1]"
		},
		{
			"info": "Quant",
			"field_name": "quant_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "one2many",
			"json_tag": "[1]"
		},
		{
			"info": "Removal Strategy\nDefines the default method used for suggesting the exact location (shelf) where to take the products from, which lot etc. for this location. This method can be enforced at the product category level, and a fallback is made on the parent locations if none is set here.\n\nFIFO: products/lots that were stocked first will be moved out first.\nLIFO: products/lots that were stocked last will be moved out first.\nClosest Location: products/lots closest to the target location will be moved out first.\nLeast Packages: products/lots that were stocked in package with least amount of qty will be moved out first.\nFEFO: products/lots with the closest removal date will be moved out first (the availability of this method depends on the \"Expiration Dates\" setting).",
			"field_name": "removal_strategy_id",
			"local_field": "",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Replenish Location\nActivate this function to get all quantities to replenish at this particular location",
			"field_name": "replenish_location",
			"local_field": "",
			"field_type": "boolean"
		},
		{
			"info": "Is a Scrap Location?\nCheck this box to allow using this location to put scrapped/damaged goods.",
			"field_name": "scrap_location",
			"local_field": "",
			"field_type": "boolean"
		},
		{
			"info": "Storage Category",
			"field_name": "storage_category_id",
			"local_field": "",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Subcontractor",
			"field_name": "subcontractor_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "one2many",
			"json_tag": "[1]"
		},
		{
			"info": "Location Type\n* Vendor Location: Virtual location representing the source location for products coming from your vendors\n* View: Virtual location used to create a hierarchical structures for your warehouse, aggregating its child locations ; can't directly contain products\n* Internal Location: Physical locations inside your own warehouses,\n* Customer Location: Virtual location representing the destination location for products sent to your customers\n* Inventory Loss: Virtual location serving as counterpart for inventory operations used to correct stock levels (Physical inventories)\n* Production: Virtual counterpart location for production operations: this location consumes the components and produces finished products\n* Transit Location: Counterpart location that should be used in inter-company or inter-warehouses operations",
			"field_name": "usage",
			"local_field": "",
			"field_type": "text",
			"type": "selection"
		},
		{
			"info": "Stock Valuation Account (Incoming)\nUsed for real-time inventory valuation. When set on a virtual location (non internal type), this account will be used to hold the value of products being moved from an internal location into this location, instead of the generic Stock Output Account set on the product. This has no effect for internal locations.",
			"field_name": "valuation_in_account_id",
			"local_field": "",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Stock Valuation Account (Outgoing)\nUsed for real-time inventory valuation. When set on a virtual location (non internal type), this account will be used to hold the value of products being moved out of this location and into an internal location, instead of the generic Stock Output Account set on the product. This has no effect for internal locations.",
			"field_name": "valuation_out_account_id",
			"local_field": "",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Warehouse",
			"field_name": "warehouse_id",
			"local_field": "",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		},
		{
			"info": "Warehouse View",
			"field_name": "warehouse_view_ids",
			"local_field": "",
			"field_type": "integer",
			"type": "one2many",
			"json_tag": "[1]"
		},
		{
			"info": "Last Updated on",
			"field_name": "write_date",
			"local_field": "modify_time",
			"field_type": "timestamp without time zone",
			"type": "datetime"
		},
		{
			"info": "Last Updated by",
			"field_name": "write_uid",
			"local_field": "modify_user",
			"field_type": "integer",
			"type": "many2one",
			"json_tag": "[1]"
		}
	]
}
