Recycly API Documentation
NAV

Introduction

Welcome to the Recycly API! You can use our API to access and manage your Recycly data in external applications such as ecommerce platforms and reporting tools.

API Overview

The Recycly API provides JSON-RPC access to the main entities (database tables) in your Recycly system that your user account has access to. All API requests use the HTTP POST method with JSON payloads, and should be sent to the /jsonrpc endpoint of your recycly system (e.g. https://mycompany.recyc.ly/jsonrpc)

Most modern programming languages have client libraries for JSON-RPC that can be used with the Recycly API:

Authentication and Authorisation

The Recycly API uses a simple authentication method where your Database Name, User ID and API key are passed as parameters in each JSON request. No separate authentication step is required.

Your Database Name is typically the same as your recycly system name (e.g. for https://mycompany.recyc.ly the database name would be mycompany). Check with the Recycly Support team if you are not sure.

Authorisation (access to resources) is controlled by the permissions of the Recycly User Account that you use to access the API. It is often a good idea to create a specific user for API access, so you can control its permissions seperately, and be able to easily identify what data was created via the API.

Generating an API Key

To generate an API key for the Recycly API:

  1. Log into your Recycly account at https://<mycompany>.recyc.ly
  2. Navigate to Users & SettingsUsers
  3. Select your user account, or create a user account specifically for API access
  4. Go to the Account Security tab and scroll down to the API Keys section
  5. Click the New API Key button and follow the prompts
  6. Copy and securely store your API key
  7. Set appropriate permissions for the API user based on your integration needs

Obtaining your User ID

Request to get User ID from username and API key:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "common",
    "method": "login",
    "args": [
      "mycompany",
      "apiuser@mycompany.com",
      "c5a55bf71df385b4c1f7b794c741916ea8c06644"
    ]
  }
}

Which will return the User ID as the result

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": 8
}

Recycly requires that you use your numeric user ID to access the API, NOT your username (which is usually an email address).

The User ID can be seen in the browser's address bar when viewing a user account in the Users & Settings area of Recycly. The URL will show something like mycompany.recyc.ly/web/#id=8&... - in this example "8" is the user ID of the selected user.

It is also possible to get the user ID programatically, using the username & API key.

Request Format

All API requests follow the JSON-RPC format:

Example API request structure:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "your_api_key_here",
      "res.partner",
      "search_read",
      [
        [["email", "=", "contact@example.com"]],
      ],
      {
        "fields": ["name", "email", "phone"]
      }
    ]
  }
}

API Endpoint

The Recycly API is accessible at https://<mycompany>.recyc.ly/jsonrpc where <mycompany> is your unique database identifier. For example, if your database name is "mycompany", your API endpoint would be:

https://mycompany.recyc.ly/jsonrpc

All requests should use the HTTP POST method.

Required Headers

All requests must include the following header:

(if you are using a JSON-RPC library then this will be added automatically for you)

Request Parameters

Parameter Description
jsonrpc Always "2.0"
method Always "call"
id Request identifier (can be any number)
service Always "object"
method Always "execute_kw"
args[0] Your database name
args[1] Your User ID (integer)
args[2] Your API key (string)
args[3] Model / Entity name (e.g., "res.partner")
args[4] Method to call (e.g., "search_read", "create", "write")
args[5] Method-specific positional arguments array
args[6] Method-specific keyword arguments dictionary

Basic Operations

This section covers the fundamental CRUD (Create, Read, Update, Delete) operations using the res.partner model as examples. These patterns can be applied to any model in the Recycly system.

Searching / Reading Records

Search and Read Multiple Records

The search_read method combines searching and reading in one operation, returning the specified fields for records matching your criteria.

Request to search and read partners:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "search_read",
      [],
      {
        "domain": [["is_company", "=", true]],
        "fields": ["name", "email", "phone"]
      }
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "id": 7,
      "name": "GreenTech Recycling Ltd",
      "email": "contact@greentech.com",
      "phone": "+1-555-0123",
    },
    {
      "id": 12,
      "name": "EcoWaste Solutions",
      "email": "info@ecowaste.com",
      "phone": "+1-555-0456",
    }
  ]
}

Search Domains

Search domains allow you to filter records. Use the following patterns in the search domain array:

// Equal to
[["field_name", "=", "value"]]

// Not equal to  
[["field_name", "!=", "value"]]

// In list
[["field_name", "in", ["value1", "value2"]]]

// Like (partial match)
[["field_name", "like", "partial%"]]

// Case-insensitive like
[["field_name", "ilike", "partial"]]

// Greater than
[["field_name", ">", 100]]

// Combine conditions with AND (default)
[["field1", "=", "value1"], ["field2", ">", 10]]

// Combine conditions with OR
[["|", ["field1", "=", "value1"], ["field2", "=", "value2"]]]

Sorting Data

You can use the order keyword argument with the search_read method to sort the results. This is a good idea if you are planning to use pagination.

You can include multiple field names in the "order" string, separated by commas, and you can optionally use the "asc" and "desc" keywords to sort in ascending or descending order respectively.

Request to search and read partners, ordered by name:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "search_read",
      [],
      {
        "domain": [["is_company", "=", true]],
        "fields": ["name", "email", "phone"],
        "order": "name asc"
      }
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [
    {
      "id": 12,
      "name": "EcoWaste Solutions",
      "email": "info@ecowaste.com",
      "phone": "+1-555-0456",
    }
    {
      "id": 7,
      "name": "GreenTech Recycling Ltd",
      "email": "contact@greentech.com",
      "phone": "+1-555-0123",
    },
  ]
}

Pagination

To paginate through large datasets, add limit and offset parameters:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "search_read",
      [],
      {
        "domain": [["is_company", "=", true]],
        "fields": ["name", "email", "phone"],
        "order": "name asc",
        "limit": 50,
        "offset": 100
      }
    ]
  }
}

Creating Records

Use the create method to add new records to the system. The method returns the ID of the newly created record.

IMPORTANT: Fields marked with an asterisk (*) are required fields and in most cases must be set when creating new records.

