Page MenuHomePhabricator

Invoicing emails probably need some work
Open, NormalPublic

Description

Very Bare-Bones: Invoicing emails have everything they need to, but they lack a certain je ne sais quoi.

Merchants CC'd: Currently, merchant accounts get CC'd on invoice emails. This makes some degree of sense, practically, and is consistent with other Phabricator applications, but feels a bit weird. Dropping them from non-approval emails or sending them a separate "merchant" version of the email might make more sense.

Subject: They generate with a subject like [Phortune] [New Invoice] Order X: Phabricator Instance which is, again, technically OK but not really great.

From: They should come "From" the merchant as an address display label. The currently come "From" the default address.

Event Timeline

epriestley raised the priority of this task from to Normal.
epriestley updated the task description. (Show Details)
epriestley added projects: Phacility, Phortune.
epriestley moved this task to Do After Launch on the Phacility board.
epriestley added a subscriber: epriestley.
epriestley updated the task description. (Show Details)Mar 17 2015, 6:12 PM
chad added a subscriber: chad.Mar 17 2015, 6:36 PM

I actually have some design studies on this in general, so it has begun on the explorative side of the house.

chad claimed this task.Mar 17 2015, 6:36 PM

For reference, here's what they look like today:

chad added a comment.Mar 17 2015, 6:54 PM

Can these be one offs (HTML) or do you see them going through the normal pipeline. Basically, how much freedom do I have. I'm not looking for fancy, just need to know if I can fork from normal HTML.

We can make these look different from other transactional email (but still general to Phortune) with a moderate amount of time, work, and ongoing maintenance cost.

We can make these look unique to Phacility at substantial cost.

Personally, I think this is worth less than an hour of time to sand some of the edges off. I'd probably address these things if they didn't end up being too hard:

  • Fix the "From" name to the merchant name, which will give us a cheap, general way for them to say "Phacility".
  • Drop "phortune" or use the merchant name.
  • Only CC the merchant on approval-required emails.
  • Do a quick pass on smoothing out the copy a little bit.

