Customers

Endpoint: https://api.oneup.com/v1/customers

JSON Format

Customers are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating customers
type integer yes no The type of the customer
1: Company
2: Individual
status integer no no 1: Customer (default)
2: Lead
full_name string no yes The full name of this customer (automatically generated).
address Address no no The main address of the customer
shipping_address Address no no The shipping address of the customer
phone_number string no no The phone number of this customer. 64 characters max.
email string no no The Email address of this customer. 255 characters max.
website string no no The URL of the customer's website. 255 characters max.
contacts array[Contact] no no An array containing the contacts of the customer
payment_terms Payment Terms no no The Payment terms object
by default, Due on receipt will be selected.
currency_iso_code string no no The ISO Code of one of your Currencies
by default, the domain currency will be selected. 4 characters max.
sales_tax Tax no no A Tax object
user_code string no no The number assigned to this customer (i.e. CUS-002). If you don't specify a customer number, it will be automatically generated. 64 characters max.
opt_in_email boolean no no Opt-in to Emails. Default: false
notes string no no A note about this customer
assigned_to Object no no The employee object. The authenticated user by default
employee_count integer no no The company's employee count
price_family Object no no The price family applied to this customer
taxpayer_id string no no The customer's taxpayer id
industry string no no The customer's industry
incorporation_status string no no The customer's incorporation status
rating string no no The lead's rating

Company only

If your customer is a company, the JSON object will have the following keys:
Field Name Type Mandatory Read-only Description
company_name string yes no The name of the company. 255 characters max.

Individual only

If your customer is an individual, the JSON object will have the following keys:
Field Name Type Mandatory Read-only Description
first_name string no no The First Name of the customer. 255 characters max.
last_name string yes no The Last Name of the customer. 255 characters max.
middle_name string no no The Middle Name of the customer. 255 characters max.

JSON Example

{
    "id": 146800,
    "type": 1,
    "status": 1,
    "full_name": "OneUp",
    "address": {
        "street_line1": "567 Sutter St.",
        "street_line2": "",
        "street_line3": "",
        "postal_code": "94102",
        "city": "San Francisco",
        "country": "United States",
        "locality": "California",
        "short_locality": "CA",
        "full_address": "567 Sutter St. San Francisco CA 94102 United States"
    },
    "shipping_address": {
        "street_line1": "567 Sutter St.",
        "street_line2": "",
        "street_line3": "",
        "postal_code": "94102",
        "city": "San Francisco",
        "country": "United States",
        "locality": "California",
        "short_locality": "CA",
        "full_address": "567 Sutter St. San Francisco CA 94102 United States"
    },
    "phone_number": "(415) 779-6536",
    "email": "support@oneup.com",
    "website": "www.oneup.com",
    "payment_terms": {
        "id": 1,
        "name": "Due on receipt"
    },
    "currency_iso_code": "USD",
    "sales_tax": {
        "id": 1,
        "name": "0.0% Example of Sales Tax (Collected)",
        "rate": 0.0
    },
    "user_code": "CUS-018",
    "opt_in_email": false,
    "notes": "- OneUp -\nRun your business in the Cloud",
    "assigned_to": {
        "id": 2,
        "first_name": "John",
        "last_name": "Smith",
        "user_code": "EMP-002"
    },
    "company_name": "OneUp",
    "employee_count": 1,
    "taxpayer_id": "123456789",
    "price_family": {
        "id": 1,
        "name": "Price Family"
    },
    "industry": "Apparel",
    "incorporation_status": "C-Corporation",
    "rating": "Cold"
}

Available Filter Fields

Field Name Description
assigned_to Filter by employee id that is assigned to the customer (e.g. ?assigned_to=3).
created_at Filter by the creation date.
status Filter by status among :
- lead
- customer
(e.g. ?status=lead).

Available Sorting Options

Option Name Description
id Sorts by id field.
user_code Sorts by user code field.
full_name Sorts by full name field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Vendors

Endpoint: https://api.oneup.com/v1/vendors

JSON Format

Vendors are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating customers
type integer yes no The type of the vendor
1: Company
2: Individual
full_name string no yes The full name of this customer (automatically generated)
address Address no no The main address of the vendor
phone_number string no no The phone number of this vendor. 64 characters max.
email string no no The Email address of this vendor. 255 characters max.
website string no no The URL of the vendor's website. 255 characters max.
contacts array[Contact] no no An array containing the contacts of the vendor
payment_terms_id integer no no The ID of the Payment terms
by default, Due on receipt will be selected.
currency_iso_code string no no The ISO Code of one of your Currencies
by default, the domain currency will be selected. 4 characters max.
user_code string no no The number assigned to this vendor (i.e. SUP-002). If you don't specify a vendor number, it will be automatically generated. 64 characters max.
note no no A note about this vendor
taxpayer_id_number string no no The Taxpayer ID Number

Company only

If your vendor is a company, the JSON object will have the following keys:
Field Name Type Mandatory Read-only Description
company_name string yes no The name of the company. 255 characters max.

Individual only

If your vendor is an individual, the JSON object will have the following keys:
Field Name Type Mandatory Read-only Description
first_name string no no The First Name of the vendor. 255 characters max.
last_name string yes no The Last Name of the vendor. 255 characters max.
middle_name string no no The Middle Name of the vendor. 255 characters max.

JSON Example

{
  "id": 132,
  "type": 1,
  "full_name": "Regular Vendor",
  "address": {
    "street_line1": "Regular street",
    "street_line2": "Block G",
    "street_line3": "Floor 5",
    "postal_code": "77 837",
    "city": "San Francisco",
    "country": "USA",
    "locality": "California",
    "short_locality": "CA",
    "full_address": "Regular street Block G Floor 5 San Francisco CA 77 837 USA"
  },
  "phone_number": "555 7890 888",
  "email": "regular.vendor@gmail.com",
  "website": "regularvendor.com",
  "contacts": [
    {
      "id": 65,
      "first_name": "Regular",
      "last_name": "Vendor",
      "full_name": "Regular Vendor",
      "cell_number": "",
      "work_phone": "888 7654 333",
      "home_phone": "",
      "email": "r.vendor@mail.com",
      "address": {
        "street_line1": "",
        "street_line2": "",
        "street_line3": "",
        "postal_code": "",
        "city": "",
        "country": "",
        "locality": "N/A",
        "short_locality": "N/A",
        "full_address": ""
      },
      "note": "This contact is pretty regular."
    }
  ],
  "currency": "USD",
  "payment_terms_id": 1,
  "taxpayer_id_number": "SE OIU 90",
  "user_code": "SUP-002",
  "note": "This vendor is pretty regular.",
  "company_name": "Regular Vendor"
}

Available Filter Fields

Field Name Description
created_at Filter by the creation date.

Available Sorting Options

Option Name Description
id Sorts by id field.
user_code Sorts by user code field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.
full_name Sorts by full name field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Products and Services

Endpoint: https://api.oneup.com/v1/items

JSON Format

Products and Services are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating Transactions
type integer yes no The type
1: Service
2: Product
name string yes no The name. 255 characters max.
unit_id integer no no The ID of the Unit
Default:
Service: Day
Product: Piece
sales_price double no no The Sales Price, 0.0 by default
item_number string no no A unique user-facing id (i.e. ITM-012) If you don't specify a product number, it will be automatically generated. 64 characters max.
description string no no A description of the product or the service
family_id integer no no IDs from Item's Families
Miscellaneous, by default
private_note string no no A private note about the product or the service

Products only

Field Name Type Mandatory Read-only Description
purchase_price double no no The Purchase Price of the product. 0.0 by default
net_weight double no no The Net Weight of the product. 0.0 by default
width double no no The Width of the product. 0.0 by default
length double no no The Length of the product. 0.0 by default
height double no no The Height of the product. 0.0 by default
dimension_unit_id integer no no The id of the Dimension Unit of the product. Meter by default

JSON Example

{
  "id": 230071,
  "type": 2,
  "name": "Nintendo Wii",
  "unit_id": 2,
  "sales_price": 199.0,
  "purchase_price": 159.0,
  "item_number": "ITM-012",
  "description": "A video game console.",
  "family_id": 3,
  "private_note": "I got one !",
  "net_weight": 1.740,
  "width": 0.157,
  "length": 0.215,
  "height": 0.440,
  "dimension_unit_id": 3
}

Available Sorting Options

Option Name Description
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Products and Services Families

Endpoint: https://api.oneup.com/v1/item_families

JSON Format

Products and Services Families are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating Families
name string yes no The Family Name. 64 characters max.
code yes no The Short Code of the Family. Automatically generated. 64 characters max.

JSON Example