In some cases Recycly will set a default value for required fields if they are not provided (for example the Item / Lot name field will be auto-generated if not provided).

Request to create a new partner:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "create",
      [
        {
          "name": "Sustainable Materials Inc",
          "email": "hello@sustainablematerials.com",
          "phone": "+1-555-0789",
          "is_company": true,
          "street": "789 Sustainability Blvd",
          "city": "San Francisco",
          "zip": "94105",
          "country_id": 233
        }
      ]
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": 35
}

Creating Multiple Records

You can create multiple records in a single request by passing an array of record data.

Request to create multiple partners:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "create",
      [
        [
          {
            "name": "Green Recovery Co",
            "email": "info@greenrecovery.com",
            "is_company": true,
          },
          {
            "name": "John Smith",
            "email": "john@example.com",
            "is_company": false,
          }
        ]
      ]
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": [36, 37]
}

Updating Records

Use the write method to update existing records. You can update one or multiple records with the same data, or use different data for each record.

Update Single Record

Request to update a partner's information:

{
  "jsonrpc": "2.0",
  "method": "call",  
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "write",
      [
        [35],
        {
          "phone": "+1-555-0999",
          "street": "789 New Sustainability Blvd",
          "zip": "94106"
        }
      ]
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

Update Multiple Records

Request to update multiple partners with the same data:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "write",
      [
        [35, 36, 37],
        {
          "category_id": [[6, 0, [1, 2]]]
        }
      ]
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

Deleting Records

Use the unlink method to delete records from the system. This operation is irreversible.

Request to delete a partner:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "unlink",
      [
        [37]
      ]
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

Delete Multiple Records

Request to delete multiple partners:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "unlink",
      [
        [35, 36]
      ]
    ]
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": true
}

Field Types and Special Operations

Working with Many2one Fields

Many2one fields (like country_id) can be set using the record ID:

{
  "country_id": 233
}

Working with Many2many Fields

Many2many fields (like category_id) use special command syntax:

{
  "category_id": [
    [6, 0, [1, 2, 3]]  // Replace all with IDs 1, 2, 3
  ]
}

Common Many2many commands: - [6, 0, [ids]] - Replace all with these IDs - [4, id] - Add link to existing record - [3, id] - Remove link (but don't delete record) - [5] - Remove all links

Working with One2many Fields

One2many fields can be updated using similar command syntax:

{
  "child_ids": [
    [0, 0, {"name": "New Child", "email": "child@example.com"}],  // Create new
    [1, existing_id, {"name": "Updated Name"}],                   // Update existing
    [2, existing_id]                                              // Delete existing
  ]
}

Address Book

Model Name: res.partner

Customers, suppliers, and individual contacts.

Request to get the first 100 partners:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "search_read",
      [],
      {
        "domain": [],
        "fields": ["name", "email", "phone", "is_company"],
        "order": "name asc",
        "limit": 100,
      }
    ]
  }
}

The above command returns JSON structured like this:

{
  "jsonrpc": "2.0",
  "id": null,
  "result": [
    {
      "id": 1,
      "name": "GreenTech Recycling",
      "email": "contact@greentech.com",
      "phone": "+1-555-0123",
      "is_company": true,
    },
    {
      "id": 2,
      "name": "John Smith",
      "email": "john.smith@email.com",
      "phone": "+1-555-0124",
      "is_company": false,
    }
  ]
}

Request to create a new partner:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "res.partner",
      "create",
      [
        {
          "name": "New Recycling Company",
          "email": "info@newrecycling.com",
          "is_company": true,
        }
      ]
    ]
  }
}

The above command returns JSON structured like this, which includes the created record ID:

{
  "jsonrpc": "2.0",
  "id": null,
  "result": 15
}

Fields on res.partner

* = required field

Field Type Description Related Model
active boolean Active -
ad_hoc boolean Ad Hoc Contact/Address -
ad_hoc_parent_id many2one Linked Address Book Customer (for Ad-Hoc Address) res.partner
aliases string Aliases -
campaign_id many2one Source Campaign utm.campaign
child_ids one2many Contact res.partner
comment html Notes -
commercial_partner_id many2one Commercial Entity res.partner
company_id many2one Company res.company
company_name string Company Name -
company_number string Company Number -
company_turnover monetary Annual Turnover -
company_type selection Company Type
Valid values: person (Individual), company (Company), site (Site)
-
country_id many2one Country res.country
create_date datetime Created on -
create_uid many2one Created by res.users
currency_id many2one Currency res.currency
customer_code string Customer Code -
email string Email -
eori_number string EORI Number -
first_name string First Name -
function string Job Position -
hazardous_prem_code string Hazardous Waste Premises Code -
id number ID -
inbound_order_count number No. Inbound Orders -
industry_id many2one Industry res.partner.industry
is_blacklisted boolean Blacklist -
is_company boolean Is a Company -
is_site boolean Is Site? -
is_staff boolean Is Staff? -
last_name string Last Name -
local_council many2one Local Council res.partner
marketing_email_opt_in boolean Marketing Email Opt-in -
marketing_email_option selection Marketing Email Preference
Valid values: in (Opted-in), out (Opted-out)
-
marketing_phone_option selection Marketing Phone Preference
Valid values: in (Opted-in), out (Opted-out)
-
marketing_post_option selection Marketing Postv
Valid values: in (Opted-in), out (Opted-out)
-
marketing_sms_option selection Marketing SMS Preference
Valid values: in (Opted-in), out (Opted-out)
-
medium_id many2one Source Medium utm.medium
mobile string Mobile -
name string Name -
next_collection_number number Next Collection Number -
number_of_employees number No. of Employees -
number_of_it_seats number No. IT Seats -
parent_id many2one Related Company res.partner
partner_latitude number Geo Latitude -
partner_longitude number Geo Longitude -
phone string Phone -
primary_delivery_address boolean Primary Delivery Address -
primary_invoice_address boolean Primary Invoice Address -
property_account_position_id many2one Fiscal Position account.fiscal.position
property_delivery_carrier_id many2one Delivery Method delivery.carrier
property_payment_term_id many2one Customer Payment Terms account.payment.term
property_product_pricelist many2one Pricelist product.pricelist
property_purchase_currency_id many2one Supplier Currency res.currency
ref string Reference -
sic_code string SIC Code -
source_id many2one Source utm.source
state_id many2one State res.country.state
street string Street -
street2 string Street2 -
team_id many2one Sales Team crm.team
territory_id many2one Territory recycly.territory
title many2one Title res.partner.title
type selection Address Type
Valid values: contact (Contact), invoice (Invoice Contact), delivery (Delivery Address), other (Other Address), private (Private Address)
-
vat string Tax ID -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users
zip string Zip -

