Interface Invoice.Service
-
- All Superinterfaces:
Maskable
,ResultLimitable
,Service
- Enclosing class:
- Invoice
@ApiService("SoftLayer_Billing_Invoice") public static interface Invoice.Service extends Service
The SoftLayer_Billing_Invoice service controls the invoices that are created whenever a SoftLayer customer's account balance changes. Invoices exist in the following states:
*'''OPEN''': Invoices which have not been paid yet. Invoices are created in the OPEN state.
*'''CLOSED''': Invoices that SoftLayer has received payment for.
*'''CLOSED_FAILED''': Invoices which were closed but were not paid for. Customers who are terminated for non-payment typically have invoices in this state.
Once an invoice is paid it moves from OPEN to CLOSED state. Invoices are created under varying types, which are defined in the type property of the [[SoftLayer_Invoice (type)|SoftLayer_Invoice data type]]. Invoices are created under one of the following type categories:
*'''NEW''': An invoice for new service. A SoftLayer customer's first invoice is of the NEW type.
*'''RECURRING''': Invoices that are generated on a SoftLayer customer's anniversary billing date for monthly services.
*'''ONE-TIME-CHARGE''': Invoices that are generated when one-time charges are applied to an account for fees incurred from products or services procured outside of the standard purchasing processes.
*'''CREDIT''': Invoices that are generated whenever SoftLayer applies a credit against an account's balance.
*'''REFUND''': Account credits that are applied against a customer's account balance along with the receivables on their account. REFUND type invoices are generated whenever a customer receives a service credit on their account balance and has their invoice items changed due to the credit.
*'''MANUAL_PAYMENT_CREDIT''': Invoice credits that are generated whenever a customer makes a manual payment.
Invoices are created with contact information duplicated from the [[SoftLayer_Account (type)|SoftLayer_Account data type]]. We do this in order to maintain a history of an account's contact information as invoices are generated. Likewise each invoice record keeps track of an account's balance as the invoice is opened and closed.
Query the [[SoftLayer_Account]] service to get a list of invoices for your account.- See Also:
- SoftLayer_Billing_Invoice
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Invoice.ServiceAsync
asAsync()
Get an async version of this serviceVoid
emailInvoices(Email options)
Create a transaction to email PDF and/or Excel invoice links to the requesting user's email address.Account
getAccount()
The account that an invoice belongs to.BigDecimal
getAmount()
This is the amount of this invoice.Brand
getBrandAtInvoiceCreation()
Boolean
getDetailedPdfGeneratedFlag()
A flag that will reflect whether the detailed version of the pdf has been generated.byte[]
getExcel()
Retrieve a Microsoft Excel spreadsheet of a SoftLayer invoice.List<Item>
getInvoiceTopLevelItems()
A list of top-level invoice items that are on the currently pending invoice.BigDecimal
getInvoiceTotalAmount()
The total amount of this invoice.BigDecimal
getInvoiceTotalOneTimeAmount()
The total one-time charges for this invoice.BigDecimal
getInvoiceTotalOneTimeTaxAmount()
A sum of all the taxes related to one time charges for this invoice.BigDecimal
getInvoiceTotalPreTaxAmount()
The total amount of this invoice.BigDecimal
getInvoiceTotalRecurringAmount()
The total Recurring amount of this invoice.BigDecimal
getInvoiceTotalRecurringTaxAmount()
The total amount of the recurring taxes on this invoice.List<Item>
getItems()
The items that belong to this invoice.ExchangeRate
getLocalCurrencyExchangeRate()
Exchange rate used for billing this invoice.Invoice
getObject()
getObject retrieves the SoftLayer_Billing_Invoice object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Billing_Invoice service.BigDecimal
getPayment()
This is the total payment made on this invoice.List<Payment>
getPayments()
The payments for the invoice.byte[]
getPdf()
Retrieve a PDF record of a SoftLayer invoice.byte[]
getPdfDetailed()
Retrieve a PDF record of a SoftLayer detailed invoice summary.String
getPdfDetailedFilename()
String
getPdfFilename()
Long
getPdfFileSize()
Retrieve the size of a PDF record of a SoftLayer invoice.byte[]
getPreliminaryExcel()
Retrieve a Microsoft Excel record of a SoftLayer invoice.byte[]
getPreliminaryPdf()
Retrieve a PDF record of a SoftLayer invoice.byte[]
getPreliminaryPdfDetailed()
Retrieve a PDF record of the detailed version of a SoftLayer invoice.String
getSellerRegistration()
This is the seller's tax registration.Info
getTaxInfo()
This is the tax information that applies to tax auditing.List<Info>
getTaxInfoHistory()
This is the set of tax information for any tax calculation for this invoice.String
getTaxMessage()
This is a message explaining the tax treatment for this invoice.Type
getTaxType()
This is the strategy used to calculate tax on this invoice.String
getXlsFilename()
List<Count>
getZeroFeeItemCounts()
void
setMask(Invoice.Mask mask)
Invoice.Mask
withMask()
Use the existing mask on this service or create it if not presentInvoice.Mask
withNewMask()
Overwrite the existing mask on this service with a new one and return it-
Methods inherited from interface com.softlayer.api.ResultLimitable
getLastResponseTotalItemCount, getResultLimit, setResultLimit
-
-
-
-
Method Detail
-
asAsync
Invoice.ServiceAsync asAsync()
Description copied from interface:Service
Get an async version of this service
-
withNewMask
Invoice.Mask withNewMask()
Description copied from interface:Maskable
Overwrite the existing mask on this service with a new one and return it- Specified by:
withNewMask
in interfaceMaskable
-
withMask
Invoice.Mask withMask()
Description copied from interface:Maskable
Use the existing mask on this service or create it if not present
-
setMask
void setMask(Invoice.Mask mask)
-
emailInvoices
@ApiMethod Void emailInvoices(Email options)
Create a transaction to email PDF and/or Excel invoice links to the requesting user's email address. You must have a PDF reader installed in order to view these files.- See Also:
- SoftLayer_Billing_Invoice::emailInvoices
-
getExcel
@ApiMethod(instanceRequired=true) byte[] getExcel()
Retrieve a Microsoft Excel spreadsheet of a SoftLayer invoice. You must have a Microsoft Excel reader installed in order to view these invoice files.- See Also:
- SoftLayer_Billing_Invoice::getExcel
-
getObject
@ApiMethod(instanceRequired=true) Invoice getObject()
getObject retrieves the SoftLayer_Billing_Invoice object whose ID number corresponds to the ID number of the init parameter passed to the SoftLayer_Billing_Invoice service. You can only retrieve invoices that are assigned to your portal user's account.- See Also:
- SoftLayer_Billing_Invoice::getObject
-
getPdf
@ApiMethod(instanceRequired=true) byte[] getPdf()
Retrieve a PDF record of a SoftLayer invoice. SoftLayer keeps PDF records of all closed invoices for customer retrieval from the portal and API. You must have a PDF reader installed in order to view these invoice files.- See Also:
- SoftLayer_Billing_Invoice::getPdf
-
getPdfDetailed
@ApiMethod(instanceRequired=true) byte[] getPdfDetailed()
Retrieve a PDF record of a SoftLayer detailed invoice summary. SoftLayer keeps PDF records of all closed invoices for customer retrieval from the portal and API. You must have a PDF reader installed in order to view these files.
-
getPdfDetailedFilename
@ApiMethod(instanceRequired=true) String getPdfDetailedFilename()
-
getPdfFileSize
@ApiMethod(instanceRequired=true) Long getPdfFileSize()
Retrieve the size of a PDF record of a SoftLayer invoice. SoftLayer keeps PDF records of all closed invoices for customer retrieval from the portal and API.
-
getPdfFilename
@ApiMethod(instanceRequired=true) String getPdfFilename()
-
getPreliminaryExcel
@ApiMethod(instanceRequired=true) byte[] getPreliminaryExcel()
Retrieve a Microsoft Excel record of a SoftLayer invoice. SoftLayer generates Microsoft Excel records of all closed invoices for customer retrieval from the portal and API. You must have a Microsoft Excel reader installed in order to view these invoice files.
-
getPreliminaryPdf
@ApiMethod(instanceRequired=true) byte[] getPreliminaryPdf()
Retrieve a PDF record of a SoftLayer invoice. SoftLayer keeps PDF records of all closed invoices for customer retrieval from the portal and API. You must have a PDF reader installed in order to view these invoice files.
-
getPreliminaryPdfDetailed
@ApiMethod(instanceRequired=true) byte[] getPreliminaryPdfDetailed()
Retrieve a PDF record of the detailed version of a SoftLayer invoice. SoftLayer keeps PDF records of all closed invoices for customer retrieval from the portal and API.
-
getXlsFilename
@ApiMethod(instanceRequired=true) String getXlsFilename()
-
getZeroFeeItemCounts
@ApiMethod(instanceRequired=true) List<Count> getZeroFeeItemCounts()
-
getAccount
@ApiMethod(instanceRequired=true) Account getAccount()
The account that an invoice belongs to.- See Also:
- SoftLayer_Billing_Invoice::getAccount
-
getAmount
@ApiMethod(instanceRequired=true) BigDecimal getAmount()
This is the amount of this invoice.- See Also:
- SoftLayer_Billing_Invoice::getAmount
-
getBrandAtInvoiceCreation
@ApiMethod(instanceRequired=true) Brand getBrandAtInvoiceCreation()
-
getDetailedPdfGeneratedFlag
@ApiMethod(instanceRequired=true) Boolean getDetailedPdfGeneratedFlag()
A flag that will reflect whether the detailed version of the pdf has been generated.
-
getInvoiceTopLevelItems
@ApiMethod(instanceRequired=true) List<Item> getInvoiceTopLevelItems()
A list of top-level invoice items that are on the currently pending invoice.
-
getInvoiceTotalAmount
@ApiMethod(instanceRequired=true) BigDecimal getInvoiceTotalAmount()
The total amount of this invoice.
-
getInvoiceTotalOneTimeAmount
@ApiMethod(instanceRequired=true) BigDecimal getInvoiceTotalOneTimeAmount()
The total one-time charges for this invoice. This is the sum of one-time charges + setup fees + labor fees. This does not include taxes.
-
getInvoiceTotalOneTimeTaxAmount
@ApiMethod(instanceRequired=true) BigDecimal getInvoiceTotalOneTimeTaxAmount()
A sum of all the taxes related to one time charges for this invoice.
-
getInvoiceTotalPreTaxAmount
@ApiMethod(instanceRequired=true) BigDecimal getInvoiceTotalPreTaxAmount()
The total amount of this invoice. This does not include taxes.
-
getInvoiceTotalRecurringAmount
@ApiMethod(instanceRequired=true) BigDecimal getInvoiceTotalRecurringAmount()
The total Recurring amount of this invoice. This amount does not include taxes or one time charges.
-
getInvoiceTotalRecurringTaxAmount
@ApiMethod(instanceRequired=true) BigDecimal getInvoiceTotalRecurringTaxAmount()
The total amount of the recurring taxes on this invoice.
-
getItems
@ApiMethod(instanceRequired=true) List<Item> getItems()
The items that belong to this invoice.- See Also:
- SoftLayer_Billing_Invoice::getItems
-
getLocalCurrencyExchangeRate
@ApiMethod(instanceRequired=true) ExchangeRate getLocalCurrencyExchangeRate()
Exchange rate used for billing this invoice.
-
getPayment
@ApiMethod(instanceRequired=true) BigDecimal getPayment()
This is the total payment made on this invoice.- See Also:
- SoftLayer_Billing_Invoice::getPayment
-
getPayments
@ApiMethod(instanceRequired=true) List<Payment> getPayments()
The payments for the invoice.- See Also:
- SoftLayer_Billing_Invoice::getPayments
-
getSellerRegistration
@ApiMethod(instanceRequired=true) String getSellerRegistration()
This is the seller's tax registration.
-
getTaxInfo
@ApiMethod(instanceRequired=true) Info getTaxInfo()
This is the tax information that applies to tax auditing. This is the official tax record for this invoice.- See Also:
- SoftLayer_Billing_Invoice::getTaxInfo
-
getTaxInfoHistory
@ApiMethod(instanceRequired=true) List<Info> getTaxInfoHistory()
This is the set of tax information for any tax calculation for this invoice. Note that not all of these are necessarily official, so use the taxInfo key to get the final information.
-
getTaxMessage
@ApiMethod(instanceRequired=true) String getTaxMessage()
This is a message explaining the tax treatment for this invoice.- See Also:
- SoftLayer_Billing_Invoice::getTaxMessage
-
getTaxType
@ApiMethod(instanceRequired=true) Type getTaxType()
This is the strategy used to calculate tax on this invoice.- See Also:
- SoftLayer_Billing_Invoice::getTaxType
-
-