using System.Collections.Generic;
public static void Main()
var invoice = new SalesInvoice()
ContactId = 201171400939013415,
RemoveInvoiceSequenceId = true,
InvoiceSequenceId = "F2017004",
InvoiceDate = "5-1-2017",
PricesAreIncludingTax = false ,
Details = new Dictionary<string, SalesInvoiceDetailAttributes>()
invoice.Details.Add("0", new SalesInvoiceDetailAttributes()
Description = "Product description",
TaxRateId = 197923875808347751,
LedgerAccountId = 197923875101607508
invoice.Details.Add("1", new SalesInvoiceDetailAttributes()
Description = "Product description",
TaxRateId = 197923875808347751,
LedgerAccountId = 197923875101607508
Console.WriteLine(JsonConvert.SerializeObject(invoice));
[JsonObject(Title = "sales_invoice")]
public class SalesInvoice
[JsonProperty("contact_id")]
public long ContactId { get; set; }
[JsonProperty("remove_invoice_sequence_id")]
public bool RemoveInvoiceSequenceId { get; set; }
[JsonProperty("invoice_sequence_id")]
public string InvoiceSequenceId { get; set; }
[JsonProperty("reference")]
public string Reference { get; set; }
[JsonProperty("invoice_date")]
public string InvoiceDate { get; set; }
[JsonProperty("currency")]
public string Currency { get; set; }
[JsonProperty("prices_are_incl_tax")]
public bool PricesAreIncludingTax { get; set; }
[JsonProperty("details_attributes")]
public Dictionary<string, SalesInvoiceDetailAttributes> Details { get; set; }
public class SalesInvoiceDetailAttributes
[JsonProperty("description")]
public string Description { get; set; }
public decimal Price { get; set; }
public string Amount { get; set; }
[JsonProperty("tax_rate_id")]
public long TaxRateId { get; set; }
[JsonProperty("ledger_account_id")]
public long LedgerAccountId { get; set; }