County / State

Model Name: res.country.state

States or regions within a country.

Fields on res.country.state

* = required field

Field Type Description Related Model
code * string State Code -
country_id * many2one Country res.country
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string State Name -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Country

Model Name: res.country

Countries and their related information.

Fields on res.country

* = required field

Field Type Description Related Model
code string Country Code -
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string Country Name -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Company

Model Name: res.company

The res.company model represents your company information. Typically there is only one company per Recycly database, but there may be more than one if you are using the multi-company features.

Fields on res.company

* = required field

Field Type Description Related Model
accreditations one2many Registrations & Certifications res.company.accreditation
active boolean Active -
booking_in_screen_option * selection Booking In Screen Type
Valid values: standard (Standard), touchscreen (Touch Screen Optimised)
-
city string City -
country_id many2one Country res.country
create_date datetime Created on -
create_uid many2one Created by res.users
currency_id * many2one Currency res.currency
email string Email -
id number ID -
name * string Company Name -
partner_id * many2one Partner res.partner
phone string Phone -
require_lot_id_when_booking_in boolean Require Lot IDs When Booking In -
sic_code string SIC Code -
state_id many2one Fed. State res.country.state
street string Street -
street2 string Street2 -
vat string Tax ID -
waste_carrier_license_no string Waste Carrier License No -
waste_management_licence_no string Waste Management Licence No -
website string Website Link -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users
zip string Zip -

Currency

Model Name: res.currency

Configured Currencies for the Recycly system.

Fields on res.currency

* = required field

Field Type Description Related Model
active boolean Active -
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string Currency -
symbol * string Symbol -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Asset Type / Service

Model Name: product.template

Asset Types and Services in the Recycly system. Asset Types are used to classify items for recycling, while Services represent services offered.

IMPORTANT: For data that links to product.product records, you should use the ID found in the product_variant_id field.

Fields on product.template

* = required field

Field Type Description Related Model
acquisition_product boolean Is an Inbound Asset Type -
active boolean Active -
barcode string Barcode -
can_be_demanufactured boolean Enable Parts Harvesting / Demanufacture -
categ_id * many2one Product Category product.category
company_id many2one Company res.company
component_type many2one Component Type jcrm.selection.option
create_date datetime Created on -
create_uid many2one Created by res.users
default_code string Internal Reference -
delivery_product boolean Is a Delivery Charge? -
demanufacture_bom_id many2one Demanufacture / Parts Harvest Bill of Materials stock.bill_of_materials
detailed_type * selection Product Type
Valid values: consu (Consumable), service (Service), product (Storable Product)
-
ewc_code many2one EWC Code product.ewc_code
height number Height (cm) -
hs_code string HS Code -
id number ID -
invoice_policy selection Invoicing Policy
Valid values: order (Ordered quantities), delivery (Delivered quantities)
-
is_component boolean Is a Component -
is_hazardous boolean Is Hazardous? -
length number Length (cm) -
list_price number Sales Price -
name * string Name -
name_plural * string Plural Name -
product_subtype_count number Sub-types -
product_tag_ids many2many Product Tags product.tag
product_variant_id many2one Product product.product
property_account_expense_id many2one Expense Account account.account
property_account_income_id many2one Income Account account.account
purchase_ok boolean Can be Purchased -
sale_ok boolean Can be Sold -
standard_price number Cost -
supplier_taxes_id many2many Vendor Taxes account.tax
taxes_id many2many Customer Taxes account.tax
uom_id * many2one Unit of Measure uom.uom
uom_po_id * many2one Purchase Unit of Measure uom.uom
weight number Weight -
width number Width (cm) -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Inbound Order

Model Name: stock.inbound_order

Inbound orders for job management in the Recycly system.

Fields on stock.inbound_order

* = required field

Field Type Description Related Model
approval_ids one2many Approvals Granted stock.inbound_order.approval
client_po_number string Customer PO Ref. -
collection_address_id many2one Site Address res.partner
collection_address_source selection Site Address Source
Valid values: address_book (From Address Book), ad_hoc (Ad Hoc Address)
-
collection_contact_id many2one Site Contact res.partner
collection_count number No. Collections/Drop-offs -
collection_date datetime Collection/Drop-off Date -
commercial_partner_id many2one Commercial Entity res.partner
company_id * many2one Company res.company
contract_id many2one Contract contracts.contract
create_date datetime Created on -
create_uid many2one Created by res.users
currency_id * many2one Currency res.currency
current_user_can_approve boolean Current User Can Approve -
description string Additional Details -
destination_warehouse_id many2one Destination Warehouse stock.warehouse
drop_off boolean Drop off by Customer -
enquiry_date * datetime Enquiry Date -
estimated_revenue monetary Estimated Revenue -
expected_confirmation_date date Expected Confirmation -
id number ID -
is_approval_stage boolean Request Approval(s) -
is_cancelled boolean Cancelled Stage -
is_completed boolean Completed Stage -
item_prepare selection Item Preparation
Valid values: customer (Customer will prepare items for shipping), courier (Courier to take packing materials for shipping)
-
items_mode * selection Items Entry Method
Valid values: items_summary (Enter summary of expected items in bulk), individual_items (Enter or import a list of individual expected items)
-
name * string Job ID -
next_collection_date datetime Next Collection/Drop-off Date -
probability number Probability (%) -
referrer_contact_id many2one Partner / Referrer res.partner
source_id many2one Source utm.source
stage_id many2one Stage stock.inbound_order.stage
tag_ids many2many Tags crm.tag
territory_id many2one Territory recycly.territory
user_id many2one Account Manager res.users
waste_hazardous_weight number Hazardous Waste Weight -
waste_non_hazardous_weight number Non-Hazardous Waste Weight -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Collection/Drop-offs and Deliveries

