Merge pull request #203 into master

cc2e4a7 container: hledger-flow: btcpayserver: update mockups (Aaron Fiore)
5920d87 container: hledger-flow: btcpayserver: support "Legacy Invoice Export" plugin, update "Wallets" impl (Aaron Fiore)
This commit was merged in pull request #203.
This commit is contained in:
2025-08-08 12:42:44 -07:00
6 changed files with 102 additions and 50 deletions

View File

@@ -49,13 +49,15 @@ function btcpayserver::print_warning()
# #
# TL;DR: # TL;DR:
# #
# - As of v2.2.0, *MUST* install the "Legacy Invoice Export" plugin. TODO: use v2.2.0 format w/out plugin
#
# - *MUST* export both "Legacy Invoice" report and "Wallets" report for an accurate balance. # - *MUST* export both "Legacy Invoice" report and "Wallets" report for an accurate balance.
# * The "Legacy Invoice" report currently does *not* include any outgoing txs (refunds or transfers). # * The "Legacy Invoice" report currently does *not* include any outgoing txs (refunds or transfers).
# #
# WARNING: # WARNING:
# #
# - All outgoing txs do *not* account for fees (they are lumped in with the total). # - If using a watch-ony wallet, consider accounting entirely here (via btcpayserver) or
# * Until upstream changes this, any fees must be separated manually w/ custom rules. # entirely via that other wallet (e.g., electrum). Mixing the two may cause tax accounting issues.
# #
# CAUTION: # CAUTION:
# #
@@ -119,16 +121,19 @@ function btcpayserver::legacy()
printf $16 OFS # InvoiceCurrency printf $16 OFS # InvoiceCurrency
printf $17 OFS # InvoiceDue printf $17 OFS # InvoiceDue
printf $18 OFS # InvoicePrice printf $18 OFS # InvoicePrice
printf $19 OFS # InvoiceItemCode printf $19 OFS # InvoiceTaxIncluded
printf $20 OFS # InvoiceTip
printf $21 OFS # InvoiceSubtotal
printf $22 OFS # InvoiceItemCode
# TODO: if description contains comma(s)? # TODO: if description contains comma(s)?
printf $20 OFS # InvoiceItemDesc printf $23 OFS # InvoiceItemDesc
printf $21 OFS # InvoiceFullStatus printf $24 OFS # InvoiceFullStatus
printf $22 OFS # InvoiceStatus printf $25 OFS # InvoiceStatus
printf $23 OFS # InvoiceExceptionStatus printf $26 OFS # InvoiceExceptionStatus
printf $24 OFS # BuyerEmail printf $27 OFS # BuyerEmail
printf $25 OFS # Accounted printf $28 OFS # Accounted
# WARNING: appears to be always IN (see notes regarding "Wallets" report) # WARNING: appears to be always IN (see notes regarding "Wallets" report)
printf "IN" OFS # Direction printf "IN" OFS # Direction
@@ -176,6 +181,9 @@ function btcpayserver::wallets()
if ($6 !~ /^-/) if ($6 !~ /^-/)
next next
# Strip sign from amount (using direction instead)
sub(/^-/, "", $6)
# Date (ReceivedDate w/ local timezone added) # Date (ReceivedDate w/ local timezone added)
sub(/ /, "T", $1) # HACK: makes arg-friendly by removing space sub(/ /, "T", $1) # HACK: makes arg-friendly by removing space
cmd = "date \"+%F %T %z\" --date="$1 | getline date cmd = "date \"+%F %T %z\" --date="$1 | getline date
@@ -197,14 +205,25 @@ function btcpayserver::wallets()
printf $2 OFS # Crypto (CryptoCode) printf $2 OFS # Crypto (CryptoCode)
# BalanceChange (Paid) # BalanceChange (Paid)
printf("%.8f", $6); printf OFS # NOTE: must provide as subtotal, so subtract fee
printf("%.8f", $6 - $7); printf OFS
# Fee (NetworkFee)
printf("%.8f", $7); printf OFS
printf OFS # (NetworkFee)
printf OFS # (ConversionRate) printf OFS # (ConversionRate)
printf OFS # (PaidCurrency)
printf OFS # (InvoiceCurrency) # FeeRate (PaidCurrency)
printf("%.3f", $8); printf OFS
# Rate (XXX) (InvoiceCurrency)
printf("%.3f", $9); printf OFS
printf OFS # (InvoiceDue) printf OFS # (InvoiceDue)
printf OFS # (InvoicePrice) printf OFS # (InvoicePrice)
printf OFS # (InvoiceTaxIncluded)
printf OFS # (InvoiceTip)
printf OFS # (InvoiceSubtotal)
printf OFS # (InvoiceItemCode) printf OFS # (InvoiceItemCode)
printf OFS # (InvoiceItemDesc) printf OFS # (InvoiceItemDesc)
printf OFS # (InvoiceFullStatus) printf OFS # (InvoiceFullStatus)
@@ -223,7 +242,7 @@ function btcpayserver::wallets()
function btcpayserver::parse() function btcpayserver::parse()
{ {
lib_preprocess::test_header "ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,PaymentId,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted" \ lib_preprocess::test_header "ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,PaymentId,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceTaxIncluded,InvoiceTip,InvoiceSubtotal,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted" \
&& btcpayserver::legacy && btcpayserver::legacy
lib_preprocess::test_header "Date,InvoiceId,OrderId,Category,PaymentMethodId,Confirmed,Address,PaymentCurrency,PaymentAmount,PaymentMethodFee,LightningAddress,InvoiceCurrency,InvoiceCurrencyAmount,Rate" \ lib_preprocess::test_header "Date,InvoiceId,OrderId,Category,PaymentMethodId,Confirmed,Address,PaymentCurrency,PaymentAmount,PaymentMethodFee,LightningAddress,InvoiceCurrency,InvoiceCurrencyAmount,Rate" \
@@ -238,7 +257,9 @@ function btcpayserver::parse()
lib_preprocess::test_header "Date,InvoiceId,State,AppId,Product,Quantity,CurrencyAmount,Currency" \ lib_preprocess::test_header "Date,InvoiceId,State,AppId,Product,Quantity,CurrencyAmount,Currency" \
&& btcpayserver::sales && btcpayserver::sales
lib_preprocess::test_header "Date,Crypto,TransactionId,InvoiceId,Confirmed,BalanceChange" \ # TODO: don't hardcode USD (upstream should make the currency in "Rate (XXX)" into a separate column).
#lib_preprocess::test_header "Date,Crypto,TransactionId,InvoiceId,Confirmed,BalanceChange,Fee,FeeRate,Rate (USD)" \
lib_preprocess::test_header "Date,Crypto,TransactionId,InvoiceId,Confirmed,BalanceChange,Fee,FeeRate" \
&& btcpayserver::wallets && btcpayserver::wallets
} }

