Bernt Christian Egeland
|
4e6793da2f
Online payments are booked once, with end-to-end tests for Stripe and PayPal (#377)
|
2 недель назад |
Bernt Christian Egeland
|
efc607f597
Point workshops at the new email designer (#376)
|
2 недель назад |
Bernt Christian Egeland
|
87ccf875bd
End-to-end tests for the email template designer (#375)
|
3 недель назад |
Bernt Christian Egeland
|
e66ec9b0d2
Split tax into several rates for Québec and other two-tax markets (#374)
|
3 недель назад |
Bernt Christian Egeland
|
bc9c30cd43
End-to-end tests: auth, work order pricing, quote to invoice (#373)
|
3 недель назад |
Bernt Christian Egeland
|
a468981b75
Enabling 2FA fails (#372)
|
3 недель назад |
Bernt Christian Egeland
|
cc698675b0
A better-looking default email (#371)
|
3 недель назад |
Bernt Christian Egeland
|
bc0236c4c3
Team invitations go out through the email designer (#370)
|
3 недель назад |
Bernt Christian Egeland
|
dd8f35b0a1
Telegram QR code on invoices (#369)
|
3 недель назад |
Bernt Christian Egeland
|
eb20c53682
Remove the providers signpost page (#368)
|
3 недель назад |
Bernt Christian Egeland
|
c4c42e1783
Let a portal customer read an invoice without downloading it (#367)
|
3 недель назад |
Bernt Christian Egeland
|
a1cffaa593
Split invoice settings into three cards, move markup and customer numbers home (#366)
|
3 недель назад |
Bernt Christian Egeland
|
6afb4b5ef2
Line prices including tax, and part picture saving (#365)
|
3 недель назад |
Bernt Christian Egeland
|
f5b1e4d15c
Let workshops name their organisation number (#360)
|
3 недель назад |
Bernt Christian Egeland
|
b4f4b051ed
Pass the Cloudflare visitor address to the production container (#359)
|
3 недель назад |
Bernt Christian Egeland
|
3f4fc19357
Trust Cloudflare's visitor address on staging too
|
3 недель назад |
Bernt Christian Egeland
|
1ef5f249aa
Tidy up file handling, team roles and integrations (#358)
|
3 недель назад |
Bernt Christian Egeland
|
d05b18192d
Email template designer (#357)
|
3 недель назад |
Bernt Christian Egeland
|
818cda19dc
Customer address on more than one line (#356)
|
3 недель назад |
Bernt Christian Egeland
|
3955d3cbc4
Let a quote's part and labour lines run to more than one line (#355)
|
3 недель назад |
Bernt Christian Egeland
|
11b59bc22c
Shared invoice ignores line breaks (#354)
|
3 недель назад |
Bernt Christian Egeland
|
064b75effc
Show on the billing list whether an invoice has been opened (#353)
|
3 недель назад |
Bernt Christian Egeland
|
5506995d87
Remember the sort order on the billing list (#352)
|
3 недель назад |
Bernt Christian Egeland
|
3f8e2c9c94
Print the payment panel and the title strip in the order their fields are in (#351)
|
3 недель назад |
Bernt Christian Egeland
|
8765a34217
Email a document as a link instead of a PDF attachment (#350)
|
3 недель назад |
Bernt Christian Egeland
|
bf83e5da5b
Customer link is undefined (#349)
|
3 недель назад |
Bernt Christian Egeland
|
056853e6c4
Clock in and out from the web, a timesheet page for managers, and clocked time on work orders and the technician report (#348)
|
3 недель назад |
Bernt Christian Egeland
|
d08e9f8c05
Set Reply-To on support request mails so replying from the inbox reaches the person who asked (#347)
|
3 недель назад |
Bernt Christian Egeland
|
07c742cf1e
Copy the next-ws follow-up patch script into the Docker deps stage so npm ci can run prepare (#346)
|
3 недель назад |
Bernt Christian Egeland
|
daa2cb1f58
Read the quote form before awaiting custom-field validation so save does not throw and spin forever (#345)
|
3 недель назад |