Model Name: stock.picking

Top-level Collection and delivery operations in the Recycly system.

Fields on stock.picking

* = required field

Field Type Description Related Model
active boolean Active -
carrier_id many2one Carrier delivery.carrier
carrier_price number Shipping Cost -
carrier_tracking_ref string Tracking Reference -
carrier_tracking_url string Tracking URL -
client_po_number string Customer PO Ref. -
collection_address many2one Site Address res.partner
collection_address_source selection Site Address Source
Valid values: address_book (From Address Book), ad_hoc (Ad Hoc Address)
-
collection_contact many2one Site Contact res.partner
commercial_partner_id many2one Commercial Entity res.partner
company_id many2one Company res.company
create_date datetime Created on -
create_uid many2one Created by res.users
date_deadline datetime Deadline -
drop_off boolean Drop off by Customer -
duration number Estimated Duration (Hours) -
hazardous_consignment_note_code string Hazardous Consignment Note Code -
hazardous_consignment_number string Hazardous Consignment Note Number -
id number ID -
inbound_order_id many2one Inbound Order stock.inbound_order
is_acquisition_picking boolean Is Collection/Drop-off -
location_dest_id * many2one Destination Location stock.location
location_id * many2one Source Location stock.location
name string Reference -
notes_delivery string Notes for Delivery Carrier -
notes_warehouse string Notes for the Warehouse -
origin string Source Document -
partner_id many2one Customer res.partner
picking_type_code selection Type of Operation
Valid values: incoming (Receipt), outgoing (Delivery), internal (Internal Transfer)
-
picking_type_id * many2one Operation Type stock.picking.type
sale_order_id many2one Sales Order sale.order
scheduled_date datetime Scheduled Date -
state selection Status
Valid values: draft (Draft), waiting (Waiting Another Operation), confirmed (Waiting), assigned (Ready), done (Done), cancel (Cancelled)
-
state_name string Status -
user_id many2one Responsible res.users
warehouse_id many2one Equipment Destination Warehouse stock.warehouse
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Stock Move

Model Name: stock.move

Represents the overall movement of a particular stock item, including its source and destination locations, quantity required and reserved, and the status.

Fields on stock.move

* = required field

Field Type Description Related Model
availability number Forecasted Quantity -
categ_id many2one Product Category product.category
company_id * many2one Company res.company
create_date datetime Created on -
create_uid many2one Created by res.users
date * datetime Date Scheduled -
date_deadline datetime Deadline -
default_code string Product Code -
description_picking string Description of Picking -
fixed_lot_id many2one Fixed Lot stock.lot
forecast_availability number Forecast Availability -
forecast_expected_date datetime Forecasted Expected date -
has_tracking selection Product with Tracking
Valid values: lot (Track Lots and Specific Items), none (No Tracking)
-
id number ID -
location_dest_id * many2one Destination Location stock.location
location_id * many2one Source Location stock.location
lot_ids many2many Serial Numbers stock.lot
name * string Description -
operation_type selection Type of Operation
Valid values: incoming (Receipt), outgoing (Delivery), internal (Internal Transfer)
-
origin string Source Document -
partner_id many2one Destination Address res.partner
picking_id many2one Transfer stock.picking
picking_type_id many2one Operation Type stock.picking.type
product_id * many2one Product product.product
product_qty number Real Quantity -
product_tmpl_id many2one Product Template product.template
product_uom * many2one UoM uom.uom
product_uom_qty * number Demand -
purchase_line_id many2one Purchase Order Line purchase.order.line
quantity_done number Quantity Done -
quantity_unknown boolean Quantity Unknown -
quantity_unscanned number Qty Unscanned -
reference string Reference -
reserved_availability number Quantity Reserved -
sale_line_id many2one Sale Line sale.order.line
sku_id many2one SKU stock.lot.sku
state selection Status
Valid values: draft (New), cancel (Cancelled), waiting (Waiting Another Move), confirmed (Waiting Availability), partially_available (Partially Available), assigned (Available), done (Done)
-
warehouse_id many2one Warehouse stock.warehouse
weight number Weight -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Stock Move Line

Model Name: stock.move.line

Represents a line item in a stock move operation in the Recycly system. These lines detail the specific items being moved, including their quantities and associated lot or serial numbers.

Fields on stock.move.line

* = required field

Field Type Description Related Model
company_id * many2one Company res.company
create_date datetime Created on -
create_uid many2one Created by res.users
date * datetime Date -
description_picking string Description picking -
id number ID -
location_dest_id * many2one To stock.location
location_id * many2one From stock.location
lot_id many2one Lot/Serial Number stock.lot
lot_name string Lot/Serial Number Name -
lot_product_qty_available number Lot Qty Remaining -
move_id many2one Stock Operation stock.move
origin string Source -
package_id many2one Source Package stock.quant.package
picking_id many2one Transfer stock.picking
picking_partner_id many2one Customer res.partner
picking_type_id many2one Operation type stock.picking.type
product_id many2one Product product.product
product_uom_id * many2one Unit of Measure uom.uom
qty_done number Done -
quantity_unknown boolean Quantity Unknown -
reference string Reference -
reserved_qty number Real Reserved Quantity -
reserved_uom_qty * number Reserved -
result_package_id many2one Destination Package stock.quant.package
state selection Status
Valid values: draft (New), cancel (Cancelled), waiting (Waiting Another Move), confirmed (Waiting Availability), partially_available (Partially Available), assigned (Available), done (Done)
-
tracking selection Tracking
Valid values: lot (Track Lots and Specific Items), none (No Tracking)
-
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

SKUs