View File

@@ -16,7 +16,7 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# TODO: currently, only supports "Legacy Invoice" and "Wallets" format (w/ additional custom columns) # TODO: currently, only supports "Legacy Invoice" and "Wallets" format (w/ additional custom columns)
fields ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,txid,index,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted,direction,subaccount fields ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,txid,index,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceTaxIncluded,InvoiceTip,InvoiceSubtotal,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted,direction,subaccount
# NOTE: BTCPayServer exports to localtime # NOTE: BTCPayServer exports to localtime
date-format %Y-%m-%d %H:%M:%S %z date-format %Y-%m-%d %H:%M:%S %z
@@ -41,43 +41,78 @@ if %Accounted ^[^a-z]*$
# NOTE: all IN assumed to be INCOME # NOTE: all IN assumed to be INCOME
# Default comment # Default comment
comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, invoice_tax:%InvoiceTaxIncluded, invoice_tip:%InvoiceTip, invoice_subtotal:%InvoiceSubtotal, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME
# Comment w/ item code # Comment w/ item code
if %InvoiceItemCode [a-z0-9] if %InvoiceItemCode [a-z0-9]
comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, item_code:%InvoiceItemCode, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, invoice_tax:%InvoiceTaxIncluded, invoice_tip:%InvoiceTip, invoice_subtotal:%InvoiceSubtotal, item_code:%InvoiceItemCode, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME
# Comment w/ buyer email # Comment w/ buyer email
if %BuyerEmail [a-z0-9] if %BuyerEmail [a-z0-9]
comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, email:%BuyerEmail, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, invoice_tax:%InvoiceTaxIncluded, invoice_tip:%InvoiceTip, invoice_subtotal:%InvoiceSubtotal, email:%BuyerEmail, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME
# Comment w/ both item code + buyer email # Comment w/ both item code + buyer email
if %InvoiceItemCode [a-z0-9] if %InvoiceItemCode [a-z0-9]
& %BuyerEmail [a-z0-9] & %BuyerEmail [a-z0-9]
comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, item_code:%InvoiceItemCode, email:%BuyerEmail, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME comment created:%InvoiceCreatedDate, expired:%InvoiceExpirationDate, store_id:%StoreId, order_id:%OrderId, invoice_id:%InvoiceId, invoice_tax:%InvoiceTaxIncluded, invoice_tip:%InvoiceTip, invoice_subtotal:%InvoiceSubtotal, item_code:%InvoiceItemCode, email:%BuyerEmail, type:%PaymentType, to_address:%Destination, txid:%txid, index:%index, status:%InvoiceStatus, direction:%direction, taxed_as:INCOME
# Comment for "Wallets" export
if %direction ^OUT$
comment txid:%txid, confirmed:%Accounted, direction:%direction
# #
# Direction # Direction
# #
# NOTE/TODO:
#
# InvoiceTaxIncluded, InvoiceTip and InvoiceSubtotal are not included
# as new accounts because they are static across rows and treated more
# like tags (i.e., if an invoice is not paid in full in a single tx,
# then these entries will be repeated across rows).
# Default income # Default income
if %direction ^IN$ if %direction ^IN$
account2 income:btcpayserver:%subaccount:%CryptoCode account2 income:btcpayserver:%subaccount:%CryptoCode
comment2 %ReceivedDate,INCOME,btcpayserver:%subaccount,%CryptoCode,%Paid,%InvoiceCurrency,%PaidCurrency,%InvoiceId comment2 %ReceivedDate,INCOME,btcpayserver:%subaccount,%CryptoCode,%Paid,%InvoiceCurrency,%PaidCurrency,%InvoiceId
# Default equity transfer # Default refund
#
# NOTE:
#
# - If the tx is not a refund, use custom rules for account2/comment2
# * If the tx also not an expense, remove comment tag taxed_as:SPEND
#
# - Since refunds may not be considered taxable events, and since the
# "Wallets" export only includes the market price of the tx at the
# time of sending (refunding), use custom rules to replace the
# sending tx's price to the time of receiving (the income tx).
#
# This way one can "negate" the original income event by "spending"
# the original amount at the original rate (the rate at which the
# invoice was paid):
#
# Example in custom rules (replace "MANUAL_ADJUSTMENT_NEEDED"):
#
# if %direction ^OUT$
# comment txid:%txid, confirmed:%Accounted, direction:%direction, taxed_as:SPEND
# comment2 %ReceivedDate,SPEND,btcpayserver:%subaccount:%CryptoCode,%CryptoCode,%Paid,USD,MANUAL_ADJUSTMENT_NEEDED,REFUND
#
# - Use different custom rules if your refund type is not the default
# provided option of 'price at the rate the invoice was paid'.
#
if %direction ^OUT$ if %direction ^OUT$
account2 equity:btcpayserver:%subaccount:deposit:%CryptoCode account2 expenses:btcpayserver:%subaccount:refunds:%CryptoCode
amount -%Paid %CryptoCode
comment txid:%txid, confirmed:%Accounted, direction:%direction, taxed_as:SPEND
comment2 %ReceivedDate,SPEND,btcpayserver:%subaccount:%CryptoCode,%CryptoCode,%Paid,USD,,REFUND
# TODO: don't hardcode USD (upstream should make the "Rate (XXX)" currency column a separate column).
# TODO: if %direction ^OUT$
# & %NetworkFee [1-9]
# WARNING: account3 assets:btcpayserver:%subaccount:%CryptoCode
# amount3 -%NetworkFee %CryptoCode
# - All outgoing txs do *not* account for fees (they are lumped in with the total). account4 expenses:electrum:%subaccount:fees:%CryptoCode
# * Until upstream changes this, any fees must be separated manually w/ custom rules. amount4 %NetworkFee %CryptoCode
comment txid:%txid, confirmed:%Accounted, direction:%direction, taxed_as:SPEND
comment3 %ReceivedDate,SPEND,btcpayserver:%subaccount:%CryptoCode,%CryptoCode,%NetworkFee,USD,%PaidCurrency,FEE
# Using comment3 so a comment2 SPEND isn't overwritten (when applicable)
# TODO: don't hardcode USD (upstream should make the "Rate (XXX)" currency column a separate column).
# vim: sw=2 sts=2 si ai et # vim: sw=2 sts=2 si ai et

