Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Tips and invoiced amount are inseparable in csv #5290

Open
1 task done
Liongrass opened this issue Sep 4, 2023 · 16 comments · May be fixed by #5630
Open
1 task done

[Bug]: Tips and invoiced amount are inseparable in csv #5290

Liongrass opened this issue Sep 4, 2023 · 16 comments · May be fixed by #5630
Assignees
Milestone

Comments

@Liongrass
Copy link

What is your BTCPay version?

BTCPay Server v1.11.4+79b2f1652

How did you deploy BTCPay Server?

Lunanode deployment

What happened?

I'm unable to separate tips from total amounts in the csv.

How did you encounter this bug?

  • I, the admin, enable tipping for a store, using the Keypad-only checkout
  • The cashier enters the amount of the service, e.g. $1
  • The customer enters the amount of the tip, e.g. 20%
  • The customer pays the invoice
  • I download the csv for the store
    - I'm unable to find out how much the service cost, how high of a tip the customer paid

This makes it very hard to run a store with tipping enabled. How am I supposed to pay out the tips to the servers at the end of the day if I don't know how many tips were paid?

Relevant log output

No response

What browser do you use?

No response

Additional information

No response

Are you sure this is a bug report?

  • I confirm this is a bug report
@NicolasDorier
Copy link
Member

@Liongrass to make sure, you mean in the Reporting/Products sold?

@NicolasDorier
Copy link
Member

NicolasDorier commented Sep 5, 2023

The problem is that the "Products Sold" report is 1 line = 1 product. As such we can't really put tip information in there, as one basket may have several product.

In which report you'd like this information?

@Liongrass
Copy link
Author

Yeah, good question how this can be surfaced ideally without messing with the document structure, which is already a bit confusing. One idea I had was to use InvoicePrice as the amount pre-tip, and PaidCurrency as the amount post-tip, then the difference can be the tip. But we'd have to check if that messes up something else.

@NicolasDorier
Copy link
Member

@Liongrass we have two choices. Either we add it to the "Payments" reports. Or we add a new report for "invoices", where we put invoice information.

Then you can export payments and invoices and "join" the two exports using the invoice id.

@Liongrass
Copy link
Author

My idea: the tip and the payment are recorded in different rows, with the same details but a different order ID. So a $1 payment with a 20% tip shows up twice in the csv, once as the $1 payment, and once as the $0.2 tip.

@NicolasDorier
Copy link
Member

Can't do this, order id is tied to an invoice, and several payments can be for same invoice.
There is no concept of orderId outside of an invoice.

@Liongrass
Copy link
Author

Given other issues with the csv 4936, maybe this mechanism has to be rethought or overhauled? It currently seems very difficult to use BTCPay for accounting unless fully integrating external software through the API.

@NicolasDorier
Copy link
Member

NicolasDorier commented Sep 5, 2023

I wished I could find a better mechanism, but so far nobody told me how it should look like and define precisely.
What is the problem of adding the TIP % as an additional column of Payments report?

@Liongrass
Copy link
Author

Yeah, that seems to be the minimum information required to make this useful. Maybe reporting the tip as an absolute number would make it more straight forward to sum it up using the spreadsheet alone.

@NicolasDorier
Copy link
Member

NicolasDorier commented Sep 5, 2023

How about another idea: Add it "Products sold". ie: A tip would be consider just like an item in the report. There are sum already there.

@Liongrass
Copy link
Author

Yeah as long as that will also work for the keypad-pos. Looking at my store under "products sold" currently shows an empty list. Ideally it would also divide it by App, because I might have a separate app for each attendant/server, and they wouldn't necessarily share tips.

@Liongrass
Copy link
Author

The scope of the csv-export of the summary of "products sold" would have to be expanded too in that case, as for example the total of sats collected matters too, not just the dollars invoiced.

@dstrukt
Copy link
Member

dstrukt commented Sep 6, 2023

cc @dennisreimann relevant feedback for us, can discuss in the next design call

@Fustler
Copy link

Fustler commented Dec 22, 2023

I'm just adding my support to have this detail rectified. Here in Vancouver, we are onboarding a healthy amount of businesses. One of the businesses is where I host my meet ups. They sell drinks and the bartenders need to accept tips. Currently we end up having to either add x% to the cost of the drinks and then manually do the math and deduct the x% from the total to determine the tip. Or we create a secondary QR code/wallet where the customer can do a second transaction to keep tips separate from the regular sales. Both aren't a great experience. If the reporting can break out the cost of the product/service and the tip separately, this will go a LONG way in helping onboard more businesses. Thank you!

@dennisreimann
Copy link
Member

@Fustler We have that data structured in a form that we can separate them, so this is good feedback and we will change it to be separate columns.

@pavlenex pavlenex added this to the 1.14.0 milestone Dec 22, 2023
@Kukks
Copy link
Member

Kukks commented Dec 23, 2023 via email

@pavlenex pavlenex modified the milestones: 1.14.0, 1.13.0 Dec 25, 2023
dennisreimann added a commit to dennisreimann/btcpayserver that referenced this issue Dec 29, 2023
Extends the payments report data with subtotal, tip and discount amounts. This works for keypad and cart sales. Closes btcpayserver#5290.
@dennisreimann dennisreimann linked a pull request Dec 29, 2023 that will close this issue
dennisreimann added a commit to dennisreimann/btcpayserver that referenced this issue Dec 29, 2023
Extends the payments report data with subtotal, tip and discount amounts. This works for keypad and cart sales. Closes btcpayserver#5290.
@dennisreimann dennisreimann self-assigned this Jan 2, 2024
dennisreimann added a commit to dennisreimann/btcpayserver that referenced this issue Jan 25, 2024
Extends the payments report data with subtotal, tip and discount amounts. This works for keypad and cart sales. Closes btcpayserver#5290.
dennisreimann added a commit to dennisreimann/btcpayserver that referenced this issue Feb 1, 2024
Extends the payments report data with subtotal, tip and discount amounts. This works for keypad and cart sales. Closes btcpayserver#5290.
dennisreimann added a commit to dennisreimann/btcpayserver that referenced this issue Feb 2, 2024
Extends the payments report data with subtotal, tip and discount amounts. This works for keypad and cart sales. Closes btcpayserver#5290.
@pavlenex pavlenex modified the milestones: 1.13.0, 1.14.0 Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Review 🕵️
Development

Successfully merging a pull request may close this issue.

8 participants
@dennisreimann @Kukks @Liongrass @NicolasDorier @dstrukt @pavlenex @Fustler and others