Model Name: stock.lot.sku

Stock Keeping Units associated with items or lots in the Recycly system.

Fields on stock.lot.sku

* = required field

Field Type Description Related Model
active boolean Active -
attrib_asset_subtype many2many Asset Sub-Type product.subtype
attrib_battery_capacity string Battery Capacity (%) -
attrib_battery_capacity_operator selection Battery Capacity (%) (Operator)
Valid values: = (equal to), > (greater than), >= (greater than or equal to), < (less than), <= (less than or equal to), - (between)
-
attrib_battery_capacity_val1 number Battery Capacity (%) (Value 1) -
attrib_battery_capacity_val2 number Battery Capacity (%) (Value 2) -
attrib_cpu many2many CPU Model stock.attr.cpu
attrib_cpu_family many2many CPU Family stock.attr.cpu.family
attrib_cpu_generation string CPU Generation -
attrib_cpu_generation_operator selection CPU Generation (Operator)
Valid values: = (equal to), > (greater than), >= (greater than or equal to), < (less than), <= (less than or equal to), - (between)
-
attrib_cpu_generation_val1 number CPU Generation (Value 1) -
attrib_cpu_generation_val2 number CPU Generation (Value 2) -
attrib_data_storage_total string Total Storage (GB) -
attrib_data_storage_total_operator selection Total Storage (GB) (Operator)
Valid values: = (equal to), > (greater than), >= (greater than or equal to), < (less than), <= (less than or equal to), - (between)
-
attrib_data_storage_total_val1 number Total Storage (GB) (Value 1) -
attrib_data_storage_total_val2 number Total Storage (GB) (Value 2) -
attrib_form_factor many2many Form Factor jcrm.selection.option
attrib_grade many2many Grade jcrm.selection.option
attrib_manufacturer_id many2many Manufacturer stock.lot.manufacturer
attrib_manufacturer_sku string Manufacturer SKU -
attrib_model_number many2many Model stock.lot.model_number
attrib_part_number string Part Number -
attrib_ram string Total RAM (GB) -
attrib_ram_operator selection Total RAM (GB) (Operator)
Valid values: = (equal to), > (greater than), >= (greater than or equal to), < (less than), <= (less than or equal to), - (between)
-
attrib_ram_val1 number Total RAM (GB) (Value 1) -
attrib_ram_val2 number Total RAM (GB) (Value 2) -
attrib_screen_grade many2many Screen Grade jcrm.selection.option
attrib_screen_size string Screen Size -
attrib_screen_size_operator selection Screen Size (Operator)
Valid values: = (equal to), > (greater than), >= (greater than or equal to), < (less than), <= (less than or equal to), - (between)
-
attrib_screen_size_val1 number Screen Size (Value 1) -
attrib_screen_size_val2 number Screen Size (Value 2) -
attribute_field_ids * many2many Attributes for this SKU stock.lot.attributes.field
create_date datetime Created on -
create_uid many2one Created by res.users
currency_id many2one Currency res.currency
id number ID -
name string SKU Name -
product_id * many2one Asset Type product.product
purchase_price monetary Purchase Price -
ref * string SKU Ref. -
sales_price monetary Sales Price -
total_matching_lots number Total Matching Lots -
website_published boolean Show on eCommerce? -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Item / Lot

Model Name: stock.lot

Items or lots in the Recycly system. These represent individual items or groups of items that are tracked.

Request to create a new Item in your inventory:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "stock.lot",
      "create",
      [
        {
          "product_id": 12,  // id of product.product (Asset Type)
          "lot_quantity": 1,  // Set this to > 1 to create a Lot
          "processing_action_id": 2,  // Item Processing Action
          "new_lot_stock_option": "pending",  // Item is already received
            // we recommend setting the above to 'pending' while testing. Confirmed lots can't be deleted.
          "new_lot_warehouse_id": 1,  // Warehouse ID
          "new_lot_location_id": 8,  // Location ID (within warehouse)
          "attrib_manufacturer_id": 37,  // id of stock.lot.manufacturer
          "attrib_model_number": 164,  // id of stock.lot.model_number
          "attrib_serial_number": "4F34DG1",
          "attrib_asset_number": "A1234",
          "attrib_grade": 469,  // id of Grade A from jcrm.selection.option
          "attrib_notes": "Dell Optiplex PC in good condition",
          "attrib_cpu_list": [
            [0, 0, {
              "product_id": 53,  // id of product.product (Asset Type) for CPU Type
              "attrib_cpu_model": 2312,  // id of stock.attr.cpu record
              "attrib_serial_number": "SRLGF B30612B75"  // S/N of individual CPU
            }],
            [0, 0, {
              "product_id": 53,  // id of product.product (Asset Type) for CPU Type
              "attrib_cpu_model": 2312,  // id of stock.attr.cpu record
              "attrib_serial_number": "SRLGF B30618C92"  // S/N of individual CPU
            }]
          ],
          "attrib_ram_list": [
            [0, 0, {
              "product_id": 94,  // id of product.product (Asset Type) for RAM Type
              "attrib_ram_size": 8.00,  // RAM module size in GB
              "attrib_ram_speed": 2400,  // RAM module speed in MHz
              "attrib_removable": "removable",
              "attrib_serial_number": "RAM7K2P4X8M1N9"  // S/N of individual RAM module
            }],
            [0, 0, {
              "product_id": 94,  // id of product.product (Asset Type) for RAM Type
              "attrib_ram_size": 8.00,  // RAM module size in GB
              "attrib_ram_speed": 2400,  // RAM module speed in MHz
              "attrib_removable": "removable",
              "attrib_serial_number": "RAM9T5L2Q6R3S7"  // S/N of individual RAM module
            }]
          ],
          "attrib_data_storage_devices": [
            [0, 0, {
              "product_id": 51,  // id of product.product (Asset Type) for Data Storage Type
              "attrib_data_storage_size": 256,  // Data Storage size in GB
              "attrib_data_storage_health": "good",
              "attrib_removable": "removable",
              "attrib_serial_number": "WD-WXA1CB7S4321" , // S/N of individual data storage device
              "attrib_data_storage_processing_action": 4, // Storage processing action id (e.g. Granulate)
              "attrib_data_storage_processing_status": 6  // Storage processing status id (e.g. Completed)
            }]
          ]
        }
      ]
    ]
  }
}

