recurly-client-0.1.0.0: Client for Recurly subscription management
Safe HaskellSafe-Inferred
LanguageHaskell2010

RecurlyClient.Types.Invoice

Description

Contains the types generated from the schema Invoice

Synopsis

Documentation

data Invoice Source #

Defines the object schema located at components.schemas.Invoice in the specification.

Constructors

Invoice 

Fields

  • invoiceAccount :: Maybe AccountMini

    account

  • invoiceAddress :: Maybe InvoiceAddress

    address

  • invoiceBalance :: Maybe Float

    balance: The outstanding balance remaining on this invoice.

  • invoiceBilling_info_id :: Maybe Text

    billing_info_id: The `billing_info_id` is the value that represents a specific billing info for an end customer. When `billing_info_id` is used to assign billing info to the subscription, all future billing events for the subscription will bill to the specified billing info. `billing_info_id` can ONLY be used for sites utilizing the Wallet feature.

  • invoiceBusiness_entity_id :: Maybe Text

    business_entity_id: Unique ID to identify the business entity assigned to the invoice. Available when the `Multiple Business Entities` feature is enabled.

  • invoiceClosed_at :: Maybe JsonDateTime

    closed_at: Date invoice was marked paid or failed.

  • invoiceCollection_method :: Maybe InvoiceCollection_method

    collection_method: An automatic invoice means a corresponding transaction is run using the account's billing information at the same time the invoice is created. Manual invoices are created without a corresponding transaction. The merchant must enter a manual payment transaction or have the customer pay the invoice with an automatic method, like credit card, PayPal, Amazon, or ACH bank payment.

  • invoiceCreated_at :: Maybe JsonDateTime

    created_at

  • invoiceCredit_payments :: Maybe [CreditPayment]

    credit_payments

  • invoiceCurrency :: Maybe Text

    currency: 3-letter ISO 4217 currency code.

    Constraints:

    • Maximum length of 3
  • invoiceCustomer_notes :: Maybe Text

    customer_notes: This will default to the Customer Notes text specified on the Invoice Settings. Specify custom notes to add or override Customer Notes.

  • invoiceDiscount :: Maybe Float

    discount: Total discounts applied to this invoice.

  • invoiceDue_at :: Maybe JsonDateTime

    due_at: Date invoice is due. This is the date the net terms are reached.

  • invoiceDunning_campaign_id :: Maybe Text

    dunning_campaign_id: Unique ID to identify the dunning campaign used when dunning the invoice. For sites without multiple dunning campaigns enabled, this will always be the default dunning campaign.

  • invoiceDunning_events_sent :: Maybe Int

    dunning_events_sent: Number of times the event was sent.

  • invoiceFinal_dunning_event :: Maybe Bool

    final_dunning_event: Last communication attempt.

  • invoiceHas_more_line_items :: Maybe Bool

    has_more_line_items: Identifies if the invoice has more line items than are returned in `line_items`. If `has_more_line_items` is `true`, then a request needs to be made to the `list_invoice_line_items` endpoint.

  • invoiceId :: Maybe Text

    id

  • invoiceLine_items :: Maybe [LineItem]

    line_items

  • invoiceNet_terms :: Maybe Int

    net_terms: Integer paired with `Net Terms Type` and representing the number of days past the current date (for `net` Net Terms Type) or days after the last day of the current month (for `eom` Net Terms Type) that the invoice will become past due. For `manual` collection method, an additional 24 hours is added to ensure the customer has the entire last day to make payment before becoming past due. For example:

    If an invoice is due `net 0`, it is due 'On Receipt' and will become past due 24 hours after it's created. If an invoice is due `net 30`, it will become past due at 31 days exactly. If an invoice is due `eom 30`, it will become past due 31 days from the last day of the current month.

    For `automatic` collection method, the additional 24 hours is not added. For example, On-Receipt is due immediately, and `net 30` will become due exactly 30 days from invoice generation, at which point Recurly will attempt collection. When `eom` Net Terms Type is passed, the value for `Net Terms` is restricted to `0, 15, 30, 45, 60, or 90`.

    For more information on how net terms work with `manual` collection visit our docs page (https://docs.recurly.com/docs/manual-payments#section-collection-terms) or visit (https://docs.recurly.com/docs/automatic-invoicing-terms#section-collection-terms) for information about net terms using `automatic` collection.

    Constraints:

    • Minimum of 0.0
  • invoiceNet_terms_type :: Maybe InvoiceNet_terms_type

    net_terms_type: Optionally supplied string that may be either `net` or `eom` (end-of-month). When `net`, an invoice becomes past due the specified number of `Net Terms` days from the current date. When `eom` an invoice becomes past due the specified number of `Net Terms` days from the last day of the current month.

  • invoiceNumber :: Maybe Text

    number: If VAT taxation and the Country Invoice Sequencing feature are enabled, invoices will have country-specific invoice numbers for invoices billed to EU countries (ex: FR1001). Non-EU invoices will continue to use the site-level invoice number sequence.

  • invoiceObject :: Maybe Text

    object

  • invoiceOrigin :: Maybe InvoiceOrigin

    origin: The event that created the invoice.

  • invoicePaid :: Maybe Float

    paid: The total amount of successful payments transaction on this invoice.

  • invoicePo_number :: Maybe Text

    po_number: For manual invoicing, this identifies the PO number associated with the subscription.

    Constraints:

    • Maximum length of 50
  • invoicePrevious_invoice_id :: Maybe Text

    previous_invoice_id: On refund invoices, this value will exist and show the invoice ID of the purchase invoice the refund was created from. This field is only populated for sites without the Only Bill What Changed feature enabled. Sites with Only Bill What Changed enabled should use the related_invoices endpoint to see purchase invoices refunded by this invoice.

    Constraints:

    • Maximum length of 13
  • invoiceRefundable_amount :: Maybe Float

    refundable_amount: The refundable amount on a charge invoice. It will be null for all other invoices.

  • invoiceShipping_address :: Maybe ShippingAddress

    shipping_address

  • invoiceState :: Maybe InvoiceState

    state

  • invoiceSubscription_ids :: Maybe [Text]

    subscription_ids: If the invoice is charging or refunding for one or more subscriptions, these are their IDs.

  • invoiceSubtotal :: Maybe Float

    subtotal: The summation of charges and credits, before discounts and taxes.

  • invoiceTax :: Maybe Float

    tax: The total tax on this invoice.

  • invoiceTax_info :: Maybe TaxInfo

    tax_info: Only for merchants using Recurly's In-The-Box taxes.

  • invoiceTerms_and_conditions :: Maybe Text

    terms_and_conditions: This will default to the Terms and Conditions text specified on the Invoice Settings page in your Recurly admin. Specify custom notes to add or override Terms and Conditions.

  • invoiceTotal :: Maybe Float

    total: The final total on this invoice. The summation of invoice charges, discounts, credits, and tax.

  • invoiceTransactions :: Maybe [Transaction]

    transactions

  • invoiceType :: Maybe InvoiceType

    type: Invoices are either charge, credit, or legacy invoices.

  • invoiceUpdated_at :: Maybe JsonDateTime

    updated_at

  • invoiceUsed_tax_service :: Maybe Bool

    used_tax_service: Will be `true` when the invoice had a successful response from the tax service and `false` when the invoice was not sent to tax service due to a lack of address or enabled jurisdiction or was processed without tax due to a non-blocking error returned from the tax service.

  • invoiceUuid :: Maybe Text

    uuid

  • invoiceVat_number :: Maybe Text

    vat_number: VAT registration number for the customer on this invoice. This will come from the VAT Number field in the Billing Info or the Account Info depending on your tax settings and the invoice collection method.

    Constraints:

    • Maximum length of 20
  • invoiceVat_reverse_charge_notes :: Maybe Text

    vat_reverse_charge_notes: VAT Reverse Charge Notes only appear if you have EU VAT enabled or are using your own Avalara AvaTax account and the customer is in the EU, has a VAT number, and is in a different country than your own. This will default to the VAT Reverse Charge Notes text specified on the Tax Settings page in your Recurly admin, unless custom notes were created with the original subscription.

Instances

Instances details
FromJSON Invoice Source # 
Instance details

Defined in RecurlyClient.Types.Invoice

ToJSON Invoice Source # 
Instance details

Defined in RecurlyClient.Types.Invoice

Show Invoice Source # 
Instance details

Defined in RecurlyClient.Types.Invoice

Eq Invoice Source # 
Instance details

Defined in RecurlyClient.Types.Invoice

Methods

(==) :: Invoice -> Invoice -> Bool #

(/=) :: Invoice -> Invoice -> Bool #

mkInvoice :: Invoice Source #

Create a new Invoice with all required fields.

data InvoiceCollection_method Source #

Defines the enum schema located at components.schemas.Invoice.properties.collection_method in the specification.

An automatic invoice means a corresponding transaction is run using the account's billing information at the same time the invoice is created. Manual invoices are created without a corresponding transaction. The merchant must enter a manual payment transaction or have the customer pay the invoice with an automatic method, like credit card, PayPal, Amazon, or ACH bank payment.

Constructors

InvoiceCollection_methodOther Value

This case is used if the value encountered during decoding does not match any of the provided cases in the specification.

InvoiceCollection_methodTyped Text

This constructor can be used to send values to the server which are not present in the specification yet.

InvoiceCollection_methodEnumAutomatic

Represents the JSON value "automatic"

InvoiceCollection_methodEnumManual

Represents the JSON value "manual"

data InvoiceNet_terms_type Source #

Defines the enum schema located at components.schemas.Invoice.properties.net_terms_type in the specification.

Optionally supplied string that may be either `net` or `eom` (end-of-month). When `net`, an invoice becomes past due the specified number of `Net Terms` days from the current date. When `eom` an invoice becomes past due the specified number of `Net Terms` days from the last day of the current month.

Constructors

InvoiceNet_terms_typeOther Value

This case is used if the value encountered during decoding does not match any of the provided cases in the specification.

InvoiceNet_terms_typeTyped Text

This constructor can be used to send values to the server which are not present in the specification yet.

InvoiceNet_terms_typeEnumNet

Represents the JSON value "net"

InvoiceNet_terms_typeEnumEom

Represents the JSON value "eom"

data InvoiceOrigin Source #

Defines the enum schema located at components.schemas.Invoice.properties.origin in the specification.

The event that created the invoice.

Constructors

InvoiceOriginOther Value

This case is used if the value encountered during decoding does not match any of the provided cases in the specification.

InvoiceOriginTyped Text

This constructor can be used to send values to the server which are not present in the specification yet.

InvoiceOriginEnumCarryforward_credit

Represents the JSON value "carryforward_credit"

InvoiceOriginEnumCarryforward_gift_credit

Represents the JSON value "carryforward_gift_credit"

InvoiceOriginEnumCredit

Represents the JSON value "credit"

InvoiceOriginEnumExternal_refund

Represents the JSON value "external_refund"

InvoiceOriginEnumGift_card

Represents the JSON value "gift_card"

InvoiceOriginEnumImmediate_change

Represents the JSON value "immediate_change"

InvoiceOriginEnumImport

Represents the JSON value "import"

InvoiceOriginEnumLine_item_refund

Represents the JSON value "line_item_refund"

InvoiceOriginEnumOpen_amount_refund

Represents the JSON value "open_amount_refund"

InvoiceOriginEnumPrepayment

Represents the JSON value "prepayment"

InvoiceOriginEnumPurchase

Represents the JSON value "purchase"

InvoiceOriginEnumRefund

Represents the JSON value "refund"

InvoiceOriginEnumRenewal

Represents the JSON value "renewal"

InvoiceOriginEnumTermination

Represents the JSON value "termination"

InvoiceOriginEnumUsage_correction

Represents the JSON value "usage_correction"

InvoiceOriginEnumWrite_off

Represents the JSON value "write_off"

data InvoiceState Source #

Defines the enum schema located at components.schemas.Invoice.properties.state in the specification.

Constructors

InvoiceStateOther Value

This case is used if the value encountered during decoding does not match any of the provided cases in the specification.

InvoiceStateTyped Text

This constructor can be used to send values to the server which are not present in the specification yet.

InvoiceStateEnumOpen

Represents the JSON value "open"

InvoiceStateEnumPending

Represents the JSON value "pending"

InvoiceStateEnumProcessing

Represents the JSON value "processing"

InvoiceStateEnumPast_due

Represents the JSON value "past_due"

InvoiceStateEnumPaid

Represents the JSON value "paid"

InvoiceStateEnumClosed

Represents the JSON value "closed"

InvoiceStateEnumFailed

Represents the JSON value "failed"

InvoiceStateEnumVoided

Represents the JSON value "voided"

data InvoiceType Source #

Defines the enum schema located at components.schemas.Invoice.properties.type in the specification.

Invoices are either charge, credit, or legacy invoices.

Constructors

InvoiceTypeOther Value

This case is used if the value encountered during decoding does not match any of the provided cases in the specification.

InvoiceTypeTyped Text

This constructor can be used to send values to the server which are not present in the specification yet.

InvoiceTypeEnumCharge

Represents the JSON value "charge"

InvoiceTypeEnumCredit

Represents the JSON value "credit"

InvoiceTypeEnumLegacy

Represents the JSON value "legacy"