Billhighway Cloud API

<back to all web services

InvoiceCollection

The following routes are available for this service:
POST/invoices/misc

export class InvoiceReply
{
    public UniqueId?: string;
    public ErrorCode?: number;
    public ErrorMessage?: string;
    public InvBatchNo?: number;
    public InvAmount?: number;

    public constructor(init?: Partial<InvoiceReply>) { (Object as any).assign(this, init); }
}

export class InvoiceCollectionReply implements IHaveErrorField
{
    public InvoiceReply?: InvoiceReply[];
    public IsError?: boolean;

    public constructor(init?: Partial<InvoiceCollectionReply>) { (Object as any).assign(this, init); }
}

export class InvoiceItem implements IInvoiceItemValidation
{
    public UniqueId?: string;
    public ProductName?: string;
    public AmountDue?: number;
    public ProductType?: string;
    public ActPatternTypeID?: number;
    public TermStartDate?: string;
    public TermEndDate?: string;
    public RecognitionPeriod?: number;
    public RevenueAccount?: string;
    public AccountsReceivableAccount?: string;
    public LiabilityAccount?: string;
    public CreditExpenseAccount?: string;
    public InvoiceClearingAccount?: string;
    public CostCenter?: string;
    public Region?: string;

    public constructor(init?: Partial<InvoiceItem>) { (Object as any).assign(this, init); }
}

export class Invoice implements IInvoiceValidation
{
    public UniqueId?: string;
    public ClientId?: number;
    public GroupId?: string;
    public Description?: string;
    public OpportunityId?: string;
    public Installments?: number;
    public Frequency?: number;
    public InvoiceDueDate?: string;
    public Deliver?: boolean;
    public UserId?: string;
    public BhUserId?: number;
    public CurrencyType?: string;
    public InvoiceItems?: InvoiceItem[];
    public InvoiceNo?: number;
    public InvoiceAmt?: number;
    public ExternalInvBatchNo?: string;
    public ExemptFromLateFee?: boolean;

    public constructor(init?: Partial<Invoice>) { (Object as any).assign(this, init); }
}

export class InvoiceCollection
{
    public InvoiceList?: Invoice[];

    public constructor(init?: Partial<InvoiceCollection>) { (Object as any).assign(this, init); }
}

TypeScript InvoiceCollection DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /invoices/misc HTTP/1.1 
Host: devapi.billhighway.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<InvoiceCollection xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
  <InvoiceList>
    <Invoice>
      <BhUserId>0</BhUserId>
      <ClientId>0</ClientId>
      <CurrencyType>String</CurrencyType>
      <Deliver>false</Deliver>
      <Description>String</Description>
      <ExemptFromLateFee>false</ExemptFromLateFee>
      <ExternalInvBatchNo>String</ExternalInvBatchNo>
      <Frequency>0</Frequency>
      <GroupId>String</GroupId>
      <Installments>0</Installments>
      <InvoiceAmt>0</InvoiceAmt>
      <InvoiceDueDate>0001-01-01T00:00:00</InvoiceDueDate>
      <InvoiceItems>
        <InvoiceItem>
          <AmountDue>String</AmountDue>
          <ProductName>String</ProductName>
          <RevenueAccount>String</RevenueAccount>
        </InvoiceItem>
      </InvoiceItems>
      <InvoiceNo>0</InvoiceNo>
      <OpportunityId>String</OpportunityId>
      <UniqueId>String</UniqueId>
      <UserId>String</UserId>
    </Invoice>
  </InvoiceList>
</InvoiceCollection>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<InvoiceCollectionReply xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BH.CloudAPI.Common4.DTO.SalesForce">
  <InvoiceReply>
    <InvoiceReply>
      <ErrorCode>0</ErrorCode>
      <ErrorMessage>String</ErrorMessage>
      <InvAmount>0</InvAmount>
      <InvBatchNo>0</InvBatchNo>
      <UniqueId>String</UniqueId>
    </InvoiceReply>
  </InvoiceReply>
</InvoiceCollectionReply>