Fields on stock.lot

* = required field

Field Type Description Related Model
active boolean Active? -
assessed_by_id many2one Audited By res.users
assessed_date datetime Audited Date -
attrib_asset_number string Asset Number -
attrib_asset_subtype many2one Asset Sub-Type product.subtype
attrib_battery_capacity nullable_integer Battery Capacity (%) -
attrib_battery_current_capacity nullable_integer Battery Current Capacity (mAh) -
attrib_battery_orig_capacity nullable_integer Battery Original Capacity (mAh) -
attrib_bluetooth selection Bluetooth
Valid values: yes (Yes), no (No)
-
attrib_cert_of_authenticity many2one Certificate of Authenticity jcrm.selection.option
attrib_chassis_deep_scratches nullable_integer No. Deep Scratches -
attrib_chassis_dents nullable_integer No. Dents -
attrib_chassis_light_scratches nullable_integer No. Light Scratches -
attrib_condition string Description of Condition -
attrib_cpu many2one CPU Model stock.attr.cpu
attrib_cpu_family many2one CPU Family stock.attr.cpu.family
attrib_cpu_generation nullable_integer CPU Generation -
attrib_cpu_list one2many CPU(s) stock.lot.snapshot
attrib_cpu_model many2one CPU Model stock.attr.cpu
attrib_data_storage_devices one2many Data Storage Devices stock.lot.snapshot
attrib_data_storage_erasure_id string Storage Erasure ID -
attrib_data_storage_erasure_operator string Storage Erasure Operator -
attrib_data_storage_erasure_passes nullable_integer Storage Erasure Passes -
attrib_data_storage_erasure_standard many2one Storage Erasure Standard stock.lot.data_storage.erasure_standard
attrib_data_storage_erasure_timestamp datetime Storage Erasure Timestamp -
attrib_data_storage_form_factor many2one Storage Form Factor jcrm.selection.option
attrib_data_storage_health selection Storage Health
Valid values: good (Good), bad (Bad)
-
attrib_data_storage_interface many2one Storage Interface jcrm.selection.option
attrib_data_storage_processing_action many2one Storage Processing Action stock.lot.data_storage.processing_action
attrib_data_storage_processing_status many2one Storage Processing Status stock.lot.data_storage.processing_status
attrib_data_storage_size nullable_float Storage Size (GB) -
attrib_data_storage_software many2one Storage Processing Software stock.lot.data_storage.software
attrib_data_storage_total nullable_float Total Storage (GB) -
attrib_date_of_manufacture date Date of Manufacture -
attrib_dimensions_height nullable_float Height (cm) -
attrib_dimensions_length nullable_float Length (cm) -
attrib_dimensions_width nullable_float Width (cm) -
attrib_ethernet selection Ethernet Port(s)
Valid values: yes (Yes), no (No)
-
attrib_form_factor many2one Form Factor jcrm.selection.option
attrib_fuser nullable_integer Fuser (%) -
attrib_grade many2one Grade jcrm.selection.option
attrib_manufacturer_id many2one Manufacturer stock.lot.manufacturer
attrib_manufacturer_sku string Manufacturer SKU -
attrib_model_number many2one Model stock.lot.model_number
attrib_network_ports nullable_integer Number of Network Ports -
attrib_notes string Item Description -
attrib_number_of_cpus nullable_integer Number of CPUs -
attrib_opticals many2many Optical Drive(s) jcrm.selection.option
attrib_os many2one Operating System jcrm.selection.option
attrib_os_version string O.S. Version -
attrib_page_count nullable_integer Page Count -
attrib_part_number string Manufacturer Part Number -
attrib_power_on selection Device Powers On?
Valid values: yes (Yes), no (No)
-
attrib_psu selection PSU Supplied?
Valid values: yes (Yes), no (No)
-
attrib_ram nullable_float Total RAM (GB) -
attrib_ram_list one2many RAM Modules stock.lot.snapshot
attrib_ram_size nullable_float RAM Size (GB) -
attrib_ram_speed nullable_integer RAM Speed (MHz) -
attrib_removable selection Removable?
Valid values: removable (Removable), not_removable (Not Removable)
-
attrib_screen_damage selection Screen Damage
Valid values: no_damage (No Damage), light_damage (Light / Cosmetic), moderate_damage (Moderate / Visibility-impacting), severe_damage (Severe / Screen unusable)
-
attrib_screen_dead_pixels nullable_integer No. Dead Pixels -
attrib_screen_grade many2one Screen Grade jcrm.selection.option
attrib_screen_size nullable_float Screen Size (inches) -
attrib_serial_number string Serial Number -
attrib_toner_black nullable_integer Toner Black (%) -
attrib_toner_cyan nullable_integer Toner Cyan (%) -
attrib_toner_magenta nullable_integer Toner Magenta (%) -
attrib_toner_yellow nullable_integer Toner Yellow (%) -
attrib_u_height nullable_integer Height in Rack Units (U) -
attrib_weight nullable_float Weight (kg) -
attrib_wifi selection Wifi
Valid values: yes (Yes), no (No)
-
child_ids many2many Child Item(s) / Lot(s) stock.lot
collection_city string Collection City -
collection_country_id many2one Collection Country res.country
collection_date datetime Collection/Drop-off Date -
collection_local_council many2one Collection Local Council res.partner
collection_picking_id many2one Collection/Drop-off stock.picking
collection_state_id many2one Collection County res.country.state
collection_zip string Collection Post Code -
commercial_partner_id many2one Commercial Entity res.partner
company_id * many2one Company res.company
component_parent_lot_id many2one Component Of stock.lot
component_type_code string Code -
create_date datetime Created on -
create_uid many2one Created by res.users
data_status selection Data Status
Valid values: unknown (Not Yet Audited), data_bearing (May contain sensitive data), data_erased (Data Destroyed/Erased), not_data_bearing (Not a data bearing asset)
-
id number ID -
inbound_order_id many2one Inbound Order stock.inbound_order
init_quick_entry_attrib_cpu_count nullable_integer Initial: CPU Count -
init_quick_entry_attrib_cpu_model many2one Initial: CPU Model stock.attr.cpu
init_quick_entry_attrib_ram_size nullable_float Initial: RAM Size -
is_component boolean Is A Component -
is_in_stock boolean In Warehouse -
lot_available_quantity number Available Quantity -
lot_quantity number Lot Quantity -
lot_quantity_unknown boolean Quantity Unknown -
lot_rec_type selection Type
Valid values: item (Item), lot (Lot)
-
lot_weight number Weight -
lot_weight_source selection Weight Accuracy
Valid values: estimate (Estimate), actual (Actual)
-
matching_skus many2many SKU(s) stock.lot.sku
name * string Item/Lot ID -
new_lot_location_id many2one New Item(s) Location stock.location
new_lot_stock_option selection New Item(s) Stock Status
Valid values: pending (Not yet received), confirmed (Received and in warehouse)
-
new_lot_warehouse_id many2one New Item(s) Warehouse stock.warehouse
parent_ids many2many Parent Item(s) / Lot(s) stock.lot
partner_id many2one Customer Received From res.partner
processing_action_id many2one Intended Final Action stock.processing_action
processing_action_type selection Action Type
Valid values: audit (Inspection / Audit), repair (Repair / Upgrade), resell (Resell), recycle (Recycle), parts_harvest (Demanufacture / Parts Harvest), scrap (Scrap), other (Other)
-
processing_completed_date datetime Processing Completed Date -
processing_status selection Processing Status
Valid values: pending (Pending), in_progress (In Progress), completed (Completed)
-
product_id * many2one Product product.product
product_uom_id many2one Unit of Measure uom.uom
quick_entry_attrib_cpu_count nullable_integer Quick Entry: Number of CPUs -
sales_price monetary Sales Price -
status selection Stock Status
Valid values: pending (Expected), confirmed (Received), component (Component)
-
territory_id many2one Territory recycly.territory
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Item / Lot: Manufacturer