View File

@@ -1,5 +1,3 @@
ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,PaymentId,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,PaymentId,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceTaxIncluded,InvoiceTip,InvoiceSubtotal,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted
2025-01-01 11:11:11,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2,INVOICEXXXXXXXXXXXXXX2,2025-01-01 12:12:12,2025-01-01 12:12:12,2025-01-01 12:12:12,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2,BTC-CHAIN,BTC,0.12345678,0,100000.101,12345.6904,USD,0,12345.69,,,Settled,complete,,alice@bob.email,true 2025-08-06 15:08:52,6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2,6ZiCU7wv2ATm7RQNda1hPr,2DYE61SvSs9Q1DsfKjXd21,2025-08-06 15:08:39,2025-08-06 15:23:39,2025-08-07 15:23:39,dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f-1,tb1q20fhdv9tvl5rz5vfgnn96hwqhy242yqgfyd6d9,BTC-CHAIN,BTC,0.0006219,0,115131.4,71.600,USD,0,71.6,6.8,0,64.8,,,Settled,complete,,user2@local.domain,true
2025-01-01 11:11:11,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2,INVOICEXXXXXXXXXXXXXX2,2025-01-01 12:12:12,2025-01-01 12:12:12,2025-01-01 12:12:12,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2,BTC-CHAIN,BTC,0.12345678,0,100000.101,12345.6904,USD,0,12345.69,,,Settled,complete,,alice@bob.email, 2025-08-06 15:05:20,6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2,RuuupW4i5qXpD9biED4V79,8bZWGbYbKJh3moNwjehdfY,2025-08-06 15:04:54,2025-08-06 15:19:54,2025-08-07 15:19:54,a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d-0,tb1qvfle8fr3xfhksc5gxuuz486t0rpq4td4hnk4tv,BTC-CHAIN,BTC,0.00007254,0,115118.7,8.351,USD,-0.001,8.35,0.7,1,6.65,,,Settled,complete,,user@local.domain,true
2024-12-31 22:22:22,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1,INVOICEXXXXXXXXXXXXXX1,2024-12-31 23:23:23,2024-12-31 23:23:23,2024-12-31 23:23:23,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,BTC-CHAIN,BTC,0.01234567,0,95000.505,1172.840,USD,0,1172.84,product_1,Great Product That You Want #1,Settled,complete,,,true
2024-12-31 22:22:22,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1,INVOICEXXXXXXXXXXXXXX1,2024-12-31 23:23:23,2024-12-31 23:23:23,2024-12-31 23:23:23,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,BTC-CHAIN,BTC,0.01234567,0,95000.505,1172.840,USD,0,1172.84,product_1,Great Product That You Want #1,Settled,complete,,,
1 ReceivedDate StoreId OrderId InvoiceId InvoiceCreatedDate InvoiceExpirationDate InvoiceMonitoringDate PaymentId Destination PaymentType CryptoCode Paid NetworkFee ConversionRate PaidCurrency InvoiceCurrency InvoiceDue InvoicePrice InvoiceTaxIncluded InvoiceTip InvoiceSubtotal InvoiceItemCode InvoiceItemDesc InvoiceFullStatus InvoiceStatus InvoiceExceptionStatus BuyerEmail Accounted
2 2025-01-01 11:11:11 2025-08-06 15:08:52 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2 6ZiCU7wv2ATm7RQNda1hPr INVOICEXXXXXXXXXXXXXX2 2DYE61SvSs9Q1DsfKjXd21 2025-01-01 12:12:12 2025-08-06 15:08:39 2025-01-01 12:12:12 2025-08-06 15:23:39 2025-01-01 12:12:12 2025-08-07 15:23:39 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10 dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f-1 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2 tb1q20fhdv9tvl5rz5vfgnn96hwqhy242yqgfyd6d9 BTC-CHAIN BTC 0.12345678 0.0006219 0 100000.101 115131.4 12345.6904 71.600 USD 0 12345.69 71.6 6.8 0 64.8 Settled complete alice@bob.email user2@local.domain true
3 2025-01-01 11:11:11 2025-08-06 15:05:20 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2 RuuupW4i5qXpD9biED4V79 INVOICEXXXXXXXXXXXXXX2 8bZWGbYbKJh3moNwjehdfY 2025-01-01 12:12:12 2025-08-06 15:04:54 2025-01-01 12:12:12 2025-08-06 15:19:54 2025-01-01 12:12:12 2025-08-07 15:19:54 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10 a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d-0 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2 tb1qvfle8fr3xfhksc5gxuuz486t0rpq4td4hnk4tv BTC-CHAIN BTC 0.12345678 0.00007254 0 100000.101 115118.7 12345.6904 8.351 USD 0 -0.001 12345.69 8.35 0.7 1 6.65 Settled complete alice@bob.email user@local.domain true
2024-12-31 22:22:22 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1 INVOICEXXXXXXXXXXXXXX1 2024-12-31 23:23:23 2024-12-31 23:23:23 2024-12-31 23:23:23 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 BTC-CHAIN BTC 0.01234567 0 95000.505 1172.840 USD 0 1172.84 product_1 Great Product That You Want #1 Settled complete true
2024-12-31 22:22:22 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1 INVOICEXXXXXXXXXXXXXX1 2024-12-31 23:23:23 2024-12-31 23:23:23 2024-12-31 23:23:23 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 BTC-CHAIN BTC 0.01234567 0 95000.505 1172.840 USD 0 1172.84 product_1 Great Product That You Want #1 Settled complete

