(Accounting.CreditNotes)
- List - List Credit Notes
- Create - Create Credit Note
- Get - Get Credit Note
- Update - Update Credit Note
- Delete - Delete Credit Note
List Credit Notes
using ApideckUnifySdk;
using ApideckUnifySdk.Models.Components;
using ApideckUnifySdk.Models.Requests;
using System;
using System.Collections.Generic;
var sdk = new Apideck(
apiKey: "<YOUR_BEARER_TOKEN_HERE>",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"
);
AccountingCreditNotesAllRequest req = new AccountingCreditNotesAllRequest() {
ServiceId = "salesforce",
Filter = new CreditNotesFilter() {
UpdatedSince = System.DateTime.Parse("2020-09-30T07:43:32.000Z"),
},
Sort = new CreditNotesSort() {
By = CreditNotesSortBy.UpdatedAt,
Direction = SortDirection.Desc,
},
PassThrough = new Dictionary<string, object>() {
{ "search", "San Francisco" },
},
Fields = "id,updated_at",
};
AccountingCreditNotesAllResponse? res = await sdk.Accounting.CreditNotes.ListAsync(req);
while(res != null)
{
// handle items
res = await res.Next!();
}
Parameter | Type | Required | Description |
---|---|---|---|
request |
AccountingCreditNotesAllRequest | ✔️ | The request object to use for the request. |
AccountingCreditNotesAllResponse
Error Type | Status Code | Content Type |
---|---|---|
ApideckUnifySdk.Models.Errors.BadRequestResponse | 400 | application/json |
ApideckUnifySdk.Models.Errors.UnauthorizedResponse | 401 | application/json |
ApideckUnifySdk.Models.Errors.PaymentRequiredResponse | 402 | application/json |
ApideckUnifySdk.Models.Errors.NotFoundResponse | 404 | application/json |
ApideckUnifySdk.Models.Errors.UnprocessableResponse | 422 | application/json |
ApideckUnifySdk.Models.Errors.APIException | 4XX, 5XX | */* |
Create Credit Note
using ApideckUnifySdk;
using ApideckUnifySdk.Models.Components;
using ApideckUnifySdk.Models.Requests;
using System;
using System.Collections.Generic;
var sdk = new Apideck(
apiKey: "<YOUR_BEARER_TOKEN_HERE>",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"
);
AccountingCreditNotesAddRequest req = new AccountingCreditNotesAddRequest() {
CreditNote = new CreditNoteInput() {
Number = "OIT00546",
Customer = new LinkedCustomerInput() {
Id = "12345",
DisplayName = "Windsurf Shop",
Email = "boring@boring.com",
},
CompanyId = "12345",
Currency = Currency.Usd,
CurrencyRate = 0.69D,
TaxInclusive = true,
SubTotal = 27500D,
TotalAmount = 49.99D,
TotalTax = 2500D,
TaxCode = "1234",
Balance = 27500D,
RemainingCredit = 27500D,
Status = CreditNoteStatus.Authorised,
Reference = "123456",
DateIssued = System.DateTime.Parse("2021-05-01T12:00:00.000Z"),
DatePaid = System.DateTime.Parse("2021-05-01T12:00:00.000Z"),
Type = CreditNoteType.AccountsReceivableCredit,
Account = new LinkedLedgerAccountInput() {
Id = "123456",
NominalCode = "N091",
Code = "453",
},
LineItems = new List<InvoiceLineItemInput>() {
new InvoiceLineItemInput() {
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 = InvoiceLineItemType.SalesItem,
TaxAmount = 27500D,
TotalAmount = 27500D,
Quantity = 1D,
UnitPrice = 27500.5D,
UnitOfMeasure = "pc.",
DiscountPercentage = 0.01D,
DiscountAmount = 19.99D,
LocationId = "1234",
DepartmentId = "1234",
Item = new LinkedInvoiceItem() {
Id = "12344",
Code = "120-C",
Name = "Model Y",
},
TaxRate = new LinkedTaxRateInput() {
Id = "123456",
Rate = 10D,
},
TrackingCategories = new List<LinkedTrackingCategory>() {
new LinkedTrackingCategory() {
Id = "123456",
Name = "New York",
},
},
LedgerAccount = new LinkedLedgerAccountInput() {
Id = "123456",
NominalCode = "N091",
Code = "453",
},
CustomFields = new List<CustomField>() {
new CustomField() {
Id = "2389328923893298",
Name = "employee_level",
Description = "Employee Level",
Value = Value.CreateBoolean(
true
),
},
},
RowVersion = "1-12345",
},
},
Allocations = new List<AllocationInput>() {
new AllocationInput() {
Id = "123456",
Amount = 49.99D,
AllocationId = "123456",
},
},
Note = "Some notes about this credit note",
Terms = "Some terms about this credit note",
BillingAddress = new Address() {
Id = "123",
Type = ApideckUnifySdk.Models.Components.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 = "elon@musk.com",
Website = "https://elonmusk.com",
Notes = "Address notes or delivery instructions.",
RowVersion = "1-12345",
},
ShippingAddress = new Address() {
Id = "123",
Type = ApideckUnifySdk.Models.Components.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 = "elon@musk.com",
Website = "https://elonmusk.com",
Notes = "Address notes or delivery instructions.",
RowVersion = "1-12345",
},
TrackingCategories = new List<LinkedTrackingCategory>() {
new LinkedTrackingCategory() {
Id = "123456",
Name = "New York",
},
},
CustomFields = new List<CustomField>() {
new CustomField() {
Id = "2389328923893298",
Name = "employee_level",
Description = "Employee Level",
Value = Value.CreateFour(
new Four() {}
),
},
},
RowVersion = "1-12345",
PassThrough = new List<PassThroughBody>() {
new PassThroughBody() {
ServiceId = "<id>",
ExtendPaths = new List<ExtendPaths>() {
new ExtendPaths() {
Path = "$.nested.property",
Value = new Dictionary<string, object>() {
{ "TaxClassificationRef", new Dictionary<string, object>() {
{ "value", "EUC-99990201-V1-00020000" },
} },
},
},
},
},
},
},
ServiceId = "salesforce",
};
var res = await sdk.Accounting.CreditNotes.CreateAsync(req);
// handle response
Parameter | Type | Required | Description |
---|---|---|---|
request |
AccountingCreditNotesAddRequest | ✔️ | The request object to use for the request. |
AccountingCreditNotesAddResponse
Error Type | Status Code | Content Type |
---|---|---|
ApideckUnifySdk.Models.Errors.BadRequestResponse | 400 | application/json |
ApideckUnifySdk.Models.Errors.UnauthorizedResponse | 401 | application/json |
ApideckUnifySdk.Models.Errors.PaymentRequiredResponse | 402 | application/json |
ApideckUnifySdk.Models.Errors.NotFoundResponse | 404 | application/json |
ApideckUnifySdk.Models.Errors.UnprocessableResponse | 422 | application/json |
ApideckUnifySdk.Models.Errors.APIException | 4XX, 5XX | */* |
Get Credit Note
using ApideckUnifySdk;
using ApideckUnifySdk.Models.Components;
using ApideckUnifySdk.Models.Requests;
var sdk = new Apideck(
apiKey: "<YOUR_BEARER_TOKEN_HERE>",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"
);
AccountingCreditNotesOneRequest req = new AccountingCreditNotesOneRequest() {
Id = "<id>",
ServiceId = "salesforce",
Fields = "id,updated_at",
};
var res = await sdk.Accounting.CreditNotes.GetAsync(req);
// handle response
Parameter | Type | Required | Description |
---|---|---|---|
request |
AccountingCreditNotesOneRequest | ✔️ | The request object to use for the request. |
AccountingCreditNotesOneResponse
Error Type | Status Code | Content Type |
---|---|---|
ApideckUnifySdk.Models.Errors.BadRequestResponse | 400 | application/json |
ApideckUnifySdk.Models.Errors.UnauthorizedResponse | 401 | application/json |
ApideckUnifySdk.Models.Errors.PaymentRequiredResponse | 402 | application/json |
ApideckUnifySdk.Models.Errors.NotFoundResponse | 404 | application/json |
ApideckUnifySdk.Models.Errors.UnprocessableResponse | 422 | application/json |
ApideckUnifySdk.Models.Errors.APIException | 4XX, 5XX | */* |
Update Credit Note
using ApideckUnifySdk;
using ApideckUnifySdk.Models.Components;
using ApideckUnifySdk.Models.Requests;
using System;
using System.Collections.Generic;
var sdk = new Apideck(
apiKey: "<YOUR_BEARER_TOKEN_HERE>",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"
);
AccountingCreditNotesUpdateRequest req = new AccountingCreditNotesUpdateRequest() {
Id = "<id>",
CreditNote = new CreditNoteInput() {
Number = "OIT00546",
Customer = new LinkedCustomerInput() {
Id = "12345",
DisplayName = "Windsurf Shop",
Email = "boring@boring.com",
},
CompanyId = "12345",
Currency = Currency.Usd,
CurrencyRate = 0.69D,
TaxInclusive = true,
SubTotal = 27500D,
TotalAmount = 49.99D,
TotalTax = 2500D,
TaxCode = "1234",
Balance = 27500D,
RemainingCredit = 27500D,
Status = CreditNoteStatus.Authorised,
Reference = "123456",
DateIssued = System.DateTime.Parse("2021-05-01T12:00:00.000Z"),
DatePaid = System.DateTime.Parse("2021-05-01T12:00:00.000Z"),
Type = CreditNoteType.AccountsReceivableCredit,
Account = new LinkedLedgerAccountInput() {
Id = "123456",
NominalCode = "N091",
Code = "453",
},
LineItems = new List<InvoiceLineItemInput>() {
new InvoiceLineItemInput() {
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 = InvoiceLineItemType.SalesItem,
TaxAmount = 27500D,
TotalAmount = 27500D,
Quantity = 1D,
UnitPrice = 27500.5D,
UnitOfMeasure = "pc.",
DiscountPercentage = 0.01D,
DiscountAmount = 19.99D,
LocationId = "1234",
DepartmentId = "1234",
Item = new LinkedInvoiceItem() {
Id = "12344",
Code = "120-C",
Name = "Model Y",
},
TaxRate = new LinkedTaxRateInput() {
Id = "123456",
Rate = 10D,
},
TrackingCategories = new List<LinkedTrackingCategory>() {
new LinkedTrackingCategory() {
Id = "123456",
Name = "New York",
},
},
LedgerAccount = new LinkedLedgerAccountInput() {
Id = "123456",
NominalCode = "N091",
Code = "453",
},
CustomFields = new List<CustomField>() {
new CustomField() {
Id = "2389328923893298",
Name = "employee_level",
Description = "Employee Level",
Value = Value.CreateArrayOf6(
new List<Six>() {
new Six() {},
}
),
},
},
RowVersion = "1-12345",
},
},
Allocations = new List<AllocationInput>() {
new AllocationInput() {
Id = "123456",
Amount = 49.99D,
AllocationId = "123456",
},
},
Note = "Some notes about this credit note",
Terms = "Some terms about this credit note",
BillingAddress = new Address() {
Id = "123",
Type = ApideckUnifySdk.Models.Components.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 = "elon@musk.com",
Website = "https://elonmusk.com",
Notes = "Address notes or delivery instructions.",
RowVersion = "1-12345",
},
ShippingAddress = new Address() {
Id = "123",
Type = ApideckUnifySdk.Models.Components.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 = "elon@musk.com",
Website = "https://elonmusk.com",
Notes = "Address notes or delivery instructions.",
RowVersion = "1-12345",
},
TrackingCategories = new List<LinkedTrackingCategory>() {
new LinkedTrackingCategory() {
Id = "123456",
Name = "New York",
},
},
CustomFields = new List<CustomField>() {
new CustomField() {
Id = "2389328923893298",
Name = "employee_level",
Description = "Employee Level",
Value = Value.CreateFour(
new Four() {}
),
},
},
RowVersion = "1-12345",
PassThrough = new List<PassThroughBody>() {
new PassThroughBody() {
ServiceId = "<id>",
ExtendPaths = new List<ExtendPaths>() {
new ExtendPaths() {
Path = "$.nested.property",
Value = new Dictionary<string, object>() {
{ "TaxClassificationRef", new Dictionary<string, object>() {
{ "value", "EUC-99990201-V1-00020000" },
} },
},
},
},
},
},
},
ServiceId = "salesforce",
};
var res = await sdk.Accounting.CreditNotes.UpdateAsync(req);
// handle response
Parameter | Type | Required | Description |
---|---|---|---|
request |
AccountingCreditNotesUpdateRequest | ✔️ | The request object to use for the request. |
AccountingCreditNotesUpdateResponse
Error Type | Status Code | Content Type |
---|---|---|
ApideckUnifySdk.Models.Errors.BadRequestResponse | 400 | application/json |
ApideckUnifySdk.Models.Errors.UnauthorizedResponse | 401 | application/json |
ApideckUnifySdk.Models.Errors.PaymentRequiredResponse | 402 | application/json |
ApideckUnifySdk.Models.Errors.NotFoundResponse | 404 | application/json |
ApideckUnifySdk.Models.Errors.UnprocessableResponse | 422 | application/json |
ApideckUnifySdk.Models.Errors.APIException | 4XX, 5XX | */* |
Delete Credit Note
using ApideckUnifySdk;
using ApideckUnifySdk.Models.Components;
using ApideckUnifySdk.Models.Requests;
var sdk = new Apideck(
apiKey: "<YOUR_BEARER_TOKEN_HERE>",
consumerId: "test-consumer",
appId: "dSBdXd2H6Mqwfg0atXHXYcysLJE9qyn1VwBtXHX"
);
AccountingCreditNotesDeleteRequest req = new AccountingCreditNotesDeleteRequest() {
Id = "<id>",
ServiceId = "salesforce",
};
var res = await sdk.Accounting.CreditNotes.DeleteAsync(req);
// handle response
Parameter | Type | Required | Description |
---|---|---|---|
request |
AccountingCreditNotesDeleteRequest | ✔️ | The request object to use for the request. |
AccountingCreditNotesDeleteResponse
Error Type | Status Code | Content Type |
---|---|---|
ApideckUnifySdk.Models.Errors.BadRequestResponse | 400 | application/json |
ApideckUnifySdk.Models.Errors.UnauthorizedResponse | 401 | application/json |
ApideckUnifySdk.Models.Errors.PaymentRequiredResponse | 402 | application/json |
ApideckUnifySdk.Models.Errors.NotFoundResponse | 404 | application/json |
ApideckUnifySdk.Models.Errors.UnprocessableResponse | 422 | application/json |
ApideckUnifySdk.Models.Errors.APIException | 4XX, 5XX | */* |