Model Name: stock.lot.manufacturer

Manufacturers associated with items or lots in the Recycly system.

Request to get a manufacturer ID by name:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "stock.lot.manufacturer",
      "search_read",
      [
        ["|",
          ["name","ilike","Dell"],
          ["aliases.name","ilike","Dell"]
        ]
      ],
      {
        "fields": ["id","name"]
      }
    ]
  }
}

Request to create a new manufacturer (including two aliases):

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "stock.lot.manufacturer",
      "create",
      [
        {
          "name": "Hewlett Packard",
          "aliases": [
            [0, 0, { "name": "HP" }],
            [0, 0, { "name": "H.P." }]
          ]
        }
      ]
    ]
  }
}

Fields on stock.lot.manufacturer

* = required field

Field Type Description Related Model
aliases one2many Other Names stock.lot.manufacturer.alias
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
message_attachment_count number Attachment Count -
name * string Manufacturer -
partner_id many2one Associated Company/Contact res.partner
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Item / Lot: Model Number

Model Name: stock.lot.model_number

Model numbers associated with items or lots in the Recycly system.

Request to create a new model number:

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "stock.lot.model_number",
      "create",
      [
        {
          "name": "15-fd0062na",
        }
      ]
    ]
  }
}

Fields on stock.lot.model_number

* = required field

Field Type Description Related Model
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string Model No. -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Item / Lot: CPU Model

Model Name: stock.attr.cpu

CPU information associated with items or lots in the Recycly system.

Fields on stock.attr.cpu

* = required field

Field Type Description Related Model
cores nullable_integer Total Cores -
create_date datetime Created on -
create_uid many2one Created by res.users
family_id many2one Family stock.attr.cpu.family
generation nullable_integer Generation -
id number ID -
manufacturer_id many2one Manufacturer stock.lot.manufacturer
name * string CPU Name -
speed nullable_float Clock Speed (GHz) -
threads nullable_integer Total Threads -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Item / Lot: CPU Family

Model Name: stock.attr.cpu.family

CPU family information associated with items or lots in the Recycly system.

Fields on stock.attr.cpu.family

* = required field

Field Type Description Related Model
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string CPU Family Name -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Quote / Sales Order

Model Name: sale.order

Represents an Inbound or Outbound Quotation or Sales Order in the Recycly system. The value of state indicates whether it is a Quotation or Sales Order, and the value of is_inbound indicates whether it is an Inbound or Outbound transaction.

Fields on sale.order

* = required field

Field Type Description Related Model
amount_delivery monetary Delivery Amount -
amount_tax monetary Taxes -
amount_total monetary Total -
amount_undiscounted number Amount Before Discount -
amount_untaxed monetary Untaxed Amount -
campaign_id many2one Campaign utm.campaign
carrier_id many2one Delivery Method delivery.carrier
client_order_ref string Customer Reference -
collection_address_id many2one Site Address res.partner
collection_contact_id many2one Site Contact res.partner
commercial_partner_id many2one Commercial Entity res.partner
commitment_date datetime Delivery Date -
company_id * many2one Company res.company
create_date datetime Creation Date -
create_uid many2one Created by res.users
currency_id many2one Currency res.currency
currency_rate number Currency Rate -
date_order * datetime Order Date -
drop_off boolean Drop off by Customer -
expected_date datetime Expected Date -
fiscal_position_id many2one Fiscal Position account.fiscal.position
id number ID -
inbound_order_id many2one Inbound Order stock.inbound_order
invoice_status selection Invoice Status
Valid values: upselling (Upselling Opportunity), invoiced (Fully Invoiced), to invoice (To Invoice), no (Nothing to Invoice)
-
is_inbound boolean Related to Inbound Order -
medium_id many2one Medium utm.medium
name * string Order Reference -
note html Terms and conditions -
origin string Source Document -
original_quote_id many2one Original Quote sale.order
partner_id * many2one Customer res.partner
partner_invoice_id * many2one Invoice Address res.partner
partner_shipping_address_source selection Delivery Address Source
Valid values: address_book (From Address Book), ad_hoc (Ad Hoc Address)
-
partner_shipping_id * many2one Delivery Address res.partner
payment_term_id many2one Payment Terms account.payment.term
pricelist_id * many2one Pricelist product.pricelist
quote_sent_date datetime Quotation Sent Date -
source_id many2one Source utm.source
source_quote_id many2one Source Quotation sale.order
state selection Status
Valid values: draft (Quotation), sent (Quotation Sent), quote_accepted (Accepted), quote_declined (Declined), quote_superseded (Superseded), draft_sale (Draft Order), sale (Sales Order), done (Locked), cancel (Cancelled)
-
tag_ids many2many Tags crm.tag
team_id many2one Sales Team crm.team
territory_id many2one Territory recycly.territory
user_id many2one Salesperson res.users
warehouse_id * many2one Warehouse stock.warehouse
website_id many2one Website website
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Quote / Sales Order Line