I think this is pretty near the bottom of the list of importance, but the mails are so rough around the edges right now that they could be kind of confusing (specifically, it may not be clear enough that they're coming from Phacility).

chad added a comment.Mar 17 2015, 7:08 PM

I promise to keep the design to under an hour's work. Mostly, I don't want them looking like "Phabricator" emails, and just a plain logo, address, and table.

This was my Dropbox receipt for reference:

.

I'm wondering if I could even just build a simple UI for Instances that'd be a "printable" version as well as what we email, so it'd serve both purposes.

It can't hurt to have a mock available, but it's unlikely that I can implement logos for merchants in less than an hour (because of T6670, this may actually be a day or more of work).

Here's what you get if you print the web invoice, which seems pretty reasonable to me, although we could improve the printable CSS on many of the elements:

chad added a comment.Mar 17 2015, 7:25 PM
 /$$$$$$$  /$$                           /$$ /$$ /$$   /$$              
| $$__  $$| $$                          |__/| $$|__/  | $$              
| $$  \ $$| $$$$$$$   /$$$$$$   /$$$$$$$ /$$| $$ /$$ /$$$$$$   /$$   /$$
| $$$$$$$/| $$__  $$ |____  $$ /$$_____/| $$| $$| $$|_  $$_/  | $$  | $$
| $$____/ | $$  \ $$  /$$$$$$$| $$      | $$| $$| $$  | $$    | $$  | $$
| $$      | $$  | $$ /$$__  $$| $$      | $$| $$| $$  | $$ /$$| $$  | $$
| $$      | $$  | $$|  $$$$$$$|  $$$$$$$| $$| $$| $$  |  $$$$/|  $$$$$$$
|__/      |__/  |__/ \_______/ \_______/|__/|__/|__/   \___/   \____  $$
                                                               /$$  | $$
                                                              |  $$$$$$/
                                                               \______/
chad added a comment.Mar 17 2015, 10:34 PM

Is there a way to add me to the Phacility payment team on admin?

Do you want to be part of the merchant account, or do you want to be able to pay for our instances?

chad added a comment.Mar 17 2015, 10:38 PM

I think just the merchant account, I want to see the invoice and rough out print.css etc.

Oh, that's the payment account (not the merchant account). The merchant account lets you refund charges, etc. I'll add you to the payment account.

chad added a comment.Mar 17 2015, 10:41 PM

that page needs more icons

Yeah, Phortune is generally a bit under-designed and dense-feeling.

apoorvparijat moved this task from Backlog to Do After Launch on the Phacility board.
chad added a comment.Mar 18 2015, 5:51 PM

HTML email (as simple as I could get it).

I'll post a text version, which will just collapse the table into some definition list looking thing.

From the Twitterverse, we should look at making payments as super easy as possible, especially if ur deadbeat.

(disclaimer, I don't know what we include here offhand) - pls ignore if I'm wrong here

If no saved payment method, provide direct link to add card
If no auto payment method, provide hint/link to make auto payment enabled.

An instance needs their own address (and some other information) on the invoice for tax purposes:

Company Name
Some Road
Whatever Whatever
Secret British ID Code: XYZ

Presumably we can add this as account-level configuration and then just print whatever they write on invoices. This feels vaguely flimsy (in the vein of "impressum") but I could imagine other use cases for it (e.g., just put some note to your Accounts Payable department there), particularly in conjunction with T8389.

chad added a comment.Oct 25 2016, 4:33 PM

I don't mind doing this, if you know what it is you want.

I think we could reasonably do this:

  • Add some kind of text field to PhortuneAccount, probably billingAddress I guess. We could try to call this freeformNoteToSelfWhichShowsUpOnInvoices or something to hint that you could put a note to your AP department here or a tax number or whatever, but users will probably figure that out 90% of the time and we can say "oh, just add it to the bottom of your billing address" the other 10% easily enough.
  • In Phortune account detail > Edit Account, add a field for it under "Name" and "Members" (this isn't EditEngine yet, unfortunately).
  • Figure out some way to put it on the cart page I guess.
  • Getting it into the email is desirable but probably nontrivial.

You could also do the same for PhortuneMerchant to let us put our address opposite their address. Also no EditEngine yet but I don't think it's a big deal to do these old-school-style since the total amount of wasted effort is fairly small (~20 lines in each Controller).

I guess the Merchant version would be businessAddress or something since Merchants aren't normally billed.

chad added a comment.Oct 25 2016, 4:39 PM

I think I had a similar diff floating around.

If you do Merchants, you could add sendFromEmailAddress or whatever and maybe shortNameForEmailSubjectLines (perhaps with less-awful names) and I can hook them up at some point so this:

From: Phabricator <noreply@admin.phacility.com>
Subject: [Phortune] [New Invoice] Order 123: Phabricator Instance

...can become this:

From: Phacility <noreply@admin.phacility.com>
Subject: [Phacility] [New Invoice] Order 123: Phabricator Instance

Actually applying that stuff to the mail is probably a bit of a pain but adding fields for it should be straightforward.

(Or you could convert everything to EditEngine.)

chad added a comment.Oct 27 2016, 3:55 PM

I'm building out a PhortuneReceiptView for the web, which I think we can also send as the HTML version in mail? Not sure if we can call custom HTML rendering in mail.

We can, but all styles need to be inline. DifferentialInlineCommentMailView is an example of an arbitrary-HTML-generating rendering class used in mail.

chad added a comment.Oct 27 2016, 4:18 PM

Actually probably moot if we can just provide a link to the new print view.

chad added a comment.Oct 29 2016, 5:03 PM

Do we need a new field for subjects or is Merchant Name enough? Not sure both are needed.

If you do Merchants, you could add sendFromEmailAddress or whatever and maybe shortNameForEmailSubjectLines (perhaps with less-awful names) and I can hook them up at some point so this:

From: Phabricator <noreply@admin.phacility.com>
Subject: [Phortune] [New Invoice] Order 123: Phabricator Instance

...can become this:

From: Phacility <noreply@admin.phacility.com>
Subject: [Phacility] [New Invoice] Order 123: Phabricator Instance

Actually applying that stuff to the mail is probably a bit of a pain but adding fields for it should be straightforward.
(Or you could convert everything to EditEngine.)

We can probably just use the merchant name for now. I could maybe imagine some "International Business Machines, Inc" vs "IBM" stuff down the line, but no immediate issue for "Phacility".

Followup from the same instance as above (T7607#198199) with the same request (put their contact details on the invoice). All of the prior changes put our contact details on the invoice but printable invoices are currently hard-coded to always be billed "To" the real name of the paying user.

I think T7607#198202 is still the way forward on this.

epriestley removed chad as the assignee of this task.Mar 16 2019, 8:41 PM