/** * Vendor Invoices v1 * The Selling Partner API for Retail Procurement Payments provides programmatic access to vendors payments data. * * The version of the OpenAPI document: v1 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { Configuration } from './configuration'; import { AxiosPromise, AxiosInstance } from 'axios'; import { RequestArgs, BaseAPI } from './base'; /** * Additional information provided by the selling party for tax-related or any other purpose. * @export * @interface AdditionalDetails */ export interface AdditionalDetails { /** * The type of the additional information provided by the selling party. * @type {string} * @memberof AdditionalDetails */ type: AdditionalDetailsTypeEnum | 'SUR' | 'OCR' | 'CartonCount'; /** * The detail of the additional information provided by the selling party. * @type {string} * @memberof AdditionalDetails */ detail: string; /** * The language code of the additional information detail. * @type {string} * @memberof AdditionalDetails */ languageCode?: string; } /** * @export * @enum {string} */ export declare enum AdditionalDetailsTypeEnum { Sur = "SUR", Ocr = "OCR", CartonCount = "CartonCount" } /** * A physical address. * @export * @interface Address */ export interface Address { /** * The name of the person, business or institution at that address. * @type {string} * @memberof Address */ name: string; /** * First line of street address. * @type {string} * @memberof Address */ addressLine1: string; /** * Additional address information, if required. * @type {string} * @memberof Address */ addressLine2?: string; /** * Additional address information, if required. * @type {string} * @memberof Address */ addressLine3?: string; /** * The city where the person, business or institution is located. * @type {string} * @memberof Address */ city?: string; /** * The county where person, business or institution is located. * @type {string} * @memberof Address */ county?: string; /** * The district where person, business or institution is located. * @type {string} * @memberof Address */ district?: string; /** * The state or region where person, business or institution is located. * @type {string} * @memberof Address */ stateOrRegion?: string; /** * The postal or zip code of that address. It contains a series of letters or digits or both, sometimes including spaces or punctuation. * @type {string} * @memberof Address */ postalOrZipCode?: string; /** * The two digit country code. In ISO 3166-1 alpha-2 format. * @type {string} * @memberof Address */ countryCode: string; /** * The phone number of the person, business or institution located at that address. * @type {string} * @memberof Address */ phone?: string; } /** * Monetary and tax details of the allowance. * @export * @interface AllowanceDetails */ export interface AllowanceDetails { /** * Type of the allowance applied. * @type {string} * @memberof AllowanceDetails */ type: AllowanceDetailsTypeEnum | 'Discount' | 'DiscountIncentive' | 'Defective' | 'Promotional' | 'UnsaleableMerchandise' | 'Special'; /** * Description of the allowance. * @type {string} * @memberof AllowanceDetails */ description?: string; /** * * @type {Money} * @memberof AllowanceDetails */ allowanceAmount: Money; /** * Tax amount details applied on this allowance. * @type {Array} * @memberof AllowanceDetails */ taxDetails?: Array; } /** * @export * @enum {string} */ export declare enum AllowanceDetailsTypeEnum { Discount = "Discount", DiscountIncentive = "DiscountIncentive", Defective = "Defective", Promotional = "Promotional", UnsaleableMerchandise = "UnsaleableMerchandise", Special = "Special" } /** * Monetary and tax details of the charge. * @export * @interface ChargeDetails */ export interface ChargeDetails { /** * Type of the charge applied. * @type {string} * @memberof ChargeDetails */ type: ChargeDetailsTypeEnum | 'Freight' | 'Packing' | 'Duty' | 'Service' | 'SmallOrder' | 'InsurancePlacementCost' | 'InsuranceFee' | 'SpecialHandlingService' | 'CollectionAndRecyclingService' | 'EnvironmentalProtectionService' | 'TaxCollectedAtSource'; /** * Description of the charge. * @type {string} * @memberof ChargeDetails */ description?: string; /** * * @type {Money} * @memberof ChargeDetails */ chargeAmount: Money; /** * Tax amount details applied on this charge. * @type {Array} * @memberof ChargeDetails */ taxDetails?: Array; } /** * @export * @enum {string} */ export declare enum ChargeDetailsTypeEnum { Freight = "Freight", Packing = "Packing", Duty = "Duty", Service = "Service", SmallOrder = "SmallOrder", InsurancePlacementCost = "InsurancePlacementCost", InsuranceFee = "InsuranceFee", SpecialHandlingService = "SpecialHandlingService", CollectionAndRecyclingService = "CollectionAndRecyclingService", EnvironmentalProtectionService = "EnvironmentalProtectionService", TaxCollectedAtSource = "TaxCollectedAtSource" } /** * References required in order to process a credit note. This information is required only if InvoiceType is CreditNote. * @export * @interface CreditNoteDetails */ export interface CreditNoteDetails { /** * Original Invoice Number when sending a credit note relating to an existing invoice. One Invoice only to be processed per Credit Note. This is mandatory for AP Credit Notes. * @type {string} * @memberof CreditNoteDetails */ referenceInvoiceNumber?: string; /** * Debit Note Number as generated by Amazon. Recommended for Returns and COOP Credit Notes. * @type {string} * @memberof CreditNoteDetails */ debitNoteNumber?: string; /** * Identifies the Returns Notice Number. Mandatory for all Returns Credit Notes. * @type {string} * @memberof CreditNoteDetails */ returnsReferenceNumber?: string; /** * Defines a date and time according to ISO8601. * @type {string} * @memberof CreditNoteDetails */ goodsReturnDate?: string; /** * Identifies the Returned Merchandise Authorization ID, if generated. * @type {string} * @memberof CreditNoteDetails */ rmaId?: string; /** * Identifies the COOP reference used for COOP agreement. Failure to provide the COOP reference number or the Debit Note number may lead to a rejection of the Credit Note. * @type {string} * @memberof CreditNoteDetails */ coopReferenceNumber?: string; /** * Identifies the consignor reference number (VRET number), if generated by Amazon. * @type {string} * @memberof CreditNoteDetails */ consignorsReferenceNumber?: string; } /** * Represents an invoice or credit note document with details about the transaction, parties involved, and line items. * @export * @interface Invoice */ export interface Invoice { /** * Identifies the type of invoice. * @type {string} * @memberof Invoice */ invoiceType: InvoiceInvoiceTypeEnum | 'Invoice' | 'CreditNote'; /** * Unique number relating to the charges defined in this document. This will be invoice number if the document type is Invoice or CreditNote number if the document type is Credit Note. Failure to provide this reference will result in a rejection. * @type {string} * @memberof Invoice */ id: string; /** * An additional unique reference number used for regulatory or other purposes. * @type {string} * @memberof Invoice */ referenceNumber?: string; /** * Defines a date and time according to ISO8601. * @type {string} * @memberof Invoice */ date: string; /** * * @type {PartyIdentification} * @memberof Invoice */ remitToParty: PartyIdentification; /** * * @type {PartyIdentification} * @memberof Invoice */ shipToParty?: PartyIdentification; /** * * @type {PartyIdentification} * @memberof Invoice */ shipFromParty?: PartyIdentification; /** * * @type {PartyIdentification} * @memberof Invoice */ billToParty?: PartyIdentification; /** * * @type {PaymentTerms} * @memberof Invoice */ paymentTerms?: PaymentTerms; /** * * @type {Money} * @memberof Invoice */ invoiceTotal: Money; /** * Total tax amount details for all line items. * @type {Array} * @memberof Invoice */ taxDetails?: Array; /** * Additional details provided by the selling party, for tax related or other purposes. * @type {Array} * @memberof Invoice */ additionalDetails?: Array; /** * Total charge amount details for all line items. * @type {Array} * @memberof Invoice */ chargeDetails?: Array; /** * Total allowance amount details for all line items. * @type {Array} * @memberof Invoice */ allowanceDetails?: Array; /** * The list of invoice items. * @type {Array} * @memberof Invoice */ items?: Array; } /** * @export * @enum {string} */ export declare enum InvoiceInvoiceTypeEnum { Invoice = "Invoice", CreditNote = "CreditNote" } /** * Details of the item being invoiced. * @export * @interface InvoiceItem */ export interface InvoiceItem { /** * Unique number related to this line item. * @type {number} * @memberof InvoiceItem */ itemSequenceNumber: number; /** * Amazon Standard Identification Number (ASIN) of an item. * @type {string} * @memberof InvoiceItem */ amazonProductIdentifier?: string; /** * The vendor selected product identifier of the item. Should be the same as was provided in the purchase order. * @type {string} * @memberof InvoiceItem */ vendorProductIdentifier?: string; /** * * @type {ItemQuantity} * @memberof InvoiceItem */ invoicedQuantity: ItemQuantity; /** * * @type {Money} * @memberof InvoiceItem */ netCost: Money; /** * * @type {NetCostUnitOfMeasure} * @memberof InvoiceItem */ netCostUnitOfMeasure?: NetCostUnitOfMeasure | 'POUNDS' | 'OUNCES' | 'GRAMS' | 'KILOGRAMS'; /** * The Amazon purchase order number for this invoiced line item. Formatting Notes: 8-character alpha-numeric code. This value is mandatory only when invoiceType is Invoice, and is not required when invoiceType is CreditNote. * @type {string} * @memberof InvoiceItem */ purchaseOrderNumber?: string; /** * HSN Tax code. The HSN number cannot contain alphabets. * @type {string} * @memberof InvoiceItem */ hsnCode?: string; /** * * @type {CreditNoteDetails} * @memberof InvoiceItem */ creditNoteDetails?: CreditNoteDetails; /** * Individual tax details per line item. * @type {Array} * @memberof InvoiceItem */ taxDetails?: Array; /** * Individual charge details per line item. * @type {Array} * @memberof InvoiceItem */ chargeDetails?: Array; /** * Individual allowance details per line item. * @type {Array} * @memberof InvoiceItem */ allowanceDetails?: Array; } /** * Details of quantity. * @export * @interface ItemQuantity */ export interface ItemQuantity { /** * Quantity of an item. This value should not be zero. * @type {number} * @memberof ItemQuantity */ amount: number; /** * Unit of measure for the quantity. * @type {string} * @memberof ItemQuantity */ unitOfMeasure: ItemQuantityUnitOfMeasureEnum | 'Cases' | 'Eaches'; /** * The case size, if the unit of measure value is Cases. * @type {number} * @memberof ItemQuantity */ unitSize?: number; /** * * @type {TotalWeight} * @memberof ItemQuantity */ totalWeight?: TotalWeight; } /** * @export * @enum {string} */ export declare enum ItemQuantityUnitOfMeasureEnum { Cases = "Cases", Eaches = "Eaches" } /** * Error response returned when the request is unsuccessful. * @export * @interface ModelError */ export interface ModelError { /** * An error code that identifies the type of error that occurred. * @type {string} * @memberof ModelError */ code: string; /** * A message that describes the error condition. * @type {string} * @memberof ModelError */ message: string; /** * Additional details that can help the caller understand or fix the issue. * @type {string} * @memberof ModelError */ details?: string; } /** * An amount of money, including units in the form of currency. * @export * @interface Money */ export interface Money { /** * Three-digit currency code in ISO 4217 format. * @type {string} * @memberof Money */ currencyCode?: string; /** * A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation.
**Pattern** : `^-?(0|([1-9]\\d*))(\\.\\d+)?([eE][+-]?\\d+)?$`. * @type {string} * @memberof Money */ amount?: string; } /** * This field represents weight unit of measure of items that are ordered by cases and supporting priced by weight. * @export * @enum {string} */ export declare enum NetCostUnitOfMeasure { Pounds = "POUNDS", Ounces = "OUNCES", Grams = "GRAMS", Kilograms = "KILOGRAMS" } /** * Name, address and tax details of a party. * @export * @interface PartyIdentification */ export interface PartyIdentification { /** * Assigned identification for the party. * @type {string} * @memberof PartyIdentification */ partyId: string; /** * * @type {Address} * @memberof PartyIdentification */ address?: Address; /** * Tax registration details of the party. * @type {Array} * @memberof PartyIdentification */ taxRegistrationDetails?: Array; } /** * Terms of the payment for the invoice. The basis of the payment terms is the invoice date. * @export * @interface PaymentTerms */ export interface PaymentTerms { /** * The payment term type for the invoice. * @type {string} * @memberof PaymentTerms */ type?: PaymentTermsTypeEnum | 'Basic' | 'EndOfMonth' | 'FixedDate' | 'Proximo' | 'PaymentDueUponReceiptOfInvoice' | 'LetterofCredit'; /** * A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation.
**Pattern** : `^-?(0|([1-9]\\d*))(\\.\\d+)?([eE][+-]?\\d+)?$`. * @type {string} * @memberof PaymentTerms */ discountPercent?: string; /** * The number of calendar days from the Base date (Invoice date) until the discount is no longer valid. * @type {number} * @memberof PaymentTerms */ discountDueDays?: number; /** * The number of calendar days from the base date (invoice date) until the total amount on the invoice is due. * @type {number} * @memberof PaymentTerms */ netDueDays?: number; } /** * @export * @enum {string} */ export declare enum PaymentTermsTypeEnum { Basic = "Basic", EndOfMonth = "EndOfMonth", FixedDate = "FixedDate", Proximo = "Proximo", PaymentDueUponReceiptOfInvoice = "PaymentDueUponReceiptOfInvoice", LetterofCredit = "LetterofCredit" } /** * The request schema for the submitInvoices operation. * @export * @interface SubmitInvoicesRequest */ export interface SubmitInvoicesRequest { /** * An array of Invoice objects representing the invoices or credit notes to be submitted. * @type {Array} * @memberof SubmitInvoicesRequest */ invoices?: Array; } /** * The response schema for the submitInvoices operation. * @export * @interface SubmitInvoicesResponse */ export interface SubmitInvoicesResponse { /** * * @type {TransactionId} * @memberof SubmitInvoicesResponse */ payload?: TransactionId; /** * A list of error responses returned when a request is unsuccessful. * @type {Array} * @memberof SubmitInvoicesResponse */ errors?: Array; } /** * Details of tax amount applied. * @export * @interface TaxDetails */ export interface TaxDetails { /** * Type of the tax applied. * @type {string} * @memberof TaxDetails */ taxType: TaxDetailsTaxTypeEnum | 'CGST' | 'SGST' | 'CESS' | 'UTGST' | 'IGST' | 'MwSt.' | 'PST' | 'TVA' | 'VAT' | 'GST' | 'ST' | 'Consumption' | 'MutuallyDefined' | 'DomesticVAT'; /** * A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation.
**Pattern** : `^-?(0|([1-9]\\d*))(\\.\\d+)?([eE][+-]?\\d+)?$`. * @type {string} * @memberof TaxDetails */ taxRate?: string; /** * * @type {Money} * @memberof TaxDetails */ taxAmount: Money; /** * * @type {Money} * @memberof TaxDetails */ taxableAmount?: Money; } /** * @export * @enum {string} */ export declare enum TaxDetailsTaxTypeEnum { Cgst = "CGST", Sgst = "SGST", Cess = "CESS", Utgst = "UTGST", Igst = "IGST", MwSt = "MwSt.", Pst = "PST", Tva = "TVA", Vat = "VAT", Gst = "GST", St = "ST", Consumption = "Consumption", MutuallyDefined = "MutuallyDefined", DomesticVat = "DomesticVAT" } /** * Tax registration details of the entity. * @export * @interface TaxRegistrationDetails */ export interface TaxRegistrationDetails { /** * The tax registration type for the entity. * @type {string} * @memberof TaxRegistrationDetails */ taxRegistrationType: TaxRegistrationDetailsTaxRegistrationTypeEnum | 'VAT' | 'GST'; /** * The tax registration number for the entity. For example, VAT ID, Consumption Tax ID. * @type {string} * @memberof TaxRegistrationDetails */ taxRegistrationNumber: string; } /** * @export * @enum {string} */ export declare enum TaxRegistrationDetailsTaxRegistrationTypeEnum { Vat = "VAT", Gst = "GST" } /** * The aggregate weight of this item being invoiced. This information will be available for items sold by weight. * @export * @interface TotalWeight */ export interface TotalWeight { /** * The unit of measure for items sold by weight. * @type {string} * @memberof TotalWeight */ unitOfMeasure: TotalWeightUnitOfMeasureEnum | 'POUNDS' | 'OUNCES' | 'GRAMS' | 'KILOGRAMS'; /** * A decimal number with no loss of precision. Useful when precision loss is unacceptable, as with currencies. Follows RFC7159 for number representation.
**Pattern** : `^-?(0|([1-9]\\d*))(\\.\\d+)?([eE][+-]?\\d+)?$`. * @type {string} * @memberof TotalWeight */ amount: string; } /** * @export * @enum {string} */ export declare enum TotalWeightUnitOfMeasureEnum { Pounds = "POUNDS", Ounces = "OUNCES", Grams = "GRAMS", Kilograms = "KILOGRAMS" } /** * Response containing the transaction ID. * @export * @interface TransactionId */ export interface TransactionId { /** * GUID to identify this transaction. This value can be used with the Transaction Status API to return the status of this transaction. * @type {string} * @memberof TransactionId */ transactionId?: string; } /** * VendorInvoicesApi - axios parameter creator * @export */ export declare const VendorInvoicesApiAxiosParamCreator: (configuration?: Configuration) => { /** * Submit new invoices to Amazon. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 10 | 10 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @summary submitInvoices * @param {SubmitInvoicesRequest} body The request body containing the invoice data to submit. * @param {*} [options] Override http request option. * @throws {RequiredError} */ submitInvoices: (body: SubmitInvoicesRequest, options?: any) => Promise; }; /** * VendorInvoicesApi - functional programming interface * @export */ export declare const VendorInvoicesApiFp: (configuration?: Configuration) => { /** * Submit new invoices to Amazon. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 10 | 10 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @summary submitInvoices * @param {SubmitInvoicesRequest} body The request body containing the invoice data to submit. * @param {*} [options] Override http request option. * @throws {RequiredError} */ submitInvoices(body: SubmitInvoicesRequest, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>; }; /** * VendorInvoicesApi - factory interface * @export */ export declare const VendorInvoicesApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => { /** * Submit new invoices to Amazon. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 10 | 10 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @summary submitInvoices * @param {SubmitInvoicesRequest} body The request body containing the invoice data to submit. * @param {*} [options] Override http request option. * @throws {RequiredError} */ submitInvoices(body: SubmitInvoicesRequest, options?: any): AxiosPromise; }; /** * Request parameters for submitInvoices operation in VendorInvoicesApi. * @export * @interface VendorInvoicesApiSubmitInvoicesRequest */ export interface VendorInvoicesApiSubmitInvoicesRequest { /** * The request body containing the invoice data to submit. * @type {SubmitInvoicesRequest} * @memberof VendorInvoicesApiSubmitInvoices */ readonly body: SubmitInvoicesRequest; } /** * VendorInvoicesApi - object-oriented interface * @export * @class VendorInvoicesApi * @extends {BaseAPI} */ export declare class VendorInvoicesApi extends BaseAPI { /** * Submit new invoices to Amazon. **Usage Plan:** | Rate (requests per second) | Burst | | ---- | ---- | | 10 | 10 | The `x-amzn-RateLimit-Limit` response header returns the usage plan rate limits that were applied to the requested operation, when available. The table above indicates the default rate and burst values for this operation. Selling partners whose business demands require higher throughput may see higher rate and burst values than those shown here. For more information, see [Usage Plans and Rate Limits in the Selling Partner API](https://developer-docs.amazon.com/sp-api/docs/usage-plans-and-rate-limits-in-the-sp-api). * @summary submitInvoices * @param {VendorInvoicesApiSubmitInvoicesRequest} requestParameters Request parameters. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof VendorInvoicesApi */ submitInvoices(requestParameters: VendorInvoicesApiSubmitInvoicesRequest, options?: any): Promise>; }