(accounting.invoices)
- list - List Invoices
- create - Create Invoice
- get - Get Invoice
- update - Update Invoice
- delete - Delete Invoice
List Invoices
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.accounting.invoices.list({
serviceId: "salesforce",
filter: {
updatedSince: new Date("2020-09-30T07:43:32.000Z"),
createdSince: new Date("2020-09-30T07:43:32.000Z"),
number: "OIT00546",
},
sort: {
by: "updated_at",
},
passThrough: {
"search": "San Francisco",
},
fields: "id,updated_at",
});
for await (const page of result) {
// Handle the page
console.log(page);
}
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { accountingInvoicesList } from "@apideck/unify/funcs/accountingInvoicesList.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await accountingInvoicesList(apideck, {
serviceId: "salesforce",
filter: {
updatedSince: new Date("2020-09-30T07:43:32.000Z"),
createdSince: new Date("2020-09-30T07:43:32.000Z"),
number: "OIT00546",
},
sort: {
by: "updated_at",
},
passThrough: {
"search": "San Francisco",
},
fields: "id,updated_at",
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
for await (const page of result) {
// Handle the page
console.log(page);
}
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.AccountingInvoicesAllRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.AccountingInvoicesAllResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Create Invoice
import { Apideck } from "@apideck/unify";
import { RFCDate } from "@apideck/unify/types";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.accounting.invoices.create({
serviceId: "salesforce",
invoice: {
type: "service",
number: "OIT00546",
customer: {
id: "12345",
displayName: "Windsurf Shop",
email: "[email protected]",
},
companyId: "12345",
invoiceDate: new RFCDate("2020-09-30"),
dueDate: new RFCDate("2020-09-30"),
terms: "Net 30 days",
poNumber: "90000117",
reference: "123456",
status: "draft",
invoiceSent: true,
currency: "USD",
currencyRate: 0.69,
taxInclusive: true,
subTotal: 27500,
totalTax: 2500,
taxCode: "1234",
discountPercentage: 5.5,
discountAmount: 25,
total: 27500,
balance: 27500,
deposit: 0,
customerMemo: "Thank you for your business and have a great day!",
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
lineItems: [
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: "Uses Salesforce and Marketo",
},
],
rowVersion: "1-12345",
},
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: "Uses Salesforce and Marketo",
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: 10,
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: "Uses Salesforce and Marketo",
},
],
rowVersion: "1-12345",
},
],
billingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
shippingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
templateId: "123456",
sourceDocumentUrl: "https://www.invoicesolution.com/invoice/123456",
paymentMethod: "cash",
channel: "email",
language: "EN",
accountingByRow: false,
bankAccount: {
bankName: "Monzo",
accountNumber: "123465",
accountName: "SPACEX LLC",
accountType: "credit_card",
iban: "CH2989144532982975332",
bic: "AUDSCHGGXXX",
routingNumber: "012345678",
bsbNumber: "062-001",
branchIdentifier: "001",
bankCode: "BNH",
currency: "USD",
},
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: [
"<value>",
"<value>",
],
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: [
"<value>",
"<value>",
"<value>",
],
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: true,
},
],
rowVersion: "1-12345",
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { accountingInvoicesCreate } from "@apideck/unify/funcs/accountingInvoicesCreate.js";
import { RFCDate } from "@apideck/unify/types";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await accountingInvoicesCreate(apideck, {
serviceId: "salesforce",
invoice: {
type: "service",
number: "OIT00546",
customer: {
id: "12345",
displayName: "Windsurf Shop",
email: "[email protected]",
},
companyId: "12345",
invoiceDate: new RFCDate("2020-09-30"),
dueDate: new RFCDate("2020-09-30"),
terms: "Net 30 days",
poNumber: "90000117",
reference: "123456",
status: "draft",
invoiceSent: true,
currency: "USD",
currencyRate: 0.69,
taxInclusive: true,
subTotal: 27500,
totalTax: 2500,
taxCode: "1234",
discountPercentage: 5.5,
discountAmount: 25,
total: 27500,
balance: 27500,
deposit: 0,
customerMemo: "Thank you for your business and have a great day!",
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
lineItems: [
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: "Uses Salesforce and Marketo",
},
],
rowVersion: "1-12345",
},
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: "Uses Salesforce and Marketo",
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: 10,
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: "Uses Salesforce and Marketo",
},
],
rowVersion: "1-12345",
},
],
billingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
shippingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
templateId: "123456",
sourceDocumentUrl: "https://www.invoicesolution.com/invoice/123456",
paymentMethod: "cash",
channel: "email",
language: "EN",
accountingByRow: false,
bankAccount: {
bankName: "Monzo",
accountNumber: "123465",
accountName: "SPACEX LLC",
accountType: "credit_card",
iban: "CH2989144532982975332",
bic: "AUDSCHGGXXX",
routingNumber: "012345678",
bsbNumber: "062-001",
branchIdentifier: "001",
bankCode: "BNH",
currency: "USD",
},
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: [
"<value>",
"<value>",
],
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: [
"<value>",
"<value>",
"<value>",
],
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: true,
},
],
rowVersion: "1-12345",
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.AccountingInvoicesAddRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.AccountingInvoicesAddResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Get Invoice
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.accounting.invoices.get({
id: "<id>",
serviceId: "salesforce",
fields: "id,updated_at",
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { accountingInvoicesGet } from "@apideck/unify/funcs/accountingInvoicesGet.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await accountingInvoicesGet(apideck, {
id: "<id>",
serviceId: "salesforce",
fields: "id,updated_at",
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.AccountingInvoicesOneRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.AccountingInvoicesOneResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Update Invoice
import { Apideck } from "@apideck/unify";
import { RFCDate } from "@apideck/unify/types";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.accounting.invoices.update({
id: "<id>",
serviceId: "salesforce",
invoice: {
type: "service",
number: "OIT00546",
customer: {
id: "12345",
displayName: "Windsurf Shop",
email: "[email protected]",
},
companyId: "12345",
invoiceDate: new RFCDate("2020-09-30"),
dueDate: new RFCDate("2020-09-30"),
terms: "Net 30 days",
poNumber: "90000117",
reference: "123456",
status: "draft",
invoiceSent: true,
currency: "USD",
currencyRate: 0.69,
taxInclusive: true,
subTotal: 27500,
totalTax: 2500,
taxCode: "1234",
discountPercentage: 5.5,
discountAmount: 25,
total: 27500,
balance: 27500,
deposit: 0,
customerMemo: "Thank you for your business and have a great day!",
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
lineItems: [
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: {},
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: true,
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: {},
},
],
rowVersion: "1-12345",
},
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: 10,
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: 10,
},
],
rowVersion: "1-12345",
},
],
billingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
shippingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
templateId: "123456",
sourceDocumentUrl: "https://www.invoicesolution.com/invoice/123456",
paymentMethod: "cash",
channel: "email",
language: "EN",
accountingByRow: false,
bankAccount: {
bankName: "Monzo",
accountNumber: "123465",
accountName: "SPACEX LLC",
accountType: "credit_card",
iban: "CH2989144532982975332",
bic: "AUDSCHGGXXX",
routingNumber: "012345678",
bsbNumber: "062-001",
branchIdentifier: "001",
bankCode: "BNH",
currency: "USD",
},
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: [
"<value>",
"<value>",
"<value>",
],
},
],
rowVersion: "1-12345",
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { accountingInvoicesUpdate } from "@apideck/unify/funcs/accountingInvoicesUpdate.js";
import { RFCDate } from "@apideck/unify/types";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await accountingInvoicesUpdate(apideck, {
id: "<id>",
serviceId: "salesforce",
invoice: {
type: "service",
number: "OIT00546",
customer: {
id: "12345",
displayName: "Windsurf Shop",
email: "[email protected]",
},
companyId: "12345",
invoiceDate: new RFCDate("2020-09-30"),
dueDate: new RFCDate("2020-09-30"),
terms: "Net 30 days",
poNumber: "90000117",
reference: "123456",
status: "draft",
invoiceSent: true,
currency: "USD",
currencyRate: 0.69,
taxInclusive: true,
subTotal: 27500,
totalTax: 2500,
taxCode: "1234",
discountPercentage: 5.5,
discountAmount: 25,
total: 27500,
balance: 27500,
deposit: 0,
customerMemo: "Thank you for your business and have a great day!",
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
lineItems: [
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: {},
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: true,
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: {},
},
],
rowVersion: "1-12345",
},
{
id: "12345",
rowId: "12345",
code: "120-C",
lineNumber: 1,
description: "Model Y is a fully electric, mid-size SUV, with seating for up to seven, dual motor AWD and unparalleled protection.",
type: "sales_item",
taxAmount: 27500,
totalAmount: 27500,
quantity: 1,
unitPrice: 27500.5,
unitOfMeasure: "pc.",
discountPercentage: 0.01,
discountAmount: 19.99,
locationId: "1234",
departmentId: "1234",
item: {
id: "12344",
code: "120-C",
name: "Model Y",
},
taxRate: {
id: "123456",
rate: 10,
},
trackingCategories: [
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
{
id: "123456",
name: "New York",
},
],
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: 10,
},
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: 10,
},
],
rowVersion: "1-12345",
},
],
billingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
shippingAddress: {
id: "123",
type: "primary",
string: "25 Spring Street, Blackburn, VIC 3130",
name: "HQ US",
line1: "Main street",
line2: "apt #",
line3: "Suite #",
line4: "delivery instructions",
streetNumber: "25",
city: "San Francisco",
state: "CA",
postalCode: "94104",
country: "US",
latitude: "40.759211",
longitude: "-73.984638",
county: "Santa Clara",
contactName: "Elon Musk",
salutation: "Mr",
phoneNumber: "111-111-1111",
fax: "122-111-1111",
email: "[email protected]",
website: "https://elonmusk.com",
notes: "Address notes or delivery instructions.",
rowVersion: "1-12345",
},
templateId: "123456",
sourceDocumentUrl: "https://www.invoicesolution.com/invoice/123456",
paymentMethod: "cash",
channel: "email",
language: "EN",
accountingByRow: false,
bankAccount: {
bankName: "Monzo",
accountNumber: "123465",
accountName: "SPACEX LLC",
accountType: "credit_card",
iban: "CH2989144532982975332",
bic: "AUDSCHGGXXX",
routingNumber: "012345678",
bsbNumber: "062-001",
branchIdentifier: "001",
bankCode: "BNH",
currency: "USD",
},
ledgerAccount: {
id: "123456",
nominalCode: "N091",
code: "453",
},
customFields: [
{
id: "2389328923893298",
name: "employee_level",
description: "Employee Level",
value: [
"<value>",
"<value>",
"<value>",
],
},
],
rowVersion: "1-12345",
passThrough: [
{
serviceId: "<id>",
extendPaths: [
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
{
path: "$.nested.property",
value: {
"TaxClassificationRef": {
"value": "EUC-99990201-V1-00020000",
},
},
},
],
},
],
},
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.AccountingInvoicesUpdateRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.AccountingInvoicesUpdateResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |
Delete Invoice
import { Apideck } from "@apideck/unify";
const apideck = new Apideck({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const result = await apideck.accounting.invoices.delete({
id: "<id>",
serviceId: "salesforce",
});
// Handle the result
console.log(result);
}
run();
The standalone function version of this method:
import { ApideckCore } from "@apideck/unify/core.js";
import { accountingInvoicesDelete } from "@apideck/unify/funcs/accountingInvoicesDelete.js";
// Use `ApideckCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const apideck = new ApideckCore({
apiKey: process.env["APIDECK_API_KEY"] ?? "",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX",
});
async function run() {
const res = await accountingInvoicesDelete(apideck, {
id: "<id>",
serviceId: "salesforce",
});
if (!res.ok) {
throw res.error;
}
const { value: result } = res;
// Handle the result
console.log(result);
}
run();
Parameter | Type | Required | Description |
---|---|---|---|
request |
operations.AccountingInvoicesDeleteRequest | ✔️ | The request object to use for the request. |
options |
RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions |
RequestInit | ➖ | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body , are allowed. |
options.retries |
RetryConfig | ➖ | Enables retrying HTTP requests under certain failure conditions. |
Promise<operations.AccountingInvoicesDeleteResponse>
Error Type | Status Code | Content Type |
---|---|---|
errors.BadRequestResponse | 400 | application/json |
errors.UnauthorizedResponse | 401 | application/json |
errors.PaymentRequiredResponse | 402 | application/json |
errors.NotFoundResponse | 404 | application/json |
errors.UnprocessableResponse | 422 | application/json |
errors.APIError | 4XX, 5XX | */* |