Model Name: sale.order.line

Quotation and Sales order lines in the Recycly system. These represent individual items or services within a Quotation or Sales Order.

Fields on sale.order.line

* = required field

Field Type Description Related Model
create_date datetime Created on -
create_uid many2one Created by res.users
discount number Discount (%) -
display_type selection Display Type
Valid values: line_section (Section), line_note (Note)
-
id number ID -
invoice_status selection Invoice Status
Valid values: upselling (Upselling Opportunity), invoiced (Fully Invoiced), to invoice (To Invoice), no (Nothing to Invoice)
-
is_delivery boolean Is a Delivery -
is_downpayment boolean Is a down payment -
lot_id many2one Specific Item or Lot stock.lot
name * string Description -
price_subtotal monetary Subtotal -
price_tax number Total Tax -
price_total monetary Total -
price_unit * number Unit Price -
product_id many2one Product product.product
product_uom many2one Unit of Measure uom.uom
product_uom_qty * number Quantity -
qty_delivered number Delivery Quantity -
qty_invoiced number Invoiced Quantity -
sequence number Sequence -
sku_id many2one SKU stock.lot.sku
tax_id many2many Taxes account.tax
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Payment Term

Model Name: account.payment.term

Payment terms available in the Recycly system.

Fields on account.payment.term

* = required field

Field Type Description Related Model
active boolean Active -
company_id many2one Company res.company
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string Payment Terms -
note html Description on the Invoice -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Tax Scheme

Model Name: account.fiscal.position

Tax schemes available in the Recycly system.

Fields on account.fiscal.position

* = required field

Field Type Description Related Model
active boolean Active -
company_id * many2one Company res.company
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string Tax Scheme -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

User

Model Name: res.users

Users in the Recycly system.

Fields on res.users

* = required field

Field Type Description Related Model
action_id many2one Home Action ir.actions.actions
active boolean Active -
booking_in_screen_option * selection Booking In Screen Type
Valid values: standard (Standard), touchscreen (Touch Screen Optimised), use_company_setting ((use company-level setting))
-
company_id * many2one Company res.company
company_ids many2many Companies res.company
create_date datetime Created on -
create_uid many2one Created by res.users
default_territory_id many2one Territory for new records recycly.territory
email string Email -
employee_id many2one Company employee hr.employee
first_name string First Name -
id number ID -
last_name string Last Name -
login * string Login -
login_date datetime Latest authentication -
name string Name -
setup_assistant_snooze_until datetime Setup Assistant reminder snoozed until -
share boolean Share User -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Selection List

Model Name: jcrm.selection.list

Dynamic selection lists (such as Item Grades, Operating Systems, etc.)

Request to get a list of available selections lists and their codes (which you can then use to find their corresponding options)

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "jcrm.selection.list",
      "search_read",
      [
        []
      ],
      {
        "fields": ["code","name"]
      }
    ]
  }
}

Example response

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "id": 22,
            "code": "recycly.lot_snapshot_sources",
            "name": "Attribute Snapshot Sources"
        },
        {
            "id": 14,
            "code": "recycly.item_grades",
            "name": "Item Grades"
        },
        {
            "id": 24,
            "code": "recycly.operating_systems",
            "name": "Operating Systems"
        },
        {
            "id": 5,
            "code": "recycly.opticals",
            "name": "Opticals"
        },

        // ...
    ]
}

Fields on jcrm.selection.list

* = required field

Field Type Description Related Model
code string Code -
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
name * string List Name -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users

Selection List Option

Model Name: jcrm.selection.option

Options for dynamic selection lists in the Recycly system.

Request to get all selection options for a specific selection list, using the list code.

{
  "jsonrpc": "2.0",
  "method": "call",
  "id": 1,
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "mycompany",
      8,
      "c5a55bf71df385b4c1f7b794c741916ea8c06644",
      "jcrm.selection.option",
      "search_read",
      [
        [
          ["list_id.code","=","recycly.item_grades"]
        ]
      ],
      {
        "fields": ["id","code","name"]
      }
    ]
  }
}

Example response (use the corresponding "id" when setting the option on a new record)

{
    "jsonrpc": "2.0",
    "id": 1,
    "result": [
        {
            "id": 469,
            "code": "grade_a",
            "name": "A"
        },
        {
            "id": 470,
            "code": "grade_b",
            "name": "B"
        },
        {
            "id": 471,
            "code": "grade_c",
            "name": "C"
        },
        {
            "id": 472,
            "code": "grade_d",
            "name": "D"
        }
    ]
}

Fields on jcrm.selection.option

* = required field

Field Type Description Related Model
active boolean Active? -
code * string Code -
create_date datetime Created on -
create_uid many2one Created by res.users
id number ID -
list_id * many2one Selection List jcrm.selection.list
name * string Option -
sequence number Sequence -
write_date datetime Last Updated on -
write_uid many2one Last Updated by res.users