View File

@@ -1,4 +1,4 @@
Date,Crypto,TransactionId,InvoiceId,Confirmed,BalanceChange Date,Crypto,TransactionId,InvoiceId,Confirmed,BalanceChange,Fee,FeeRate,Rate (USD)
2024-12-31 22:22:22,BTC,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,INVOICEXXXXXXXXXXXXXX1,true,0.01234567 2025-08-06 15:05:20,BTC,a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d,8bZWGbYbKJh3moNwjehdfY,true,0.00007254,0.00015848,112.397,115118.7
2025-01-01 11:11:11,BTC,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2,INVOICEXXXXXXXXXXXXXX2,true,0.12345678 2025-08-06 15:08:52,BTC,dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f,2DYE61SvSs9Q1DsfKjXd21,true,0.00062190,0.00015854,112.439,115131.4
2025-02-02 02:02:02,BTC,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3,,true,-0.00123456 2025-08-06 15:13:27,BTC,8cbae88fd430eb257960738577bbba7d5be72b3f8799954fa309d288749431ee,,true,-0.00014869,0.00007615,54.007,115199.95
1 Date Crypto TransactionId InvoiceId Confirmed BalanceChange Fee FeeRate Rate (USD)
2 2024-12-31 22:22:22 2025-08-06 15:05:20 BTC TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d INVOICEXXXXXXXXXXXXXX1 8bZWGbYbKJh3moNwjehdfY true 0.01234567 0.00007254 0.00015848 112.397 115118.7
3 2025-01-01 11:11:11 2025-08-06 15:08:52 BTC TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2 dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f INVOICEXXXXXXXXXXXXXX2 2DYE61SvSs9Q1DsfKjXd21 true 0.12345678 0.00062190 0.00015854 112.439 115131.4
4 2025-02-02 02:02:02 2025-08-06 15:13:27 BTC TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3 8cbae88fd430eb257960738577bbba7d5be72b3f8799954fa309d288749431ee true -0.00123456 -0.00014869 0.00007615 54.007 115199.95

