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:
- Python: Built-in
json
andrequests
modules,jsonrpclib-pelix
- JavaScript:
axios
,jayson
- Ruby:
json-rpc-client
,em-jsonrpc-client
- PHP:
jsonrpc-client-php
,jsonrpc-php
- Java:
jsonrpc4j
,json-rpc-client
- Go:
gorilla/rpc
,go-jsonrpc
- C#/.NET:
StreamJsonRpc
,JsonRpc.Net
- Rust:
jsonrpc-client-core
,jsonrpc-core
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:
- Log into your Recycly account at
https://<mycompany>.recyc.ly
- Navigate to Users & Settings → Users
- Select your user account, or create a user account specifically for API access
- Go to the Account Security tab and scroll down to the API Keys section
- Click the New API Key button and follow the prompts
- Copy and securely store your API key
- 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:
Content-Type: application/json
(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 | - |
string | - | ||
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 |
string | - | ||
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 |
string | - | ||
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 |