{
  "id": 4,
  "name": "Video Game",
  "code": "FAM-007"
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Projects

Endpoint: https://api.oneup.com/v1/projects

JSON Format

Projects are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating projects
name string yes no The Project Name. 128 characters max.
description string no no The Project Description

JSON Example

{
    "id": 32,
    "name": "Project X",
    "description": "A wonderful project !\nLet's make money."
}

Available Filter Fields

Field Name Description
created_at Filter by the creation date.

Available Sorting Options

Option Name Description
id Sorts by id field.
name Sorts by name field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Project Tasks

Endpoint: https://api.oneup.com/v1/project_tasks

JSON Format

Project Tasks are represented as JSON objects which have the following keys:

Field Name Type Description
id integer Automatically assigned when creating a task
name string The task name.
notes string The task notes.
status string "done" if the task is completed, "todo" otherwise.
due_date date Date on which this task is due, or null if the task has no due date.
done_date date Date on which this task was completed, or null if the task has no done date.
time_spent double The time spent to complete this task, or null if the task is not done yet.
assigned_to object Employee to which this task is assigned, or null if the task is unassigned.
customer object Compact representation of the customer linked to this task, or null if no customer linked.
contact object Compact representation of the contact linked to this task, or null if no contact linked.
project object Compact representation of the project linked to this task, or null if no project linked.
service_to_bill object Compact representation of the service to bill linked to this task, or null if no service linked.

JSON Example

 {
  "id": 6,
  "name": "Buy supplies",
  "notes": "Let's buy the supplies.",
  "status": "todo",
  "due_date": "2016-03-17",
  "done_date": null,
  "time_spent": null,
  "assigned_to": {
    "id": 120,
    "first_name": "John",
    "last_name": "Doe",
    "user_code": "EMP-005"
  },
  "customer": {
    "id": 517001,
    "name": "Smith Inc",
    "user_code": "CUS-1108"
  },
  "contact": {
    "id": 353659,
    "name": "Jane Smith",
    "user_code": "CCUS-1422"
  },
  "project": {
    "id": 2,
    "name": "Project 2"
  }, 
  "service_to_bill": {
    "id": 6252,
    "name": "Service",
    "user_code": "PS-004"
  }
} 

Available Sorting Options

Option Name Description
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
GET Retrieve the list of resources

Opportunity Tasks

Endpoint: https://api.oneup.com/v1/opportunity_tasks

JSON Format

Opportunity Tasks are represented as JSON objects which have the following keys:

Field Name Type Description
id integer Automatically assigned when creating a task
name string The task name.
notes string The task notes.
status string "done" if the task is completed, "todo" otherwise.
due_date date Date on which this task is due, or null if the task has no due date.
done_date date Date on which this task was completed, or null if the task has no done date.
time_spent double The time spent to complete this task, or null if the task is not done yet.
assigned_to object Employee to which this task is assigned, or null if the task is unassigned.
customer object Compact representation of the customer linked to this task, or null if no customer linked.
contact object Compact representation of the contact linked to this task, or null if no contact linked.
opportunity object Compact representation of the opportunity linked to this task, or null if no opportunity linked.

JSON Example

 {
  "id": 6,
  "name": "Buy supplies",
  "notes": "Let's buy the supplies.",
  "status": "todo",
  "due_date": "2016-03-17",
  "done_date": null,
  "time_spent": null,
  "assigned_to": {
    "id": 120,
    "first_name": "John",
    "last_name": "Doe",
    "user_code": "EMP-005"
  },
  "customer": {
    "id": 517001,
    "name": "Smith Inc",
    "user_code": "CUS-1108"
  },
  "contact": {
    "id": 353659,
    "name": "Jane Smith",
    "user_code": "CCUS-1422"
  },
  "opportunity": {
    "id": 2,
    "name": "Opportunity 2"
  }
} 

Available Sorting Options

Option Name Description
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
GET Retrieve the list of resources

Sales Orders

Endpoint: https://api.oneup.com/v1/sales_orders

JSON Format

Sales orders are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
customer_id DEPRECATED integer yes no Id of the Customer.
customer Snippet yes no The Snippet of the sales order Customer.
Where :
- id = customer.id
- name = customer.full_name
- user_code = customer.user_code
billing_contact_id integer no no Id of the Contact to bill.
Should belong to that order's Customer.
billing_address Address no yes The billing address. The Contact address if any, the Customer one otherwise.
user_code string no no The number assigned to this sales order (i.e. SO-002). If you don't specify an order number, it will be automatically generated.
64 characters max.
po_number string no no The Customer own Order Reference.
64 characters max.
date date no no The date that will be printed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
tax_id integer no no US only.
Id of the Tax to apply on that order.
currency_iso_code string no no The ISO code of the currency (ISO 4217). 4 characters max.
That currency should have been previously added into your company settings.
Default: your company's currency.
reduce_rate double no no The reduce rate (%) to apply. From 0 to 100.
Default: 0.00
order_lines array[Order Line] no no An array containing the order lines of the order.
public_note string no no Comment that will be printed on the final document.
shipping_date date no no The date before which the goods should be delivered, if any.
Format: yyyy-MM-dd (e.g. 2013-06-26)
shipping_contact_id integer no no Id of the Contact the goods should be shipped to, if different than the Customer.
Could be any Contact from any Customer.
shipping_address Address no yes The shipping address. The shpping Contact address if any, the Customer one otherwise.
payment_terms_id integer no no Id of the Payment Term to apply once that order will be billed.
project_id integer no no Id of the Project related to that order, if any.
employee_id integer no no Id of the Employee assigned to that order.
Default: the authenticated user.
private_note string no no A private note that won't be printed.
subtotal double no yes Total before taxes and reduce. Based on the content of the order lines.
reduce_amount double no yes Amount of the reduce, based on the subtotal and reduce rate.
tax_amount double no yes Overall tax amount. Inludes all taxes, discounts and reduce.
total double no yes The final total the customer needs to pay. All include (taxes, discounts, reduce).
delivery_status integer no yes The delivery status, among :
1: Not Delivered (default)
2: Partially Delivered
3: Delivered
invoice_status integer no yes The invoice status, among :
1: Not invoiced (default)
2: Invoiced
3: Cancelled

JSON Example

That example describe a US sales order.

{
  "id": 8,
  "customer_id": 2,
  "billing_contact_id": 1,
  "billing_address": {
    "street_line1": "57 Benjamin Franklin Street",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "",
    "city": "San Francisco",
    "country": "USA",
    "locality": "California",
    "short_locality": "CA",
    "full_address": "57 Benjamin Franklin Street San Francisco CA USA"
  },
  "user_code": "CORD-006",
  "po_number": "WC-SO-32492-XCT",
  "date": "2014-05-07",
  "tax_id": 2,
  "currency_iso_code": "USD",
  "reduce_rate": 3.5,
  "order_lines": [
    {
      "id": 66,
      "item_id": 1,
      "description": "",
      "quantity": 50.0,
      "unit_price_wt": 15.0,
      "discount_rate": 0.0,
      "tax_id": 2,
      "is_taxable": true,
      "total": 750.0
    },
    {
      "id": 67,
      "item_id": 3,
      "description": "10 random stickers for WC2014 album.",
      "quantity": 100.0,
      "unit_price_wt": 1.5,
      "discount_rate": 5.0,
      "tax_id": 2,
      "is_taxable": true,
      "total": 142.5
    },
    {
      "id": 68,
      "item_id": 2,
      "description": "A beautiful stickers album about Soccer.\n- Limited Edition -",
      "quantity": 20.0,
      "unit_price_wt": 9.99,
      "discount_rate": 0.0,
      "tax_id": 0,
      "is_taxable": false,
      "total": 199.8
    }
  ],
  "public_note": "All in one rhythm - Juntos num só ritmo",
  "shipping_date": "2014-06-12",
  "shipping_address": {
    "street_line1": "Rue Henri Delaunay",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "93210",
    "city": "Saint-Denis",
    "country": "France",
    "locality": "N/A",
    "short_locality": "N/A",
    "full_address": "Rue Henri Delaunay Saint-Denis 93210 France"
  },
  "payment_terms_id": 4,
  "employee_id": 1,
  "private_note": "Needs to be ready for the opening !",
  "subtotal": 1092.3,
  "reduce_amount": 38.23,
  "tax_amount": 86.13,
  "total": 1140.2,
  "delivery_status": 1,
  "invoice_status": 1
}

Available Filter Fields

Field Name Description
customer_id Filter by customer id.

Available Sorting Options

Option Name Description
id Sorts by id field.
date Sorts by date field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.
user_code Sorts by the user_code field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Create a delivery note from a sales order

 PUT https://api.oneup.com/v1/sales_orders/:id/deliver

On success, the sales order gets delivered and the resulting Delivery Note is returned.

Create an invoice from a sales order

 PUT https://api.oneup.com/v1/sales_orders/:id/invoice

On success, the sales order gets closed and the resulting Invoice is returned.

Purchase Orders

Endpoint: https://api.oneup.com/v1/purchase_orders

JSON Format

Purchase orders are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
vendor Snippet yes no The Snippet of the purchase order's Vendor.
Where :
- id = vendor.id
- name = vendor.full_name
- user_code = vendor.user_code
user_code string no no The number assigned to this purchase order (i.e. SORD-002). If you don't specify an order number, it will be automatically generated.
64 characters max.
date date no no The date that will be printed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
currency_iso_code string no no The ISO code of the currency (ISO 4217). 4 characters max.
That currency should have been previously added into your company settings.
Default: your company's currency.
employee_id integer no no Id of the Employee assigned to that order.
Default: the authenticated user.
private_note string no no A private note that won't be printed.
subtotal double no yes Total before taxes and reduce. Based on the content of the order lines.
reduce_amount double no yes Amount of the reduce, based on the subtotal and reduce rate.
tax_amount double no yes Overall tax amount. Inludes all taxes, discounts and reduce.
total double no yes The final total that gets billed by the vendor. All include (taxes, discounts, reduce).

JSON Example

That example describe an UK Purchase order.

{
  "id": 10001,
  "uuid": "f67691ec-fa87-4971-b300-c0b0ca1d1015",
  "vendor": {
    "user_code": "SUP-001",
    "id": 1,
    "name": "Miscellaneous Supplier"
  },
  "user_code": "SORD-002",
  "date": "2021-02-03",
  "currency_iso_code": "GBP",
  "employee_id": 10028,
  "private_note": "",
  "subtotal": 161336.0,
  "reduce_amount": 37107.28,
  "tax_amount": 24845.74,
  "total": 149074.46,
  "attachments": []
}

Available Sorting Options

Option Name Description
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
GET Retrieve the list of resources

Create a bill from a purchase order

 PUT https://api.oneup.com/v1/purchase_orders/:id/bill

On success, the purchase order gets billed and the resulting Bill is returned.

Quotes

Endpoint: https://api.oneup.com/v1/quotes

JSON Format

Quotes are represented as JSON objects which have the following keys:

Field Name Type Description
id integer Automatically assigned.
status string The status, among : "open" (default), "won", "lost"
delivery_status integer The delivery status, among :
1: Not Delivered (default)
2: Partially Delivered
3: Delivered
invoice_status integer The invoice status, among :
1: Not invoiced (default)
2: Invoiced
3: Cancelled
expiration_date date For open quotes, the day the quote will expire.
Format: yyyy-MM-dd (e.g. 2013-06-26)
closing_date date For won quotes, the date the quote has been accepted.
Format: yyyy-MM-dd (e.g. 2013-06-26)
losing_date date For lost quotes, the date the quote has been rejected.
Format: yyyy-MM-dd (e.g. 2013-06-26)
customer_id DEPRECATED integer Id of the Customer.
customer Snippet The Snippet of the quote Customer.
Where :
- id = customer.id
- name = customer.full_name
- user_code = customer.user_code
billing_contact_id integer Id of the Contact to bill.
Should belong to that quote's Customer.
billing_address Address The billing address. The Contact address if any, the Customer one otherwise.
po_number string The Customer own Order Reference.
64 characters max.
tax_id integer US only.
Id of the Tax to apply on that quote.
reduce_rate double The reduce rate (%) to apply. From 0 to 100.
Default: 0.00
order_lines array[Order Line] An array containing the order lines of the quote.
public_note string Comment that will be printed on the final document.
shipping_contact_id integer Id of the Contact the goods should be shipped to, if different than the Customer.
Could be any Contact from any Customer.
shipping_address Address The shipping address. The shipping Contact address if any, the Customer one otherwise.
payment_terms_id integer Id of the Payment Term to apply on that quote. Will be used as a template to generate Settlements.
project_id integer Id of the Project related to that quote, if any.
user_code string The number assigned to that quote (i.e. QOT-001).
date date The date that will be printed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
currency_iso_code string The ISO code of the currency (ISO 4217). 4 characters max.
That currency should have been previously added into your company settings.
Default: your company's currency.
employee_id integer Id of the Employee assigned to that order.
private_note string A private note that won't be printed.
subtotal double Total before taxes and reduce. Based on the content of the order lines.
reduce_amount double Amount of the reduce, based on the subtotal and reduce rate.
tax_amount double Overall tax amount. Includes all taxes, discounts and reduce.
total double The final total the customer will have to pay. All include (taxes, discounts, reduce).

JSON Example

{
  "id": 10005,
  "status": "open",
  "delivery_status": 1,
  "invoice_status": 1,
  "expiration_date": "2020-12-31",
  "closing_date": null,
  "losing_date": null,
  "customer_id": 10001,
  "billing_contact_id": 10001,
  "billing_address": {
    "street_line1": "1st Avenue",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "",
    "city": "New York",
    "country": "United States",
    "country_iso_code": "US",
    "locality": "New York",
    "short_locality": "NY",
    "full_address": "1st Avenue New York NY United States"
  },
  "tax_id": 1,
  "reduce_rate": 9.0,
  "order_lines": [
    {
      "id": 10006,
      "item_id": 10001,
      "description": "The service",
      "quantity": 1.0,
      "unit_price_wt": 1000.0,
      "discount_rate": 0.0,
      "tax_id": null,
      "is_taxable": false,
      "total": 1000.0
    }
  ],
  "public_note": "The document note",
  "shipping_contact_id": 10001,
  "shipping_address": {
    "street_line1": "1st Avenue",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "",
    "city": "New York",
    "country": "United States",
    "country_iso_code": "US",
    "locality": "New York",
    "short_locality": "NY",
    "full_address": "1st Avenue New York NY United States"
  },
  "payment_terms_id": 1,
  "project_id": 10001,
  "uuid": "5370cd91-8cb2-4311-a90b-d9b3151f75e7",
  "user_code": "QOT-001",
  "date": "2020-07-03",
  "currency_iso_code": "USD",
  "employee_id": 10020,
  "private_note": "Another private note",
  "subtotal": 1000.0,
  "reduce_amount": 90.0,
  "tax_amount": 0.0,
  "total": 910.0,
  "attachments": []
}

Available Filter Fields

Field Name Description
customer_id Filter by customer id.

Available Sorting Options

Option Name Description
id Sorts by id field.
date Sorts by date field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.
user_code Sorts by the user_code field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
GET Retrieve the list of resources

Print a Quote as PDF

 GET https://api.oneup.com/v1/quotes/:id/print[.pdf|.json]

Response types

This endpoint supports two types of response JSON and PDF.
Response type can be changed by adding .pdf or .json to the URL.

Type Content-Type Response type
JSON
(Default)
application/json URL to the PDF reprensentation of the document. The URL is valid for 5 minutes.

Example:
{"url": "https://s3.amazonaws.com/documents/1/1.pdf"}
PDF application/pdf The PDF reprensentation of the document.

Create a invoice from a quote

 PUT https://api.oneup.com/v1/quotes/:id/invoice

On success, the quote gets invoiced and the resulting Invoice is returned.

Create a sales order from a quote

 PUT https://api.oneup.com/v1/quotes/:id/order

On success, the quote gets ordered and the resulting Sales Order is returned.

Invoices

Endpoint: https://api.oneup.com/v1/invoices

JSON Format

Invoices are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
locked boolean no no Indicates that the document can no longer be edited nor deleted.
sent boolean no no Has the document been finalized or sent to the Customer.
sent_at date no no The date the document has been finalized or sent to the Customer.
Format: yyyy-MM-dd (e.g. 2013-06-26)
customer_id DEPRECATED integer yes no Id of the Customer.
customer Snippet yes no The Snippet of the invoice Customer.
Where :
- id = customer.id
- name = customer.full_name
- user_code = customer.user_code
billing_contact_id integer no no Id of the Contact to bill.
Should belong to that invoice's Customer.
billing_address Address no yes The billing address. The Contact address if any, the Customer one otherwise.
user_code string no no The number assigned to that invoice (i.e. INV-002). If you don't specify an order number, it will be automatically generated.
64 characters max.
po_number string no no The Customer own Order Reference.
64 characters max.
date date no no The date that will be printed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
tax_id integer no no US only.
Id of the Tax to apply on that invoice.
currency_iso_code string no no The ISO code of the currency (ISO 4217). 4 characters max.
That currency should have been previously added into your company settings.
Default: your company's currency.
reduce_rate double no no The reduce rate (%) to apply. From 0 to 100.
Default: 0.00
order_lines array[Order Line] no no An array containing the order lines of the invoice.
public_note string no no Comment that will be printed on the final document.
shipping_contact_id integer no no Id of the Contact the goods should be shipped to, if different than the Customer.
Could be any Contact from any Customer.
shipping_address Address no yes The shipping address. The shipping Contact address if any, the Customer one otherwise.
payment_terms_id integer no no Id of the Payment Term to apply on that invoice. Will be used as a template to generate Settlements.
project_id integer no no Id of the Project related to that invoice, if any.
employee_id integer no no Id of the Employee assigned to that order.
Default: the authenticated user.
private_note string no no A private note that won't be printed.
subtotal double no yes Total before taxes and reduce. Based on the content of the order lines.
reduce_amount double no yes Amount of the reduce, based on the subtotal and reduce rate.
tax_amount double no yes Overall tax amount. Includes all taxes, discounts and reduce.
total double no yes The final total the customer needs to pay. All include (taxes, discounts, reduce).
paid double no yes Total of the payments made on that invoice.
unpaid double no yes Remaining amount to be paid.
delivery_status integer no yes The delivery status, among :
1: Not Delivered (default)
2: Partially Delivered
3: Delivered
invoice_status integer no yes The invoice status, among :
2: Invoiced (default)
3: Cancelled
payments_id array[integer] no yes Array of Ids of Payments made on that invoice.

JSON Example

That example describe a US invoice.

{
  "id": 19,
  "locked": true,
  "sent": true,
  "sent_at": "2014-07-15",
  "customer_id": 2,
  "billing_contact_id": 1,
  "billing_address": {
    "street_line1": "57 Benjamin Franklin Street",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "",
    "city": "San Francisco",
    "country": "USA",
    "locality": "California",
    "short_locality": "CA",
    "full_address": "57 Benjamin Franklin Street San Francisco CA USA"
  },
  "user_code": "CINV-015",
  "po_number": "WC-SO-32492-XCT",
  "date": "2014-05-07",
  "tax_id": 2,
  "currency_iso_code": "USD",
  "reduce_rate": 3.5,
  "order_lines": [
    {
      "id": 69,
      "item_id": 1,
      "description": "",
      "quantity": 50.0,
      "unit_price_wt": 15.0,
      "discount_rate": 0.0,
      "tax_id": 2,
      "is_taxable": true,
      "total": 750.0
    },
    {
      "id": 70,
      "item_id": 3,
      "description": "10 random stickers for WC2014 album.",
      "quantity": 100.0,
      "unit_price_wt": 1.5,
      "discount_rate": 5.0,
      "tax_id": 2,
      "is_taxable": true,
      "total": 142.5
    },
    {
      "id": 71,
      "item_id": 2,
      "description": "A beautiful stickers album about Soccer.\n- Limited Edition -",
      "quantity": 20.0,
      "unit_price_wt": 9.99,
      "discount_rate": 0.0,
      "tax_id": 0,
      "is_taxable": false,
      "total": 199.8
    }
  ],
  "public_note": "All in one rhythm - Juntos num só ritmo",
  "shipping_address": {
    "street_line1": "Rue Henri Delaunay",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "93210",
    "city": "Saint-Denis",
    "country": "France",
    "locality": "N/A",
    "short_locality": "N/A",
    "full_address": "Rue Henri Delaunay Saint-Denis 93210 France"
  },
  "payment_terms_id": 4,
  "employee_id": 1,
  "private_note": "Needs to be ready for the opening !",
  "subtotal": 1092.3,
  "reduce_amount": 38.23,
  "tax_amount": 86.13,
  "total": 1140.2,
  "paid": 770.1,
  "unpaid": 370.1,
  "delivery_status": 1,
  "invoice_status": 2,
  "payments_id": [
    32,
    33
  ]
}

Available Filter Fields

Field Name Description
customer_id Filter by customer id.

Available Sorting Options

Option Name Description
id Sorts by id field.
date Sorts by date field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.
user_code Sorts by the user_code field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Print an Invoice as PDF

 GET https://api.oneup.com/v1/invoices/:id/print[.pdf|.json]

Response types

This endpoint supports two types of response JSON and PDF.
Response type can be changed by adding .pdf or .json to the URL.

Type Content-Type Response type
JSON
(Default)
application/json URL to the PDF reprensentation of the document. The URL is valid for 5 minutes.

Example:
{"url": "https://s3.amazonaws.com/documents/1/1.pdf"}
PDF application/pdf The PDF reprensentation of the document.

Create a credit memo from an invoice

 PUT https://api.oneup.com/v1/invoices/:id/cancel

On success, the invoice gets cancelled and the resulting Credit memo is returned.

Vendor bills

Endpoint: https://api.oneup.com/v1/vendor_bills

JSON Format

Vendor bills are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating customers
locked boolean no no Indicates that the document can no longer be edited nor deleted.
sent boolean no no Has the document been finalized or sent to the Customer.
sent_at date no no The date the document has been finalized or sent to the Customer.
Format: yyyy-MM-dd (e.g. 2013-06-26)
vendor Snippet no no The Snippet of the bill Vendor.
Where :
- id = vendor.id
- name = vendor.full_name
- user_code = vendor.user_code
billing_address Address no yes The billing address. The Contact address if any, the Vendor one otherwise.
paid double no yes Total of the payments made on that bill.
unpaid double no yes Remaining amount to be paid.
user_code string no no The number assigned to this bill (i.e. VINV-002). If you don't specify a bill number, it will be automatically generated. 64 characters max.
ref_number string no no The vendor's own reference number for this bill (e.g. their invoice number). 255 characters max.
this field can be cleared with a blank or empty string only, not a null value
date date no no The date that will be printed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
currency_iso_code string no no The ISO Code of one of your Currencies
by default, the domain currency will be selected. 4 characters max.
employee_id integer no no Id of the Employee assigned to that bill.
Default: the authenticated user.
order_lines array[Order Line] no no An array containing the order lines of the bill.
shipping_address Address no yes The shipping address. The shipping Contact address if any, the User's one otherwise.
payment_terms object no no Id of the Payment Term to apply on that bill. Will be used as a template to generate Settlements.
private_note string no no A private note that won't be printed.
subtotal double no yes Total before taxes and reduce. Based on the content of the order lines.
reduce_amount double no yes Amount of the reduce, based on the subtotal and reduce rate.
tax_amount double no yes Overall tax amount. Includes all taxes, discounts and reduce.
total double no yes The final total the user needs to pay to the vendor. All included (taxes, discounts, reduce).

JSON Example

{
  "locked": false,
  "sent": false,
  "sent_at": "2026-01-12",
  "paid": 0.0,
  "unpaid": 528.31,
  "vendor": {
    "user_code": "VEN-001",
    "id": 1,
    "name": "MISC VENDOR"
  },
  "id": 10002,
  "user_code": "VINV-001",
  "ref_number": "REF-1234",
  "date": "2026-01-12",
  "currency_iso_code": "GBP",
  "reduce_rate": 10.0,
  "order_lines": [
    {
      "id": 69,
      "item_id": 1,
      "description": "",
      "quantity": 10.0,
      "unit_price_wt": 45.0,
      "discount_rate": 0.0,
      "tax_id": 5,
      "is_taxable": null,
      "total": 450.0
    },
    {
      "id" : 70,
      "accounting_account_id": 586,
      "description": "",
      "quantity": 1.0,
      "unit_price_wt": 45.0,
      "discount_rate": 5.0,
      "tax_id": 6,
      "tax": {
        "id": 6
      },
      "is_taxable": null,
      "total": 42.75
    },
    {
      "id" : 71,
      "budget_category": {
        "id": 102
      },
      "description": "",
      "quantity": 1.0,
      "unit_price_wt": 50.0,
      "discount_rate": 0.0,
      "tax_id": 6,
      "tax": {
        "id": 6
      },
      "is_taxable": null,
      "total": 49.50
    }
  ],
  "employee_id": 10028,
  "private_note": "A vendor bill",
  "subtotal": 542.75,
  "reduce_amount": 54.28,
  "tax_amount": 89.34,
  "total": 577.81,
  "attachments": []
}

Available Sorting Options

Option Name Description
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Create a vendor credit memo from a bill

 PUT https://api.oneup.com/v1/vendor_bills/:id/cancel

On success, the bill gets cancelled and the resulting Vendor credit memo is returned.

Installments

Endpoint: https://api.oneup.com/v1/installments

This API is read only.

JSON Format

Installments are represented as JSON objects which have the following keys:

Field Name Type Description
id integer Automatically assigned.
invoice_id integer Id of the related Invoice.
due_date date The expected payment date.
Format: yyyy-MM-dd (e.g. 2013-06-26)
amount double The installment initial amount.
outstanding_amount double Amount left to settle.
An outstanding amount of 0.00 means that the Installment has been fully paid.
currency_iso_code string The ISO code of the currency (ISO 4217).
payment_request_id integer Id of the related PaymentRequest used with integrated payment solutions.

JSON Example

{
  "id": 10004,
  "invoice_id": 10004,
  "due_date": "2020-10-27",
  "amount": 5859.22,
  "outstanding_amount": 1251.49,
  "currency_iso_code": "GBP",
  "payment_request_id": 10001
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
GET Retrieve the list of resources

Payments

Endpoint: https://api.oneup.com/v1/payments

Payment creation is restraint to Invoice's payments into the API. You have to provide an invoice_id while performing a POST request.
That new payment will be applied on the first open settlement of that invoice. If all settlements are paid, an error message will be returned and the payment won't be created.
Also, that new payment currency will be determined by the invoice's one.

Unlike creation, GET requests are not restraint to invoice's payments only and returns any kind of payments.

JSON Format

Payments are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating Payment
user_code string no yes The number that was automatically assigned to this payment (i.e. IPAY-002).
invoice_id integer yes yes Id of the Invoice that payment is about, if any.
date date no yes The date the payment has occured.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
amount double yes yes Amount of the payment.
Should not be 0.00
currency_iso_code string no yes The ISO code of that payment currency (ISO 4217).
payment_method_id integer no yes Id of the Payment method.
Default: the one of the settlement that payment has been applied.
bank_reference string no yes A bank reference label that can freely be assigned. Could be a bank statement reference, a PayPal ID, etc...
bank_id integer no yes Id of the bank account that payment was made on.
That bank account currency should match the payment one.
Default: no Bank. Use the application to perform the bank deposit later on.

JSON Example

{
  "id": 25,
  "user_code": "IPAY-025",
  "invoice_id": 14,
  "date": "2014-07-25",
  "amount": 330.0,
  "currency_iso_code": "USD",
  "payment_method_id": 1,
  "bank_reference": "BK-XCT-094843904 PAY",
  "bank_id": 5
}

Available Filter Fields

Field Name Description
invoice_id Filter by invoice ID. Only available for GET operation to retrieve the list of payments for specific invoice.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
Restraint to invoice's payments only
GET Retrieve the list of resources

Bill Payments

Endpoint: https://api.oneup.com/v1/bill_payments

Bill Payment creation is restrained to Vendor Bill payments into the API. You have to provide a vendor_bill_id while performing a POST request.
That new payment will be applied on the first open settlement of that vendor bill. If all settlements are paid, an error message will be returned and the payment won't be created.
Also, that new payment currency will be determined by the vendor bill's one.
Unlike invoice payments, bank_id is mandatory when creating a bill payment.

Unlike creation, GET requests are not restrained to vendor bill payments only and return any kind of bill payments.

JSON Format

Bill Payments are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating a Bill Payment.
user_code string no yes The number that was automatically assigned to this bill payment (i.e. BPAY-002).
vendor_bill_id integer yes yes Id of the Vendor Bill that payment is about.
date date no yes The date the payment has occurred.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
amount double no yes Amount of the payment.
Default: remaining unpaid amount of the first open settlement.
Should not be 0.00.
currency_iso_code string no yes The ISO code of that payment currency (ISO 4217).
Derived from the vendor bill's currency.
payment_method_id integer no yes Id of the Payment method.
Default: the one of the settlement that payment has been applied.
bank_reference string no yes A bank reference label that can freely be assigned. Could be a bank statement reference, a transfer ID, etc...
bank_id integer yes yes Id of the bank account that payment was made from.
That bank account currency must match the vendor bill's currency.

JSON Example

{
  "id": 28,
  "user_code": "BPAY-028",
  "vendor_bill_id": 18,
  "date": "2014-08-11",
  "amount": 99.0,
  "currency_iso_code": "USD",
  "payment_method_id": 1,
  "bank_reference": "BK-XCT-094843904 PAY",
  "bank_id": 5
}

Available Filter Fields

Field Name Description
vendor_bill_id Filter by vendor bill ID. Only available for GET operation to retrieve the list of payments for a specific vendor bill.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Credit memos

Endpoint: https://api.oneup.com/v1/credit_memos

JSON Format

Credit memos are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
locked boolean no no Indicates that the document can no longer be edited nor deleted.
sent boolean no no Has the document been finalized or sent to the Customer.
sent_at date no no The date the document has been finalized or sent to the Customer.
Format: yyyy-MM-dd (e.g. 2013-06-26)
paid double no yes Total of the payments made on that credit memo.
unpaid double no yes Remaining amount to be paid.
customer_id DEPRECATED integer yes no Id of the Customer.
customer Snippet yes no The Snippet of the credit memo Customer.
Where :
- id = customer.id
- name = customer.full_name
- user_code = customer.user_code
billing_contact_id integer no no Id of the Contact to bill.
Should belong to that credit memo's Customer.
billing_address Address no yes The billing address. The Contact address if any, the Customer one otherwise.
tax_id integer no no US only.
Id of the Tax to apply on that credit memo.
reduce_rate double no no The reduce rate (%) to apply. From 0 to 100.
Default: 0.00
order_lines array[Order Line] no no An array containing the order lines of the credit memo.
public_note string no no Comment that will be printed on the final document.
shipping_contact_id integer no no Id of the Contact the goods should be shipped to, if different than the Customer.
Could be any Contact from any Customer.
shipping_address Address no yes The shipping address. The shipping Contact address if any, the Customer one otherwise.
payment_terms_id integer no no Id of the Payment Term to apply on that credit memo. Will be used as a template to generate Settlements.
project_id integer no no Id of the Project related to that credit memo, if any.
user_code string no no The number assigned to that credit memo (i.e. CCN-001). If you don't specify an order number, it will be automatically generated.
64 characters max.
date date no no The date that will be printed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
currency_iso_code string no no The ISO code of the currency (ISO 4217). 4 characters max.
That currency should have been previously added into your company settings.
Default: your company's currency.
employee_id integer no no Id of the Employee assigned to that order.
Default: the authenticated user.
private_note string no no A private note that won't be printed.
subtotal double no yes Total before taxes and reduce. Based on the content of the order lines.
reduce_amount double no yes Amount of the reduce, based on the subtotal and reduce rate.
tax_amount double no yes Overall tax amount. Inludes all taxes, discounts and reduce.
total double no yes The final total the customer needs to pay. All include (taxes, discounts, reduce).

JSON Example

{
  "id": 10001,
  "locked": true,
  "sent": true,
  "sent_at": "2020-07-08",
  "paid": 0.0,
  "unpaid": 998.0,
  "customer_id": 10002,
  "billing_contact_id": 10003,
  "billing_address": {
    "street_line1": "1600 Pennsylvania Avenue Northwest",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "20500",
    "city": "Washington",
    "country": "United States",
    "country_iso_code": "US",
    "locality": "District of Columbia",
    "short_locality": "DC",
    "full_address": "1600 Pennsylvania Avenue Northwest Washington DC 20500 United States"
  },
  "tax_id": 1,
  "reduce_rate": 0.2,
  "order_lines": [
    {
      "id": 10008,
      "item_id": 10003,
      "description": "It is a nice service",
      "quantity": 1.0,
      "unit_price_wt": 1000.0,
      "discount_rate": 0.0,
      "tax_id": null,
      "is_taxable": false,
      "total": 1000.0
    }
  ],
  "public_note": "This is a credit memo",
  "shipping_contact_id": 10003,
  "shipping_address": {
    "street_line1": "1600 Pennsylvania Avenue Northwest",
    "street_line2": "",
    "street_line3": "",
    "postal_code": "20500",
    "city": "Washington",
    "country": "United States",
    "country_iso_code": "US",
    "locality": "District of Columbia",
    "short_locality": "DC",
    "full_address": "1600 Pennsylvania Avenue Northwest Washington DC 20500 United States"
  },
  "payment_terms_id": 1,
  "project_id": 10003,
  "uuid": "a797b18e-2bd0-4fe0-85e9-289eda012fb5",
  "user_code": "CCN-001",
  "date": "2020-07-08",
  "currency_iso_code": "USD",
  "employee_id": 10024,
  "private_note": "Private thoughts here",
  "subtotal": 1000.0,
  "reduce_amount": 2.0,
  "tax_amount": 0.0,
  "total": 998.0
}

Available Filter Fields

Field Name Description
customer_id Filter by customer id.

Available Sorting Options

Option Name Description
id Sorts by id field.
date Sorts by date field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.
user_code Sorts by the user_code field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Print a Credit memo as PDF

 GET https://api.oneup.com/v1/credit_memos/:id/print[.pdf|.json]

Response types

This endpoint supports two types of response JSON and PDF.
Response type can be changed by adding .pdf or .json to the URL.

Type Content-Type Response type
JSON
(Default)
application/json URL to the PDF reprensentation of the document. The URL is valid for 5 minutes.

Example:
{"url": "https://s3.amazonaws.com/documents/1/1.pdf"}
PDF application/pdf The PDF reprensentation of the document.

Vendor credit memos

Endpoint: https://api.oneup.com/v1/vendor_credit_memos

JSON Format

Vendor credit memos are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
locked boolean no no Indicates that the document can no longer be edited nor deleted.
sent boolean no no Has the document been finalized or sent to the Vendor.
sent_at date no no The date the document has been finalized or sent to the Vendor.
Format: yyyy-MM-dd (e.g. 2013-06-26)
paid double no yes Total of the payments made on that credit memo.
unpaid double no yes Remaining amount to be paid.
user_code string no no The number assigned to this bill (i.e. SCN-001). If you don't specify a a credit memo number, it will be automatically generated. 64 characters max.
ref_number string no no The vendor's own reference number for this credit memo. 64 characters max.
This field can be cleared with a blank or empty string only, not a null value
date date no no The date that will be printed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
currency_iso_code string no no The ISO Code of one of your Currencies
by default, the domain currency will be selected. 4 characters max.
employee_id integer no no Id of the Employee assigned to that bill.
Default: the authenticated user.
private_note string no no A private note that won't be printed.
subtotal double no yes Total before taxes and reduce. Based on the content of the order lines.
reduce_amount double no yes Amount of the reduce, based on the subtotal and reduce rate.
tax_amount double no yes Overall tax amount. Includes all taxes, discounts and reduce.
total double no yes The final total due by the vendor. All include (taxes, discounts, reduce).

JSON Example

{
  "locked": true,
  "sent": true,
  "sent_at": "2021-02-03",
  "paid": 2251.2,
  "unpaid": 0.0,
  "id": 10000,
  "user_code": "SCN-001",
  "ref_number": "REF-5678",
  "date": "2020-10-06",
  "currency_iso_code": "GBP",
  "employee_id": 10028,
  "private_note": "",
  "subtotal": 1876.0,
  "reduce_amount": 0.0,
  "tax_amount": 375.2,
  "total": 2251.2,
  "attachments": []
}

Available Sorting Options

Option Name Description
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Sales Receipts

Endpoint: https://api.oneup.com/v1/sales_receipts

A Sales Receipt represents a categorized income collected directly from a customer, vendor, employee, or any other payee — without going through an invoice.
It is made up of one or more Category Lines that split the total amount across accounting accounts and budget categories.
Setting a payment_date (or a bank_account) marks the document as deposited. Clearing them reverts it to unpaid.

A POST /v1/sales_receipts/search endpoint is also available for advanced filtering.

JSON Format

Sales Receipts are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating a Sales Receipt.
user_code string no yes The number automatically assigned to this Sales Receipt (e.g. REC-012). 64 characters max.
status string no yes Payment status of the document. deposited when a payment_date is set, not_deposited otherwise.
type string no no Whether the document has a single line or multiple lines. Values: simple, multi-line.
payee_type string no no Type of the payee. Values: CUSTOMER, VENDOR, EMPLOYEE, BANK_ACCOUNT, NO_PAYEE.
payee Snippet no no The payee of this Sales Receipt. Must belong to the type specified by payee_type.
date date no no The date of the Sales Receipt.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
due_date date no no The due date for payment (for unpaid documents).
Format: yyyy-MM-dd (e.g. 2013-06-26)
payment_date date no no The date the payment was deposited to the bank account. Setting this field marks the document as deposited.
Format: yyyy-MM-dd (e.g. 2013-06-26)
payment_method string no no The payment method used (e.g. CHECK, WIRE_TRANSFER, CREDIT_CARD).
bank_account object no no The bank account the amount was deposited into. Contains id and name.
transaction_id string no no A free reference label (e.g. a bank statement reference). 255 characters max.
notes string no no Free notes attached to this Sales Receipt. 255 characters max.
currency_iso_code string no no The ISO code of the currency (ISO 4217).
Default: your company's currency.
total_amount double no yes Total amount including taxes. Computed from the sum of all category lines.
assigned_to object no no The employee assigned to this document. Contains id, first_name, last_name.
Default: the authenticated user.
project object no no The project this Sales Receipt is linked to, if any. Contains id and name.
locked boolean no yes Indicates that the document can no longer be edited nor deleted (e.g. due to a locked accounting period or VAT reconciliation).
bank_reconciled boolean no yes Indicates whether this Sales Receipt has been matched against a bank entry.
lines array[Category Line] no no The category lines of this Sales Receipt. Adding, updating or removing a line updates total_amount accordingly.
metadata object no yes Extended status information. Contains document_status and payment_status keys.

JSON Example

{
  "id": 12,
  "user_code": "REC-012",
  "status": "deposited",
  "type": "multi-line",
  "payee_type": "CUSTOMER",
  "payee": { "id": 5, "name": "ACME Corp", "user_code": "CLI-005" },
  "date": "2024-03-15",
  "payment_date": "2024-03-20",
  "payment_method": "CHECK",
  "bank_account": { "id": 1, "name": "Main Checking" },
  "transaction_id": null,
  "notes": null,
  "currency_iso_code": "EUR",
  "total_amount": 120.00,
  "assigned_to": { "id": 1, "first_name": "Jane", "last_name": "Doe" },
  "project": null,
  "locked": false,
  "bank_reconciled": false,
  "lines": [
    {
      "id": 1,
      "total_amount": 120.00,
      "sub_total_amount": 100.00,
      "tax_amount": 20.00,
      "price_mode": "withTaxes",
      "tax": { "id": 1, "name": "TVA 20%", "rate": 20.0 },
      "accounting_account": { "id": 2, "name": "Sales revenue", "number": "706000" },
      "budget_category": { "id": 1, "name": "Services" },
      "notes": "Q1 consulting services"
    }
  ],
  "metadata": {
    "document_status": "SALES_RECEIPT_OPEN",
    "payment_status": "SALES_RECEIPT_PAID"
  }
}

Available Filter Fields

Field Name Description
date Filter by document date. Supports range queries.
payee_type Filter by payee type (CUSTOMER, VENDOR, EMPLOYEE, BANK_ACCOUNT, NO_PAYEE).
status Filter by payment status: deposited or not_deposited.

Available Sorting Options

Option Name Description
id Sorts by id field.
date Sorts by date field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.
user_code Sorts by the user_code field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Expenses

Endpoint: https://api.oneup.com/v1/expenses

An Expense represents a categorized outgoing payment made to a vendor, employee, or any other payee — without going through a vendor bill.
It is made up of one or more Category Lines that split the total amount across accounting accounts and budget categories.
Setting a payment_date (or a bank_account) marks the document as paid. Clearing them reverts it to unpaid.

Expenses share the same structure as Sales Receipts, with the distinction that expense lines use deductible taxes instead of collected taxes.

A POST /v1/expenses/search endpoint is also available for advanced filtering.

JSON Format

Expenses are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating an Expense.
user_code string no yes The number automatically assigned to this Expense (e.g. EXP-008). 64 characters max.
status string no yes Payment status of the document. paid when a payment_date is set, not_paid otherwise.
type string no no Whether the document has a single line or multiple lines. Values: simple, multi-line.
payee_type string no no Type of the payee. Values: CUSTOMER, VENDOR, EMPLOYEE, BANK_ACCOUNT, NO_PAYEE.
payee Snippet no no The payee of this Expense. Must belong to the type specified by payee_type.
date date no no The date of the Expense.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
due_date date no no The due date for payment (for unpaid documents).
Format: yyyy-MM-dd (e.g. 2013-06-26)
payment_date date no no The date the payment was debited from the bank account. Setting this field marks the document as paid.
Format: yyyy-MM-dd (e.g. 2013-06-26)
payment_method string no no The payment method used (e.g. CHECK, WIRE_TRANSFER, CREDIT_CARD).
bank_account object no no The bank account the amount was debited from. Contains id and name.
transaction_id string no no A free reference label (e.g. a bank statement reference). 255 characters max.
notes string no no Free notes attached to this Expense. 255 characters max.
currency_iso_code string no no The ISO code of the currency (ISO 4217).
Default: your company's currency.
total_amount double no yes Total amount including taxes. Computed from the sum of all category lines.
assigned_to object no no The employee assigned to this document. Contains id, first_name, last_name.
Default: the authenticated user.
project object no no The project this Expense is linked to, if any. Contains id and name.
locked boolean no yes Indicates that the document can no longer be edited nor deleted (e.g. due to a locked accounting period or VAT reconciliation).
bank_reconciled boolean no yes Indicates whether this Expense has been matched against a bank entry.
lines array[Category Line] no no The category lines of this Expense. Adding, updating or removing a line updates total_amount accordingly.
metadata object no yes Extended status information. Contains document_status and payment_status keys.

JSON Example

{
  "id": 8,
  "user_code": "EXP-008",
  "status": "paid",
  "type": "multi-line",
  "payee_type": "VENDOR",
  "payee": { "id": 3, "name": "Office Supplies Co.", "user_code": "FOU-003" },
  "date": "2024-03-10",
  "payment_date": "2024-03-10",
  "payment_method": "CREDIT_CARD",
  "bank_account": { "id": 2, "name": "Corporate Card" },
  "transaction_id": "TXN-20240310-004",
  "notes": null,
  "currency_iso_code": "EUR",
  "total_amount": 59.99,
  "assigned_to": { "id": 1, "first_name": "Jane", "last_name": "Doe" },
  "project": null,
  "locked": false,
  "bank_reconciled": false,
  "lines": [
    {
      "id": 1,
      "total_amount": 59.99,
      "sub_total_amount": 49.99,
      "tax_amount": 10.00,
      "price_mode": "withTaxes",
      "tax": { "id": 2, "name": "TVA 20%", "rate": 20.0 },
      "accounting_account": { "id": 7, "name": "Office supplies", "number": "606300" },
      "budget_category": { "id": 5, "name": "Office supplies" },
      "notes": "Printer paper and pens"
    }
  ],
  "metadata": {
    "document_status": "EXPENSE_OPEN",
    "payment_status": "EXPENSE_PAID"
  }
}

Available Filter Fields

Field Name Description
date Filter by document date. Supports range queries.
payee_type Filter by payee type (CUSTOMER, VENDOR, EMPLOYEE, BANK_ACCOUNT, NO_PAYEE).
status Filter by payment status: paid or not_paid.

Available Sorting Options

Option Name Description
id Sorts by id field.
date Sorts by date field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.
user_code Sorts by the user_code field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Accounting Transactions

Endpoint: https://api.oneup.com/v1/transactions

Accounting Transactions that have been generated by the system are only editable to some extends.
Only few fields, like external_id or lettering remain editable. Also, you cannot add or remove entries, edit amounts or change the date or piece_number. In order to do that, you have to edit the document that have generated the transaction.

Still, you can lock any entries to ensure that it won't be modified at all, but be carefull: once locked, an entry cannot be unlocked.

JSON Format

Accounting Transactions are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating Transactions.
external_id string no no Use primilary for Sync.
transaction_code integer no no Automatically generated
status UPDATED: 2018-03-14 string no yes The status of the transaction, among "realized", "forecast", "closed" and "draft".

It's a read only field, transaction created through the API are "realized" only.
date date no no Today by default.
Format: yyyy-MM-dd (e.g. 2013-06-26)

Not editable on transactions that have been generated by the system.
journal_id DEPRECATED integer no no Deprecated. See journal.
journal Journal no no The recording journal
5: Miscellaneous Operations is selected by default.

Not editable on transactions that have been generated by the system.
piece_number string yes no A unique user-facing id of the document linked to this transaction. 64 characters max.

Not editable on transactions that have been generated by the system.
currency_iso_code string no yes The ISO code of the currency (ISO 4217). 4 characters max.
Default: your company's currency.

Not editable on transactions that have been generated by the system.

When creating new transactions, only default currency is allowed.
entries array[Entry] yes no The list of the transaction's entries. The entries must be balanced.

You cannot add or remove entries on transactions that have been generated by the system.

Transaction Entry Format

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating Entries.
label string no no The description of the Entry. 128 characters max.
amount double yes no The amount of the Entry. Positive, will be rounded to two decimal places.

Not editable on transactions that have been generated by the system.
way UPDATED: 2018-03-14 string yes no Defines if the amount is a Debit or a Credit.
"DEBIT" or "CREDIT"

Not editable on transactions that have been generated by the system.
account_id DEPRECATED integer yes no Deprecated. See account.
account_label DEPRECATED string no yes Deprecated. See account.
account Account yes no The accounting account from the Chart of Account.

Not editable on transactions that have been generated by the system.
lettering string no no The lettering of this entry. 64 characters max.
locked boolean no no locked entries are not editable at all.
Once turned to 'true', it cannot be set back to 'false'.

JSON Example

{
  "id": 509878,
  "external_id": "EXT-API-079",
  "transaction_code": 1639,
  "status": "realized",
  "date": "2014-01-31",
  "journal": {
    "id": 32,
    "name": "Journal name",
    "code": "JN"
  },
  "piece_number": "CINV-237",
  "currency_ico_code": "USD",
  "entries": [
    {
      "id": 1187484,
      "label": "Invoice Payment",
      "amount": 17578.65,
      "way": "DEBIT",
      "account": {
        "id": 21,
        "number": "11100",
        "name": "Accounts Receivable - Trade",
        "is_family": false,
        "family_id": 6
      },
      "lettering": "CINV-237",
      "locked": false
    },
    {
      "id": 1187485,
      "label": "Invoice Payment - Before taxes",
      "amount": 16238.92,
      "way": "CREDIT",
      "account": {
        "id": 21,
        "number": "11100",
        "name": "Accounts Receivable - Trade",
        "is_family": false,
        "family_id": 6
      },
      "lettering": null,
      "locked": false
    },
    {
      "id": 1187486,
      "label": "Invoice Payment - Taxes",
      "amount": 1339.73,
      "way": "CREDIT",
      "account": {
        "id": 57,
        "number": "21100",
        "name": "Sales Tax Payable",
        "is_family": false,
        "family_id": 9
      },
      "lettering": null,
      "locked": false
    }
  ]
}

Available Filter Fields

Field Name Description
date Filter by date.
journal_id Filter by journal_id.
status Filter by status among :
- forecast
- realized
- closed
- draft
(e.g. ?status=realized).

Available Sorting Options

Option Name Description
id Sorts by id field.
transaction_code Sorts by transaction code field.
date Sorts by date field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Accounting journals

Endpoint: https://api.oneup.com/v1/journals

JSON Format

Journals are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating journals
name string yes no The journal name. 64 characters max.
code string yes no The journal name's abbreviation. 64 characters max.

JSON Example

{
    "id": 32,
    "name": "Journal name",
    "code": "JN"
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Accounts

Endpoint: https://api.oneup.com/v1/accounts

JSON Format

Accounts are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned
number string yes no The Number of this account. 64 characters max.
name string yes no The Name of this account. 128 characters max.
is_family boolean yes yes Is this account a family account.
family_id integer yes no Code of this account's family

JSON Example

{
    "id": 100,
    "number": "56100",
    "name": "Freight Charges",
    "is_family": false,
    "family_id": 13
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Bank

Endpoint: https://api.oneup.com/v1/bank_accounts

JSON Format

Bank accounts are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
account_number string no no The account number of the bank account.
name string yes no The way that bank account will appear in OneUp.
currency string no no The ISO Code of one of your Currencies
by default, the domain currency will be selected. 4 characters max.
linked_to_provider boolean no no Does this account come from an external provider.
bank_balance double no no The current balance of your bank account.
accounting_bank_balance double no no The current balance of your bank account, according to the OneUp accounting.
bank_balance_date date no no The date the bank balance has been recorded.
Format: yyyy-MM-dd (e.g. 2013-06-26)

JSON Example

{
  "id": 2769,
  "account_number": "748-94288-928",
  "name": "Bank of the West",
  "currency": "USD",
  "linked_to_provider": false,
  "bank_balance": 32487.09,
  "accounting_bank_balance": 59573.90,
  "bank_balance_date": "2015-02-20"
}

Available Sorting Options

Option Name Description
name Sorts by account name field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Bank Entries

Endpoint: https://api.oneup.com/v1/bank_entries

This API doesn't handle PUT requests.

JSON Format

Bank entries are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
external_id string no yes Used primilary for sync purposes.
bank_account object yes yes Code of the Bank Account that entry belongs to.
posted_date date yes yes The date that entry was posted.
Format: yyyy-MM-dd (e.g. 2013-06-26)
transaction_date date yes yes The date the bank transaction was actually performed.
Format: yyyy-MM-dd (e.g. 2013-06-26)
amount double yes yes Amount of the bank transaction. Use negative amount for debit.
Should not be 0.00
currency_iso_code string no yes The ISO Code of the bank account.
description string yes yes Short description.
payment_method object no yes Code of the payment method.
Default: 1 (check)
provider_name string no no The source of the bank entry.
Values are: NONE, YODLEE or LINXO
provider_category_id integer no no The category id from the source provider (YODLEE, LINXO).
status string no yes The status of the bank entry.
reconciled_documents array[object] no yes The list of documents reconciled to this entry.

JSON Example

{
  "id": 353,
  "external_id": "EXT-API-093",
  "bank_account": {
    "id": 4,
    "name": "HSBC"
  },
  "posted_date": "2014-05-05",
  "transaction_date": "2014-06-12",
  "amount": -133.94,
  "currency_iso_code": "USD",
  "description": "Walmart - Credit card payment",
  "payment_method": {
    "id": 7,
    "name": "Other"
  },
  "provider_name": "NONE",
  "provider_category_id": null,
  "status": "reconciled",
  "reconciled_documents": [
    {
      "id": 848,
      "type": "bank_payment",
      "name": "Walmart expense - OPAY-106",
      "auto_reconciled": false,
      "reconciled_amount": 133.94,
      "accounting_entry_code": 26243
    }
  ]
}

Available Filter Field

Field Name Description
id Filter by one or multiple ids (e.g. ?id=1,2,3).
external_id Filter by one or multiple external ids (e.g. ?external_id=1,2,3).
bank_account Filter by one or multiple bank_account ids (e.g. ?bank_account=1,2,3).
posted_date Filter by posted_date.
transaction_date Filter by transaction_date.
status Filter by one or multiple status among :
- unprocessed
- unreconciled
- partially_reconciled
- to_review
- reconciled
- closed
(e.g. ?status=partially_reconciled,reconciled).

Available Sorting Options

Option Name Description
id Sorts by id field.
date Sorts by posted date field.
name Sorts by label field.
absolute_amount Sorts by the absolute value of the amount field.
created_at Sorts by the creation date field.
updated_at Sorts by the update date field.

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Bank Transfers

Endpoint: https://api.oneup.com/v1/bank_transfers

A Bank Transfer records a movement of money between two bank accounts.
You can specify both the source (from) and destination (to) accounts, or only one of the two — for example, if you are only the receiving party and do not manage the sending account in OneUp, or vice versa.
Multi-currency transfers are supported: if from and to use different currencies, exchange rates are computed automatically.

JSON Format

Bank Transfers are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating a Bank Transfer.
user_code string no yes The number automatically assigned to this Bank Transfer (e.g. BTRF-007).
date date no no The date of the transfer.
Format: yyyy-MM-dd (e.g. 2013-06-26)
Default: date of the day.
notes string no no A description of the transfer purpose. 255 characters max.
from object no no The debit side of the transfer. See Transfer Direction table below. Can be omitted if you are only the receiving party.
to object no no The credit side of the transfer. See Transfer Direction table below. Can be omitted if you are only the sending party.
budget_category object no no The budget category associated with this transfer. Contains id and name.

Transfer Direction (from / to)

Both from and to share the same structure:

Field Name Type Mandatory Read-only Description
bank_account object no no The bank account on this side of the transfer. Contains id and name.
from.bank_account and to.bank_account must be different when both are provided.
amount double yes no The transfer amount on this side. Must be greater than 0.
currency_iso_code string no yes The ISO code of the currency (ISO 4217). Derived from the bank account's currency.

JSON Example

{
  "id": 7,
  "user_code": "BTRF-007",
  "date": "2024-03-15",
  "notes": "Monthly reserve top-up",
  "from": {
    "bank_account": { "id": 1, "name": "Main Checking" },
    "amount": 5000.00,
    "currency_iso_code": "EUR"
  },
  "to": {
    "bank_account": { "id": 2, "name": "Savings Reserve" },
    "amount": 5000.00,
    "currency_iso_code": "EUR"
  },
  "budget_category": { "id": 3, "name": "Internal transfer" }
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Reconciliations

Endpoint: https://api.oneup.com/v1/reconciliations

Reconciliations link a Bank Entry to an accounting document, confirming that the bank transaction and the document represent the same financial event.

You must provide a bank_entry id and a budget_category id when creating a reconciliation. Providing a document_type is obligatory for matching an existing document, optional otherwise: if omitted, the type is inferred automatically from the bank entry amount and budget category type (see Auto-detection below).
Deleting a reconciliation unreconciles the document from the bank entry and updates the bank entry status accordingly.

JSON Format

Reconciliations are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned when creating a Reconciliation.
bank_entry object yes yes The Bank Entry being reconciled. Contains id and label.
document_type string no yes Type of the document being reconciled. Obligatory when matching an existing document, because several documents can have the same document_id, a distinction to identify them is necessary. If omitted, inferred automatically (see Auto-detection). Accepted values:
- bank_payment
- bank_deposit
- bank_transfer
- sales_receipt
- accounting_receipt
- customer_invoice
- customer_payment
- credit_memo
- vendor_bill
- vendor_payment
- vendor_credit_memo
- accounting_entry
- fixed_asset
- cash_drawer_closing
document object no yes The reconciled document. Its structure depends on document_type — either a full embedded document object (for types that support inline creation) or a simple {id, user_code} reference. See per-type sections below.
document_date date no no Date of the reconciled document.
Format: yyyy-MM-dd (e.g. 2013-06-26)
user_code string no no User code of the reconciled document (e.g. IPAY-025, EXP-008). Automatically derived.
amount double yes yes Amount matched between the bank entry and the document. Must not be 0.00.
budget_category object yes yes The primary budget category applied to this reconciliation. Contains id and name.
Its type (EXPENSE, INCOME, TRANSFER) drives auto-detection of document_type when not provided.
secondary_budget_categories array[object] no yes Additional budget categories applied to this reconciliation.
tax object no yes Primary tax applied to the reconciliation. Contains id and name.
secondary_taxes array[object] no yes Additional taxes applied to the reconciliation.
payee_type string no yes Type of the payee. Values: CUSTOMER, VENDOR, EMPLOYEE, BANK_ACCOUNT, NO_PAYEE.
payee object no yes The payee of this reconciliation. Contains id, name, and type. Must match payee_type.
locked boolean no no Indicates whether the reconciliation is locked and can no longer be modified.
auto_reconciled boolean no no Indicates whether this reconciliation was created automatically by the system.
delete_on_unmatch boolean no no When true, deleting this reconciliation also deletes the linked document.
bank_entry_reconciled boolean no yes Whether the associated bank entry is fully reconciled after this operation.
document_status string no no Status of the reconciled document (e.g. EXPENSE_PAID, SALES_RECEIPT_OPEN). Returned for applicable types. Read-only.
cash_flow_status string no no Cash flow classification of the reconciled document. Returned for applicable types. Read-only.

JSON Example

{
  "id": 156,
  "bank_entry": { "id": 353, "label": "Walmart - Credit card payment" },
  "document_type": "bank_payment",
  "document": { "id": 8, "user_code": "EXP-008" },
  "document_date": "2024-03-10",
  "user_code": "EXP-008",
  "amount": 59.99,
  "budget_category": { "id": 5, "name": "Office supplies" },
  "secondary_budget_categories": [],
  "tax": { "id": 2, "name": "TVA 20%" },
  "secondary_taxes": [],
  "payee_type": "VENDOR",
  "payee": { "id": 3, "name": "Office Supplies Co.", "type": "VENDOR" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true,
  "document_status": "EXPENSE_PAID",
  "cash_flow_status": "OPERATING"
}

Auto-detection of Document Type

When document_type is omitted from a POST request, the type is inferred automatically from the bank entry amount and budget category type:

Bank Entry AmountBudget Category TypeInferred Type
Negative (debit)EXPENSE, INCOME, or UNCATEGORIZEDvendor_bill — creates a Vendor Bill
Positive (credit)EXPENSE, INCOME, or UNCATEGORIZEDsales_receipt — creates a Sales Receipt
Any non-zeroTRANSFERbank_transfer — creates a Bank Transfer

To reconcile with any other document type, document_type must be provided explicitly.

Reconcilable Document Types

The document_type determines which resource the document references and what specific fields are available. The document field contains either a full embedded object (for types that support inline creation) or a simple {id, user_code} reference to an existing document.

bank_payment

Reconciles a debit bank entry with an Expense (user_code: EXP-xxx). The expense can be an existing one (provide document.id) or created inline (provide a full Expense object in document).
Bank entry direction: negative (debit).

FieldValue
document_typebank_payment
documentFull Expense object (inline creation) or {id, user_code} to reference an existing one.
document_statusExpenseStatus of the linked expense.
cash_flow_statusCash flow classification of the expense.
{
  "id": 156,
  "bank_entry": { "id": 353, "label": "Walmart - Credit card payment" },
  "document_type": "bank_payment",
  "document": { "id": 8, "user_code": "EXP-008" },
  "document_date": "2024-03-10",
  "user_code": "EXP-008",
  "amount": 59.99,
  "budget_category": { "id": 5, "name": "Office supplies" },
  "secondary_budget_categories": [],
  "tax": { "id": 2, "name": "TVA 20%" },
  "secondary_taxes": [],
  "payee_type": "VENDOR",
  "payee": { "id": 3, "name": "Office Supplies Co.", "type": "VENDOR" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true,
  "document_status": "EXPENSE_PAID",
  "cash_flow_status": "OPERATING"
}

sales_receipt

Reconciles a credit bank entry with a Sales Receipt (user_code: REC-xxx). The sales receipt can be an existing one or created inline via the document field.
Bank entry direction: positive (credit).
Once reconciled, the sales receipt's bank_reconciled field is set to true.

FieldValue
document_typesales_receipt
documentFull Sales Receipt object (inline creation) or {id, user_code} to reference an existing one.
document_statusSalesReceiptStatus of the linked sales receipt.
cash_flow_statusCash flow classification of the sales receipt.
{
  "id": 157,
  "bank_entry": { "id": 355, "label": "ACME Corp - deposit" },
  "document_type": "sales_receipt",
  "document": { "id": 12, "user_code": "REC-012" },
  "document_date": "2024-03-15",
  "user_code": "REC-012",
  "amount": 120.00,
  "budget_category": { "id": 1, "name": "Services" },
  "secondary_budget_categories": [],
  "tax": { "id": 1, "name": "TVA 20%" },
  "secondary_taxes": [],
  "payee_type": "CUSTOMER",
  "payee": { "id": 5, "name": "ACME Corp", "type": "CUSTOMER" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true,
  "document_status": "SALES_RECEIPT_PAID",
  "cash_flow_status": "OPERATING"
}

bank_transfer

Reconciles a bank entry with a Bank Transfer (user_code: BTRF-xxx). The transfer can be an existing one or created inline via the document field.
Bank entry direction: positive or negative depending on which side of the transfer is being reconciled.
The payee field is automatically set to the counterpart bank account of the transfer.

FieldValue
document_typebank_transfer
documentFull Bank Transfer object (inline creation) or {id, user_code} to reference an existing one.
payeeThe counterpart bank account. Contains id, name, and type (BANK_ACCOUNT).
{
  "id": 158,
  "bank_entry": { "id": 357, "label": "Monthly reserve top-up" },
  "document_type": "bank_transfer",
  "document": { "id": 7, "user_code": "BTRF-007" },
  "document_date": "2024-03-15",
  "user_code": "BTRF-007",
  "amount": 5000.00,
  "budget_category": { "id": 3, "name": "Internal transfer" },
  "secondary_budget_categories": [],
  "tax": null,
  "secondary_taxes": [],
  "payee_type": "BANK_ACCOUNT",
  "payee": { "id": 2, "name": "Savings Reserve", "type": "BANK_ACCOUNT" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true
}

customer_payment

Reconciles a credit bank entry with a Payment on a customer invoice (user_code: IPAY-xxx). Reference an existing payment by document.id.
Bank entry direction: positive (credit).

FieldValue
document_typecustomer_payment
document{id, user_code} — id of the Payment to reconcile.
document_statusInvoice status of the payment's invoice.
cash_flow_statusCash flow classification.
document_private_noteOptional private note written back to the linked invoice. 10 000 characters max.
{
  "id": 159,
  "bank_entry": { "id": 353, "label": "Invoice payment from ACME" },
  "document_type": "customer_payment",
  "document": { "id": 25, "user_code": "IPAY-025" },
  "document_date": "2014-07-25",
  "user_code": "IPAY-025",
  "amount": 330.00,
  "budget_category": { "id": 10, "name": "Invoice payments" },
  "secondary_budget_categories": [],
  "tax": null,
  "secondary_taxes": [],
  "payee_type": "CUSTOMER",
  "payee": { "id": 14, "name": "ACME Corp", "type": "CUSTOMER" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true,
  "document_status": "INVOICE_PAID",
  "cash_flow_status": "OPERATING"
}

vendor_payment

Reconciles a debit bank entry with a Bill Payment on a vendor bill (user_code: BPAY-xxx). Reference an existing bill payment by document.id.
Bank entry direction: negative (debit).

FieldValue
document_typevendor_payment
document{id, user_code} — id of the Bill Payment to reconcile.
document_statusStatus of the vendor bill payment.
cash_flow_statusCash flow classification.
document_private_noteOptional private note written back to the linked vendor bill. 10 000 characters max.
{
  "id": 160,
  "bank_entry": { "id": 354, "label": "Walmart supplier payment" },
  "document_type": "vendor_payment",
  "document": { "id": 28, "user_code": "BPAY-028" },
  "document_date": "2014-08-11",
  "user_code": "BPAY-028",
  "amount": 99.00,
  "budget_category": { "id": 11, "name": "Bill payments" },
  "secondary_budget_categories": [],
  "tax": null,
  "secondary_taxes": [],
  "payee_type": "VENDOR",
  "payee": { "id": 18, "name": "Walmart", "type": "VENDOR" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true,
  "document_status": "VENDOR_BILL_PAID",
  "cash_flow_status": "OPERATING"
}

vendor_bill

Reconciles a debit bank entry with a Vendor Bill (user_code: VINV-xxx).
Bank entry direction: negative (debit).

Inline creation: omit document.id and provide a full Vendor Bill object in the document field. The vendor bill is created as part of the reconciliation and its source_type is automatically set to bank_entry.
Reference an existing vendor bill: provide {id, user_code} in the document field.

FieldValue
document_typevendor_bill
documentFull Vendor Bill object (inline creation) or {id, user_code} to reference an existing one.
document.source_typeSet automatically to bank_entry on inline creation. Read-only once set.
document_statusStatus of the vendor bill (e.g. VENDOR_BILL_PAID_IN_FULL).
cash_flow_statusCash flow classification of the vendor bill.

Example — inline creation (a new vendor bill with source_type: bank_entry is created and returned in the response):

{
  "id": 161,
  "bank_entry": { "id": 358, "label": "Office supply invoice" },
  "document_type": "vendor_bill",
  "document": {
    "id": 18,
    "user_code": "VINV-018",
    "source_type": "bank_entry",
    "vendor": { "id": 3, "name": "Office Supplies Co." },
    "date": "2024-03-01",
    "total_amount": 250.00,
    "category_lines": [
      { "budget_category": { "id": 5, "name": "Office supplies" }, "amount": 250.00 }
    ]
  },
  "document_date": "2024-03-01",
  "user_code": "VINV-018",
  "amount": 250.00,
  "budget_category": { "id": 5, "name": "Office supplies" },
  "secondary_budget_categories": [],
  "tax": { "id": 2, "name": "TVA 20%" },
  "secondary_taxes": [],
  "payee_type": "VENDOR",
  "payee": { "id": 3, "name": "Office Supplies Co.", "type": "VENDOR" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true,
  "document_status": "VENDOR_BILL_PAID_IN_FULL",
  "cash_flow_status": "PAID"
}

customer_invoice

Reconciles a credit bank entry directly with an Invoice. Reference an existing invoice by document.id.
Bank entry direction: positive (credit).

FieldValue
document_typecustomer_invoice
document{id, user_code} — id of the Invoice to reconcile.
{
  "id": 162,
  "bank_entry": { "id": 359, "label": "Customer invoice payment" },
  "document_type": "customer_invoice",
  "document": { "id": 14, "user_code": "INV-014" },
  "document_date": "2024-02-28",
  "user_code": "INV-014",
  "amount": 500.00,
  "budget_category": { "id": 10, "name": "Invoice payments" },
  "secondary_budget_categories": [],
  "tax": null,
  "secondary_taxes": [],
  "payee_type": "CUSTOMER",
  "payee": { "id": 5, "name": "ACME Corp", "type": "CUSTOMER" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true
}

credit_memo

Reconciles a debit bank entry with a Credit Memo (refund issued to a customer). Reference an existing credit memo by document.id.
Bank entry direction: negative (debit).

FieldValue
document_typecredit_memo
document{id, user_code} — id of the Credit Memo to reconcile.
document_statusStatus of the linked credit memo.
cash_flow_statusCash flow classification.
document_private_noteOptional private note written back to the linked credit memo. 10 000 characters max.
{
  "id": 163,
  "bank_entry": { "id": 360, "label": "Refund to customer" },
  "document_type": "credit_memo",
  "document": { "id": 10001, "user_code": "CN-10001" },
  "document_date": "2024-03-05",
  "user_code": "CN-10001",
  "amount": 99.00,
  "budget_category": { "id": 1, "name": "Services" },
  "secondary_budget_categories": [],
  "tax": null,
  "secondary_taxes": [],
  "payee_type": "CUSTOMER",
  "payee": { "id": 5, "name": "ACME Corp", "type": "CUSTOMER" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true,
  "document_status": "CREDIT_MEMO_PAID",
  "cash_flow_status": "OPERATING"
}

vendor_credit_memo

Reconciles a credit bank entry with a Vendor Credit Memo (refund received from a vendor). Reference an existing vendor credit memo by document.id.
Bank entry direction: positive (credit).

FieldValue
document_typevendor_credit_memo
document{id, user_code} — id of the Vendor Credit Memo to reconcile.
{
  "id": 164,
  "bank_entry": { "id": 361, "label": "Vendor refund" },
  "document_type": "vendor_credit_memo",
  "document": { "id": 10000, "user_code": "SCN-10000" },
  "document_date": "2024-03-12",
  "user_code": "SCN-10000",
  "amount": 2251.20,
  "budget_category": { "id": 11, "name": "Bill payments" },
  "secondary_budget_categories": [],
  "tax": null,
  "secondary_taxes": [],
  "payee_type": "VENDOR",
  "payee": { "id": 3, "name": "Office Supplies Co.", "type": "VENDOR" },
  "locked": false,
  "auto_reconciled": false,
  "delete_on_unmatch": false,
  "bank_entry_reconciled": true
}

bank_deposit

Reconciles a credit bank entry with a bank deposit. Reference an existing deposit by document.id.
Bank entry direction: positive (credit).

FieldValue
document_typebank_deposit
document{id, user_code} — id of the deposit to reconcile.

accounting_receipt

Reconciles a credit bank entry with an accounting receipt. Reference an existing accounting receipt by document.id.
Bank entry direction: positive (credit).

FieldValue
document_typeaccounting_receipt
document{id, user_code} — id of the accounting receipt to reconcile.

accounting_entry

Reconciles a bank entry with an Accounting Transaction entry. Reference an existing entry by document.id.

FieldValue
document_typeaccounting_entry
document{id, user_code} — id of the Accounting Transaction entry.

fixed_asset

Reconciles a debit bank entry with a fixed asset acquisition. Reference an existing fixed asset by document.id.
Bank entry direction: negative (debit).

FieldValue
document_typefixed_asset
document{id, user_code} — id of the fixed asset to reconcile.

cash_drawer_closing

Reconciles a bank entry with a cash drawer closing (cash deposit to bank account). Reference an existing cash drawer closing by document.id.

FieldValue
document_typecash_drawer_closing
document{id, user_code} — id of the cash drawer closing to reconcile.

Available Filter Fields

Field Name Description
id Filter by one or multiple ids (e.g. ?id=1,2,3).
bank_entry_id Filter by one or multiple bank entry ids (e.g. ?bank_entry_id=1,2,3).
document_id Filter by one or multiple document ids (e.g. ?document_id=1,2,3).
document_type Filter by one or multiple document types (e.g. ?document_type=bank_payment,sales_receipt).

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
DELETE Delete a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Payment Terms

Endpoint: https://api.oneup.com/v1/payment_terms

This API doesn't handle DELETE requests. Payment Terms are referred to by Customers, Vendors and documents, so they cannot be removed through the API.

JSON Format

Payment Terms are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned
name string yes on creation no The Payment Term Name. 64 characters max.
lines array[Payment Term Line] yes on creation no An array containing the installments of the Payment Term.
A Payment Term needs at least one installment, and the percentages of its installments must add up to 100.

Updating the installments

On a PUT request, lines is optional and behaves as follows:

  • Leave lines out and the schedule is left untouched, so you can rename a Payment Term on its own.
  • Send lines and it becomes the whole schedule. An installment sent with its id is updated, one sent without an id is created, and any installment of the Payment Term missing from the array is removed.

An id sent in lines has to be the id of an installment of that very Payment Term.

JSON Example

{
  "id": 4,
  "name": "In two installments",
  "lines": [
    {
      "id": 11,
      "percentage": 50.0,
      "days": 0,
      "x_day": 0,
      "precision": "due_on_receipt",
      "payment_method": "wire_transfer"
    },
    {
      "id": 12,
      "percentage": 50.0,
      "days": 30,
      "x_day": 0,
      "precision": "due_on_receipt",
      "payment_method": "check"
    }
  ]
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
PUT Update a resource, you have to specify an id
POST Create a resource
GET Retrieve the list of resources

Taxes

Endpoint: https://api.oneup.com/v1/taxes

This API is read only.

JSON Format

Taxes are represented as JSON objects which have the following keys:

Field Name Type Description
id integer Automatically assigned
name string The Tax Name. 128 characters max.
rate double The Tax Rate

JSON Example

{
  "id": 5,
  "name": "10% Federal Tax",
  "rate": 10.00
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
GET Retrieve the list of resources

Currencies

Endpoint: https://api.oneup.com/v1/currencies

This API is read only.

JSON Format

Currencies are represented as JSON objects which have the following keys:

Field Name Type Description
id integer Automatically assigned
iso_code string The ISO code of the currency (ISO 4217). 4 characters max.
name string The Currency Name. 64 characters max.
is_main_currency boolean Is this currency the main accounting for this domain

JSON Example

{
  "id": 133,
  "iso_code": "USD",
  "name": "U.S. Dollar",
  "is_main_currency": true
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
GET Retrieve the list of resources

Units

Endpoint: https://api.oneup.com/v1/units

This API is read only.

JSON Format

Units are represented as JSON objects which have the following keys:

Field Name Type Description
id integer Automatically assigned
name string The Unit Name. 64 characters max.
type integer Describe the kind of unit
1: Piece
2: Weight
3: Dimension
4: Surface
5: Volume
6: Time

JSON Example

{
  "id": 8,
  "name": "Day",
  "type": 6
}

Available Methods

HTTP Verb Action
GET Retrieve a resource, you have to specify an id
GET Retrieve the list of resources

Address

In OneUp, addresses are used at several places. Accounts, Suppliers, Contacts... So, in the API, addresses are embeded into their own JSON format, and follow the same rules everywhere.

JSON Format

Addresses are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
street_line1 string no no First line of the address. 255 characters max.
street_line2 string no no Second line of the address. 255 characters max.
street_line3 string no no Third line of the address. 255 characters max.
postal_code string no no The zip code of the address. 128 characters max.
city string no no The city of the address. 128 characters max.
country string no no The country of the address. 128 characters max.
locality string no no The localisaton of the address (limited to the one from the country selected). 255 characters max.
short_locality string no yes The short code for the Country. 10 characters max.
full_address string no yes The full formated adress as it should appears on documents

JSON Example

{
  "street_line1": "567  Sutter St.",
  "street_line2": "",
  "street_line3": "",
  "postal_code": "94102",
  "city": "San Francisco",
  "country": "United States",
  "locality": "California",
  "short_locality": "CA",
  "full_address": "567  Sutter St. San Francisco CA 94102 United States"
}

Contact

JSON Format

Contacts are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned
first_name string no no The First Name of the contact. 255 characters max.
last_name string yes no The Last Name of the contact. 255 characters max.
full_name string no yes The full name of this contact
cell_phone string no no The Cell phone of this contact. 128 characters max.
work_phone string no no The Work phone of this contact. 128 characters max.
home_phone string no no The Home phone of this contact. 128 characters max.
email string no no The Email address of this contact. 255 characters max.
address Address no no The address of this contact
note string no no A note about this contact

JSON Example

{
  "id": 48,
  "first_name": "François",
  "last_name": "Nadal",
  "full_name": "François Nadal",
  "cell_phone": "(415) 555-1234",
  "work_phone": "(415) 555-5678",
  "home_phone": "(415) 555-0000",
  "email": "francois.nadal@oneup.com",
  "address": {
    "street_line1": "21 Backer street",
    "street_line2": "Building D",
    "street_line3": "Fifth Floor",
    "postal_code": "94109",
    "city": "San Francisco",
    "country": "USA",
    "locality": "California",
    "short_locality": "CA",
    "full_address": "21 Backer street Building D Fifth Floor San Francisco CA 94109 USA"
  },
  "note": "A contact that worth to know.\nLike to surf."
}

Order Line

Order lines are product or service lines that are embeded within sales or purchases documents. They contain infos like price, quantity, description, etc...
While adding, removing or updating an order line, related values (such as total, tax amount...) on the contextual document will be updated accordingly.

JSON Format

Order lines are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned
item_id DEPRECATED integer yes for sales documents, no for purchase documents no Deprecated. See item.
Id of the ordered Product or Service.
item object yes for sales documents, no for purchase documents no The ordered Product or Service. Send at least its id to set it; the full object is returned when reading.
For purchase documents, at least one of item, accounting_account or budget_category is required. Not editable once the line has been created.
accounting_account_id integer no no Only for purchase documents. Id of the ordered Accounting Account. Alternative to accounting_account.
accounting_account Account no no Only for purchase documents. The ordered Accounting Account. Send at least its id to set it; the full object is returned when reading. Alternative to accounting_account_id.
For purchase documents, at least one of item, accounting_account or budget_category is required. Not editable once the line has been created.
budget_category object no no Only for purchase documents. The ordered Budget Category. Contains id and name. Send at least its id to set it.
For purchase documents, at least one of item, accounting_account or budget_category is required. Not editable once the line has been created.
description string no no A description of the ordered Product or Service.
Default: The Product or Service default description
quantity double no no The ordered quantity.
Default: 1.00
unit_price_wt double no no Unit Price before Taxes
Default: The Product or Service default sales price
discount_rate double no no Discount rate for this line.
Default: 0.00
tax_id DEPRECATED integer no no Deprecated. See tax.
Not available for US purchase documents.
Id of the Tax to apply.
tax Tax no no Not available for US purchase documents.
The Tax to apply. Send at least its id to set it; the full object (id, name, rate, enabled, exempted) is returned when reading. Alternative to tax_id.
is_taxable boolean no no US sales documents only.
Shall the tax be applied ?
subtotal double no yes Total before taxes, after discount.
discount_amount double no yes The amount deducted by the discount.
tax_amount double no yes The tax amount applied to this line.
total double no yes Total including taxes.

JSON Example

{
  "id": 56,
  "item_id": 130,
  "item": {
    "id": 130,
    "type": 2,
    "name": "Red Wine - high quality",
    "unit_id": 2,
    "sales_price": 49.99
  },
  "description": "Red Wine - high quality",
  "quantity": 12.0,
  "unit_price_wt": 49.99,
  "discount_rate": 5.0,
  "tax_id": 2,
  "tax": {
    "id": 2,
    "name": "VAT",
    "rate": 10.0,
    "enabled": true,
    "exempted": false
  },
  "is_taxable": true,
  "subtotal": 569.89,
  "discount_amount": 29.99,
  "tax_amount": 56.99,
  "total": 626.88
}

Payment Term Line

Payment term lines are the installments of a Payment Term: which share of a document is due, and when. A Payment Term needs at least one of them, and their percentages must add up to 100.

JSON Format

Payment term lines are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no no Automatically assigned.
Send it back to update an existing installment, leave it out to create a new one.
percentage double yes no The share (%) of the document due on that installment. Greater than 0 and up to 100.
days integer no no The number of days between the document and that installment.
Default: 0
precision string no no How the due date is worked out, once the days above have been counted:
due_on_receipt: that very day
x_days_before_end_of_month: x days before the end of that month
x_days_after_start_of_month: x days after the start of that month
x_days_before_end_of_next_month: x days before the end of the following month
x_days_after_start_of_next_month: x days after the start of the following month
Default: due_on_receipt
x_day integer no no The x of the precision above. Ignored when the precision is due_on_receipt.
Default: 0
payment_method string no no How that installment is expected to be paid:
check, debit_credit_card, cash, direct_debit_ach, wire_transfer, gift_certificate, credit_note, other
France only: tip, traite, meal_ticket, change_letter, billet_ordre
Default: check

JSON Example

{
  "id": 12,
  "percentage": 50.0,
  "days": 30,
  "x_day": 0,
  "precision": "due_on_receipt",
  "payment_method": "check"
}

Category Line

Category lines are embedded within Sales Receipts and Expenses. They split the total amount of a document across accounting accounts and budget categories, each optionally carrying a tax.
While adding, removing or updating a category line, the parent document's total_amount is updated accordingly.

JSON Format

Category lines are represented as JSON objects which have the following keys:

Field Name Type Mandatory Read-only Description
id integer no yes Automatically assigned.
total_amount double yes no Line total including tax. The sum of all lines must be strictly positive.
sub_total_amount double no no Line total excluding tax.
tax_amount double no no Tax amount for this line.
price_mode string no no Determines which amount field is authoritative when computing the tax breakdown. Values: withTaxes (uses total_amount), withoutTaxes (uses sub_total_amount).
tax object no no The Tax to apply on this line. Contains id, name, and rate.
accounting_account object no no The Accounting Account to assign this line to. Contains id, name, and number.
budget_category object no no The budget category to assign this line to. Contains id and name.
notes string no no A description for this line. 255 characters max.

Snippet

A Snippet is a generic type that encapsulates an object and aggregates common information.

JSON Format

Snippets are represented as JSON objects which have the following keys:

Field Name Type Description
id integer The id of the encapsulated object
name string The name of the encapsulated object
user_code string The user_code of the encapsulated object

JSON Example

{
  "id": 10001,
  "name": "Employee David",
  "user_code": "EMP-001"
}

Domain

Endpoint: https://api.oneup.com/v1/domains

X-API-Authorization header required cf the following section.

This endpoint will delete your account and cancel your subscription.

Deleting your domain is a definitive action that cannot be undone. Be advised that all users will no longer be able to use the application nor access datas through the api.

Options as body json

The following options are available for that endpoint:

Option Name Type Description
provider string The provider associated with the account to delete (mandatory).
account_id integer Id of the account that will be deleted (mandatory).
reason string The reason why the domain is deleted (mandatory).
additionalInfo string More information about the reason of the deletion.

JSON Example

This enpoint will return the domain unique id after a successful deletion:

{
  "id": 17
}

Available Methods

HTTP Verb Action
DELETE Delete a resource