View File

@@ -1,5 +1,3 @@
ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,PaymentId,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted ReceivedDate,StoreId,OrderId,InvoiceId,InvoiceCreatedDate,InvoiceExpirationDate,InvoiceMonitoringDate,PaymentId,Destination,PaymentType,CryptoCode,Paid,NetworkFee,ConversionRate,PaidCurrency,InvoiceCurrency,InvoiceDue,InvoicePrice,InvoiceTaxIncluded,InvoiceTip,InvoiceSubtotal,InvoiceItemCode,InvoiceItemDesc,InvoiceFullStatus,InvoiceStatus,InvoiceExceptionStatus,BuyerEmail,Accounted
2025-01-01 11:11:11,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2,XXXXXXXXXXXXXXXXXXXXX2,2025-01-01 12:12:12,2025-01-01 12:12:12,2025-01-01 12:12:12,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2,BTC-CHAIN,BTC,0.12345678,0,100000.101,12345.6904,USD,0,12345.69,,,Settled,complete,,alice@bob.email,true 2025-08-06 15:08:52,6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2,6ZiCU7wv2ATm7RQNda1hPr,2DYE61SvSs9Q1DsfKjXd21,2025-08-06 15:08:39,2025-08-06 15:23:39,2025-08-07 15:23:39,dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f-1,tb1q20fhdv9tvl5rz5vfgnn96hwqhy242yqgfyd6d9,BTC-CHAIN,BTC,0.0006219,0,115131.4,71.600,USD,0,71.6,6.8,0,64.8,,,Settled,complete,,user2@local.domain,true
2025-01-01 11:11:11,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2,XXXXXXXXXXXXXXXXXXXXX2,2025-01-01 12:12:12,2025-01-01 12:12:12,2025-01-01 12:12:12,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2,BTC-CHAIN,BTC,0.12345678,0,100000.101,12345.6904,USD,0,12345.69,,,Settled,complete,,alice@bob.email, 2025-08-06 15:05:20,6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2,RuuupW4i5qXpD9biED4V79,8bZWGbYbKJh3moNwjehdfY,2025-08-06 15:04:54,2025-08-06 15:19:54,2025-08-07 15:19:54,a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d-0,tb1qvfle8fr3xfhksc5gxuuz486t0rpq4td4hnk4tv,BTC-CHAIN,BTC,0.00007254,0,115118.7,8.351,USD,-0.001,8.35,0.7,1,6.65,,,Settled,complete,,user@local.domain,true
2024-12-31 22:22:22,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1,XXXXXXXXXXXXXXXXXXXXX1,2024-12-31 23:23:23,2024-12-31 23:23:23,2024-12-31 23:23:23,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,BTC-CHAIN,BTC,0.01234567,0,95000.505,1172.840,USD,0,1172.84,product_1,Great Product That You Want #1,Settled,complete,,,true
2024-12-31 22:22:22,STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1,XXXXXXXXXXXXXXXXXXXXX1,2024-12-31 23:23:23,2024-12-31 23:23:23,2024-12-31 23:23:23,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5,bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,BTC-CHAIN,BTC,0.01234567,0,95000.505,1172.840,USD,0,1172.84,product_1,Great Product That You Want #1,Settled,complete,,,
1 ReceivedDate StoreId OrderId InvoiceId InvoiceCreatedDate InvoiceExpirationDate InvoiceMonitoringDate PaymentId Destination PaymentType CryptoCode Paid NetworkFee ConversionRate PaidCurrency InvoiceCurrency InvoiceDue InvoicePrice InvoiceTaxIncluded InvoiceTip InvoiceSubtotal InvoiceItemCode InvoiceItemDesc InvoiceFullStatus InvoiceStatus InvoiceExceptionStatus BuyerEmail Accounted
2 2025-01-01 11:11:11 2025-08-06 15:08:52 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2 6ZiCU7wv2ATm7RQNda1hPr XXXXXXXXXXXXXXXXXXXXX2 2DYE61SvSs9Q1DsfKjXd21 2025-01-01 12:12:12 2025-08-06 15:08:39 2025-01-01 12:12:12 2025-08-06 15:23:39 2025-01-01 12:12:12 2025-08-07 15:23:39 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10 dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f-1 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2 tb1q20fhdv9tvl5rz5vfgnn96hwqhy242yqgfyd6d9 BTC-CHAIN BTC 0.12345678 0.0006219 0 100000.101 115131.4 12345.6904 71.600 USD 0 12345.69 71.6 6.8 0 64.8 Settled complete alice@bob.email user2@local.domain true
3 2025-01-01 11:11:11 2025-08-06 15:05:20 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 6Hba3EYeVpNaZbDduFrJ2jkKsGF69k83dJJUFNB1haX2 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX2 RuuupW4i5qXpD9biED4V79 XXXXXXXXXXXXXXXXXXXXX2 8bZWGbYbKJh3moNwjehdfY 2025-01-01 12:12:12 2025-08-06 15:04:54 2025-01-01 12:12:12 2025-08-06 15:19:54 2025-01-01 12:12:12 2025-08-07 15:19:54 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2-10 a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d-0 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2 tb1qvfle8fr3xfhksc5gxuuz486t0rpq4td4hnk4tv BTC-CHAIN BTC 0.12345678 0.00007254 0 100000.101 115118.7 12345.6904 8.351 USD 0 -0.001 12345.69 8.35 0.7 1 6.65 Settled complete alice@bob.email user@local.domain true
2024-12-31 22:22:22 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1 XXXXXXXXXXXXXXXXXXXXX1 2024-12-31 23:23:23 2024-12-31 23:23:23 2024-12-31 23:23:23 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 BTC-CHAIN BTC 0.01234567 0 95000.505 1172.840 USD 0 1172.84 product_1 Great Product That You Want #1 Settled complete true
2024-12-31 22:22:22 STOREXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 PAY_REQUEST_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX1 XXXXXXXXXXXXXXXXXXXXX1 2024-12-31 23:23:23 2024-12-31 23:23:23 2024-12-31 23:23:23 TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1-5 bc1qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 BTC-CHAIN BTC 0.01234567 0 95000.505 1172.840 USD 0 1172.84 product_1 Great Product That You Want #1 Settled complete

