@using BTCPayServer.Payments @model InvoicesModel @{ ViewData["Title"] = "Invoices"; var storeIds = string.Join("", Model.StoreIds.Select(storeId => $",storeid:{storeId}")); } @section HeadScripts { } @Html.HiddenFor(a => a.Count)
@if (TempData.HasStatusMessage()) {
}

@ViewData["Title"]


Create, search or pay an invoice.

@* Custom Range Modal *@ @* Custom Range Modal *@

You can search for invoice Id, deposit address, price, order id, store id, any buyer information and any product information. Be sure to split your search parameters with comma, for example:
startdate:2019-04-25 13:00:00, status:paid

You can also apply filters to your search by searching for filtername:value, supported filters are:

  • storeid:id for filtering a specific store
  • orderid:id for filtering a specific order
  • itemcode:code for filtering a specific type of item purchased through the pos or crowdfund apps
  • status:(expired|invalid|complete|confirmed|paid|new) for filtering a specific status
  • exceptionstatus:(paidover|paidlate|paidpartial) for filtering a specific exception state
  • unusual:(true|false) for filtering invoices which might requires merchant attention (those invalid or with an exceptionstatus)
  • startdate:yyyy-MM-dd HH:mm:ss getting invoices that were created after certain date
  • enddate:yyyy-MM-dd HH:mm:ss getting invoices that were created before certain date

If you want all confirmed and complete invoices, you can duplicate a filter status:confirmed, status:complete.

@if (Model.Total > 0) {
@foreach (var invoice in Model.Invoices) { }
Date OrderId InvoiceId Status Amount Actions
@invoice.Date.ToBrowserDate() @if (invoice.RedirectUrl != string.Empty) { @invoice.OrderId } else { @invoice.OrderId } @invoice.InvoiceId @if (invoice.Details.Archived) { archived } @if (invoice.CanMarkStatus) {
} else { @invoice.Status.ToString().ToLower() } @foreach (var paymentType in invoice.Details.Payments.Select(payment => payment.GetPaymentMethodId()?.PaymentType).Distinct().Where(type => type != null && !string.IsNullOrEmpty(type.GetBadge()))) { @paymentType.GetBadge() }
@invoice.AmountCurrency @if (invoice.ShowCheckout) { Checkout [^] @if (!invoice.CanMarkStatus) { - } }   Details
} else {

There are no invoices matching your criteria.

}