View File

@@ -1,4 +1,4 @@
Date,Crypto,TransactionId,InvoiceId,Confirmed,BalanceChange Date,Crypto,TransactionId,InvoiceId,Confirmed,BalanceChange,Fee,FeeRate,Rate (USD)
2024-12-31 22:22:22,BTC,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1,INVOICEXXXXXXXXXXXXXX1,true,0.01234567 2025-08-06 15:05:20,BTC,a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d,8bZWGbYbKJh3moNwjehdfY,true,0.00007254,0.00015848,112.397,115118.7
2025-01-01 11:11:11,BTC,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2,INVOICEXXXXXXXXXXXXXX2,true,0.12345678 2025-08-06 15:08:52,BTC,dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f,2DYE61SvSs9Q1DsfKjXd21,true,0.00062190,0.00015854,112.439,115131.4
2025-02-02 02:02:02,BTC,TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3,,true,-0.00123456 2025-08-06 15:13:27,BTC,8cbae88fd430eb257960738577bbba7d5be72b3f8799954fa309d288749431ee,,true,-0.00014869,0.00007615,54.007,115199.95
1 Date Crypto TransactionId InvoiceId Confirmed BalanceChange Fee FeeRate Rate (USD)
2 2024-12-31 22:22:22 2025-08-06 15:05:20 BTC TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX1 a4174c80d019043eed0227c1b2bedf99f432f5fdb27149595810c8299fb09f9d INVOICEXXXXXXXXXXXXXX1 8bZWGbYbKJh3moNwjehdfY true 0.01234567 0.00007254 0.00015848 112.397 115118.7
3 2025-01-01 11:11:11 2025-08-06 15:08:52 BTC TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX2 dc132e44e053d9023cf20374aea200850efd1e88de28d1344f5a1343bbc0519f INVOICEXXXXXXXXXXXXXX2 2DYE61SvSs9Q1DsfKjXd21 true 0.12345678 0.00062190 0.00015854 112.439 115131.4
4 2025-02-02 02:02:02 2025-08-06 15:13:27 BTC TXIDXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX3 8cbae88fd430eb257960738577bbba7d5be72b3f8799954fa309d288749431ee true -0.00123456 -0.00014869 0.00007615 54.007 115199.95