Monzo for Android - Teardowns & Deep Dives 👨‍💻

New deep links for paid plans. Sounds like :soon:

1 Like

Full diff 3.23-3.22:
<string name="affordability_confirmation_message">Explore our loans without affecting your credit score.</string>
<string name="affordability_confirmation_primary_button">Explore our loans</string>
<string name="affordability_confirmation_secondary_button">Back to Credit Score</string>
<string name="affordability_confirmation_title">You’re eligible for up to %1$s</string>
<string name="automatic_export_setup_description">"We’ll add your transactions to a Google Sheet as they happen so you can get to know your money better.
<string name="automatic_export_setup_security">We’ll need permission to manage your Google Sheets. We’ll only use this to create one and add your transactions.</string>
<string name="business_multiuser_invite_activate_card_dialog_message">You need to activate or unfreeze your business card before you can add anyone.</string>
<string name="business_multiuser_invite_activate_card_dialog_title">Activate or unfreeze your card first</string>
<string name="business_multiuser_invite_error_activate_card">Please activate or unfreeze your card first.</string>
<string name="business_signup_controller_info_message">"We need to know about any major shareholders in your business.
<string name="business_signup_controller_info_title">Your shareholders…</string>
<string name="com.crashlytics.android.build_id">25741770-8475-4fef-9667-863688d5d44e</string>
<string name="confirmation_of_payee_loading_message">Checking account details…</string>
<string name="copy_toast_msg">Link copied to clipboard</string>
<string name="credit_tracker_affordability_questions_submit_button">See what you could get</string>
<string name="credit_tracker_affordability_questions_title">Questions</string>
<string name="custom_category_confirm_remove_action">Remove ‘%s’</string>
<string name="custom_category_confirm_remove_cancel">Cancel</string>
<string name="custom_category_confirm_remove_info">Payments already categorised as ‘%s’ will stay as they are.</string>
<string name="custom_category_create_footnote">Only you’ll see your custom category</string>
<string name="custom_category_create_hint">Gel pens</string>
<string name="custom_category_edit">Edit category</string>
<string name="custom_category_error_max_custom_category_count">Well, you’ve done it. You’ve maxed out our system by creating so many amazing categories. Delete some before you can create more.</string>
<string name="custom_category_error_non_unique_name">You already have a ‘%s’ category, please choose a different name.</string>
<string name="custom_category_error_non_unique_name_active">You already have a ‘%s’ category, please choose a different name.</string>
<string name="custom_category_error_non_unique_name_archived">You used to have a ‘%1$s’ category. If you’d like to bring it back, create a new ‘%2$s’ category.</string>
<string name="custom_category_remove">Remove category</string>
<string name="deep_link_paid_home">paid_home</string>
<string name="deep_link_paid_signup">paid_signup</string>
<string name="dispute_anything_else_title">Is there anything else you want to tell us about your report?</string>
<string name="dispute_fraud_intro_bullet_1" />
<string name="dispute_fraud_intro_bullet_2" />
<string name="dispute_fraud_intro_bullet_3" />
<string name="dispute_fraud_intro_copy_1">Do you recognise the merchant name, location, date or time of the payment? Some merchants use a different trading name to the one you expect.</string>
<string name="dispute_fraud_intro_copy_2">Have you given your card or account details to someone who might have used them? If you have a joint account, did the other account holder make the transaction?</string>
<string name="dispute_fraud_intro_copy_3">Did you sign up for a subscription service with a recurring payment? Or did you have a free trial that ended?</string>
<string name="dispute_fraud_intro_footer">If you still don’t recognise the transaction, please start your fraud report.</string>
<string name="dispute_fraud_intro_subtitle">There’s often a simple explanation for an unrecognised transaction. Save yourself time and worry by following these steps.</string>
<string name="dispute_fraud_intro_title">A few things to check</string>
<string name="fallback_menu_item_copy_link">Copy link</string>
<string name="fallback_menu_item_open_in_browser">Open in browser</string>
<string name="fallback_menu_item_share_link">Share link</string>
<string name="fraud_dispute_confirm_exit_title">Leave this report?</string>
<string name="fraud_dispute_confirm_form_exit_message">Any information you’ve added in your report will be lost and your card will stay frozen to keep your account safe. You can defrost your card from the home screen.</string>
<string name="fraud_dispute_confirm_tour_exit_message">Your card will stay frozen to keep your account safe. You can defrost your card from the home screen.</string>
<string name="fraud_dispute_keeping_you_safe_body">"Once you’ve submitted your report, we’ll keep your account safe by permanently blocking your card. Then we’ll send you a new card.
We might also need to change your PIN. If this is the case, we’ll let you know."</string>
<string name="fraud_dispute_location_of_pin_subtitle">For example, written down somewhere</string>
<string name="fraud_dispute_someone_else_had_access_title">Does anyone else have access to your card or PIN?</string>
<string name="fraud_dispute_title">Report fraud</string>
<string name="fraud_dispute_tour_blocking_help_content">"Blocking’s the most effective way for us to protect your account. When you report fraud to us, we’ll permanently block your card to keep it safe. Card payments (including Google Pay) won’t work anymore but you can still send and receive bank transfers, standing orders and Direct Debits.

Once your card’s blocked, we’ll send you a new one. We can’t unblock your card unless you let us know that it’s not fraud, but we can temporarily unblock your card in special situations – like if you need to make an urgent payment or withdraw some cash."</string>
<string name="fraud_dispute_tour_blocking_help_title">What is blocking?</string>
<string name="fraud_dispute_tour_card_protected_body">"Don’t worry - we’ve made sure your card’s frozen so nobody can use it.
<string name="fraud_dispute_tour_card_protected_title">Your card’s protected</string>
<string name="fraud_dispute_tour_freezing_help_content">"If your card’s lost or stolen, or you think someone’s been using it fraudulently, you can keep it safe by freezing it. Go to the ’Home’ tab in the app then tap ’Freeze’ under your card.

When your card’s frozen, card payments won’t work, including Google Pay. But you can still send and receive bank transfers, including standing orders and Direct Debits.

If you find your card or realise that a payment isn’t fraudulent, you can unfreeze your card at any time. Go to the ’Home’ tab and tap ’Defrost’."</string>
<string name="fraud_dispute_tour_freezing_help_title">What is freezing?</string>
<string name="fraud_dispute_tour_reporting_fraud_body">To help us understand the situation and try to get your money back, we need to ask a few quick questions about your card and PIN.</string>
<string name="legal_documents_list_agree_button">Agree and continue</string>
<string name="legal_documents_list_body">Confirm you’ve read, and agree to, the terms and conditions. You can download them from our website, or find them in Settings later.</string>
<string name="legal_documents_list_title">Let’s make it official</string>
<string name="payee_new_account_description_hint">Account description</string>
<string name="payee_new_account_name_hint">Recipient’s full name</string>
<string name="plans_home_settings_subtitle">Customisation and documentation</string>
<string name="pot_lock_description">If you change your mind, you can unlock it at any time.</string>
<string name="question_pick_transactions">Pick transactions</string>
<string name="question_pick_transactions_hint">Select the transactions you want to report</string>
<string name="special_offers_membership_details_description">Then show it again when you ask for the bill to apply the discount</string>
<string name="special_offers_membership_details_title">Show this gourmet society card when you arrive at the restaurant</string>
<string name="special_offers_membership_expiry_date_content_description">Expiry date %s</string>
<string name="special_offers_membership_member_number_content_description">Membership number %s</string>
<string name="uk_bank_account_type_business">Business</string>
<string name="uk_bank_account_type_label">Account type</string>
<string name="uk_bank_account_type_person">Personal</string>
<string name="uk_bank_account_type_select">Select</string>
<string name="uk_bank_account_type_selection_prompt">What kind of account are you sending money to?</string>

2 Likes

Here’s a list of what I’ve found different in the strings of 3.23.0, compared to 3.22.0 (without the custom categories bit I posted :point_up:);

1 <string name="affordability_confirmation_message">Explore our loans without affecting your credit score.</string>
<string name="affordability_confirmation_primary_button">Explore our loans</string>
<string name="affordability_confirmation_secondary_button">Back to Credit Score</string>
<string name="affordability_confirmation_title">You’re eligible for up to %1$s</string>

2 <string name="automatic_export_setup_description">"We’ll add your transactions to a Google Sheet as they happen so you can get to know your money better.</string>

3 <string name="automatic_export_setup_security">We’ll need permission to manage your Google Sheets. We’ll only use this to create one and add your transactions.</string>

4 <string name="business_multiuser_invite_activate_card_dialog_message">You need to activate or unfreeze your business card before you can add anyone.</string>
<string name="business_multiuser_invite_activate_card_dialog_title">Activate or unfreeze your card first</string>

5 <string name="business_multiuser_invite_error_activate_card">Please activate or unfreeze your card first.</string>

6 <string name="business_signup_controller_info_message">"We need to know about any major shareholders in your business.

7 <string name="business_signup_controller_info_title">Your shareholders…</string>

8 <string name="com.crashlytics.android.build_id">25741770-8475-4fef-9667-863688d5d44e</string>

9 <string name="confirmation_of_payee_loading_message">Checking account details…</string>

10 <string name="copy_toast_msg">Link copied to clipboard</string>

11 <string name="credit_tracker_affordability_questions_submit_button">See what you could get</string>
<string name="credit_tracker_affordability_questions_title">Questions</string>

12 <string name="deep_link_paid_home">paid_home</string>
<string name="deep_link_paid_signup">paid_signup</string>

The first deep link does nothing, the second almost does it, but errors.

13 <string name="dispute_anything_else_title">Is there anything else you want to tell us about your report?</string>

14 <string name="dispute_fraud_intro_bullet_1" />
<string name="dispute_fraud_intro_bullet_2" />
<string name="dispute_fraud_intro_bullet_3" />
<string name="dispute_fraud_intro_copy_1">Do you recognise the merchant name, location, date or time of the payment? Some merchants use a different trading name to the one you expect.</string>
<string name="dispute_fraud_intro_copy_2">Have you given your card or account details to someone who might have used them? If you have a joint account, did the other account holder make the transaction?</string>
<string name="dispute_fraud_intro_copy_3">Did you sign up for a subscription service with a recurring payment? Or did you have a free trial that ended?</string>
<string name="dispute_fraud_intro_footer">If you still don’t recognise the transaction, please start your fraud report.</string>
<string name="dispute_fraud_intro_subtitle">There’s often a simple explanation for an unrecognised transaction. Save yourself time and worry by following these steps.</string>
<string name="dispute_fraud_intro_title">A few things to check</string>

Lots of fraud changes

15 <string name="fallback_menu_item_copy_link">Copy link</string>
<string name="fallback_menu_item_open_in_browser">Open in browser</string>
<string name="fallback_menu_item_share_link">Share link</string>

16 <string name="fraud_dispute_confirm_exit_title">Leave this report?</string>
<string name="fraud_dispute_confirm_form_exit_message">Any information you’ve added in your report will be lost and your card will stay frozen to keep your account safe. You can defrost your card from the home screen.</string>
<string name="fraud_dispute_confirm_tour_exit_message">Your card will stay frozen to keep your account safe. You can defrost your card from the home screen.</string>
<string name="fraud_dispute_customer_possesses_card_title">Do you still have your card?</string>
<string name="fraud_dispute_keeping_you_safe_body">"Once you’ve submitted your report, we’ll keep your account safe by permanently blocking your card. Then we’ll send you a new card. We might also need to change your PIN. If this is the case, we’ll let you know."</string>
<string name="fraud_dispute_keeping_you_safe_title">Keeping you safe</string>
<string name="fraud_dispute_location_of_pin_subtitle">For example, written down somewhere</string>
<string name="fraud_dispute_location_of_pin_title">Do you keep your PIN number anywhere?</string>
<string name="fraud_dispute_pick_initial_transaction_title">Which transactions is this about?</string>
<string name="fraud_dispute_someone_else_had_access_title">Does anyone else have access to your card or PIN?</string>
<string name="fraud_dispute_title">Report fraud</string>
<string name="fraud_dispute_tour_blocking_help_content">"Blocking’s the most effective way for us to protect your account. When you report fraud to us, we’ll permanently block your card to keep it safe. Card payments (including Google Pay) won’t work anymore but you can still send and receive bank transfers, standing orders and Direct Debits. Once your card’s blocked, we’ll send you a new one. We can’t unblock your card unless you let us know that it’s not fraud, but we can temporarily unblock your card in special situations – like if you need to make an urgent payment or withdraw some cash."</string>
<string name="fraud_dispute_tour_blocking_help_title">What is blocking?</string>
<string name="fraud_dispute_tour_card_protected_body">"Don’t worry - we’ve made sure your card’s frozen so nobody can use it. If you realise it’s not fraud before you submit your report, you can always go back and defrost your card."</string>
<string name="fraud_dispute_tour_card_protected_title">Your card’s protected</string>
<string name="fraud_dispute_tour_confirm_exit_positive_button">Leave</string>
<string name="fraud_dispute_tour_freezing_help_content">"If your card’s lost or stolen, or you think someone’s been using it fraudulently, you can keep it safe by freezing it. Go to the ’Home’ tab in the app then tap ’Freeze’ under your card. When your card’s frozen, card payments won’t work, including Google Pay. But you can still send and receive bank transfers, including standing orders and Direct Debits. If you find your card or realise that a payment isn’t fraudulent, you can unfreeze your card at any time. Go to the ’Home’ tab and tap ’Defrost’."</string>
<string name="fraud_dispute_tour_freezing_help_title">What is freezing?</string>
<string name="fraud_dispute_tour_reporting_fraud_body">To help us understand the situation and try to get your money back, we need to ask a few quick questions about your card and PIN.</string>

More fraud changes

17 <string name="legal_documents_list_agree_button">Agree and continue</string>
<string name="legal_documents_list_body">Confirm you’ve read, and agree to, the terms and conditions. You can download them from our website, or find them in Settings later.</string>
<string name="legal_documents_list_title">Let’s make it official</string>

18 <string name="payee_new_account_description_hint">Account description</string>
<string name="payee_new_account_name_hint">Recipient’s full name</string>

19 <string name="plans_home_settings_subtitle">Customisation and documentation</string>

20 <string name="pot_lock_description">If you change your mind, you can unlock it at any time.</string>

21 <string name="question_pick_transactions">Pick transactions</string>
<string name="question_pick_transactions_hint">Select the transactions you want to report</string>

22 <string name="special_offers_membership_details_description">Then show it again when you ask for the bill to apply the discount</string>
<string name="special_offers_membership_details_loading">Fetching your details…</string>
<string name="special_offers_membership_details_title">Show this gourmet society card when you arrive at the restaurant</string>
<string name="special_offers_membership_error_message">Make sure you’re connected to the internet before retrying</string>
<string name="special_offers_membership_expiry_date_content_description">Expiry date %s</string>
<string name="special_offers_membership_member_number_content_description">Membership number %s</string>

More Gourmet / offers stuff.

23 <string name="uk_bank_account_type_business">Business</string>
<string name="uk_bank_account_type_label">Account type</string>
<string name="uk_bank_account_type_person">Personal</string>
<string name="uk_bank_account_type_select">Select</string>
<string name="uk_bank_account_type_selection_prompt">What kind of account are you sending money to?</string>

That’s all folks!
No massive changes, but definately building up to something

3 Likes

If these two strings are on the same screen it confirms that custom categories are going to be part of Plus.

<string name="custom_category_error_non_unique_name_archived">You used to have a ‘%1$s’ category. If you’d like to bring it back, create a new ‘%2$s’ category.</string>
<string name="custom_category_remove">Remove category</string>
<string name="deep_link_paid_home">paid_home</string>

Is the Paid Home string a back button?

I wonder if they’d hype plus by making an amount of customer categories available to everyone, then unlimited on Plus

1 Like

Limit for custom categories had better be a lot :roll_eyes:

1 Like

Looks like the plus signup deep link is working, but probably has a flag disabled

2 Likes

Oh, nearly forgot - 3.23.0 has the following updated and new assets;

Updated ;Affordability’ and ‘Product Information’ graphics;
affordability ic_product_information

New; ‘Sheet Avatar’ (must be part of the ability to export transactions in real-time to Google sheets);
ic_sheet_avatar

2 Likes

Deep links and the custom categories are in different sections of code, so there is no clue as to whether they will be part of paid for plans or not. They appear together above because of how that post was written only.

2 Likes

I’d probably put money on them being behind the paywall, though. Monzo has an incentive to make sure that there are premium features for NewPlus - and if it’s out for the end of the month we’ll need to start seeing them in the app now.

So far I think we’re looking at:

  • Custom categories
  • Export to Google
  • Payment initiation from third party accounts (and viewing transactions?)

Anything I’ve missed?

Edit: was there a roundup accelerator as well a while back? :thinking:

I offer no opinion on any of this. I was merely answering that the code isn’t written as was included in the post above.

What I will say is that some payment initiation code has been around for a while, and that that a form of exporting data has been in labs for a while and from another thread there will be an update on that soon (has been disabled as not SCA compliant in the current form - and the new version will export all data).

Just saying, better not to create our own conclusions. We’ll find out what plans includes soon - but obvs definitely going to include gourmet society membership as that code is clear.

2 Likes

I quite like the speculation! But, as you say, we’ll know soon enough - and then we can offer our opinions on the value for money of the bundles!

1 Like

That’s correct. As written above, the order of string entries are alphabetical-changes only. So ‘custom…’ will always be close to ‘deep…’. Looking at the full list shows many unchanged entries in-between them. But they are only string names which are referenced by other sections of code and so any interaction could be to/from anywhere.

1 Like

The Gourmet Society card too

1 Like

Do we think custom categories will apply to joint accounts? If it’s a paid feature then would both account holders need to pay? What happens if one account stops paying etc etc.

I hope this complexity means it’s a free for all feature🤞

Last time Plus was only for current accounts. Monzo said it was too complex to be able to offer it for joint accounts as insurance and such would then need to cover 2 people.

My guess is that the same will apply this time. If it becomes successful I imagine they would roll out joint account support at a later date.

3.23.1 (beta) landed.

I can see lots of low-level code changes but nothing visual or spectacular. Nothing to see here.

Oh, mentions above of the Gourmet Society card - here is the card image;

gourmet_society_card_image

5 Likes

Version 3.24.0 changes;

Account picker;

<string name="app_account_picker_dialog_title">Choose an account</string>

Business account sign-up changes;

<string name="business_signup_company_size_assets_label">Total assets</string>
<string name="business_signup_company_size_assets_options_title">Total assets</string>
<string name="business_signup_company_size_body">We collect this for regulation and to determine your FSCS eligibility.</string>

<string name="business_signup_company_size_title">Roughly what size is your business currently?</string>

<string name="business_signup_company_size_turnover_label">Annual turnover</string>
<string name="business_signup_company_size_turnover_options_title">Annual turnover</string>

<string name="business_signup_completed_message">"Your card’s on the way. Remember to activate it in the app when it arrives. To access your business account, tap your profile picture then swipe across."</string>
<string name="business_signup_completed_primary_button">Go to account</string>
<string name="business_signup_completed_title">Your business account is ready!</string>

<string name="business_tour_all_features_action">Explore plans</string>
<string name="business_tour_direct_debit_subtitle">See all your scheduled payments</string>
<string name="business_tour_direct_debit_title">Manage Direct Debits</string>
<string name="business_tour_eligibility_action">Check eligibility</string>
<string name="business_tour_feature_web_subtitle">Manage your money from anywhere</string>
<string name="business_tour_feature_web_title">Mobile and web access</string>
<string name="business_tour_fscs_eligibility_action">FSCS eligibility</string>
<string name="business_tour_fscs_subtitle">Just like the high street banks</string>
<string name="business_tour_fscs_title">£85,000 FSCS protection</string>
<string name="business_tour_integrations_subtitle">Sync tools or export transactions</string>
<string name="business_tour_integrations_title">Integrated accounting</string>
<string name="business_tour_invocing_subtitle">Create, send and track invoices</string>
<string name="business_tour_invocing_title">Invoicing</string>
<string name="business_tour_multi_user_subtitle">Add up to 2 others to your account</string>
<string name="business_tour_multi_user_title">Multi-user access</string>
<string name="business_tour_notification_subtitle">The second you pay, or get paid</string>
<string name="business_tour_notification_title">Instant notifications</string>
<string name="business_tour_page1_description">Everything you’d expect from a full UK bank, plus the Monzo magic.</string>
<string name="business_tour_page1_title">With the best of Monzo</string>
<string name="business_tour_page2_description">With time-saving tools that help solve real business problems.</string>
<string name="business_tour_page2_title">Built for real businesses</string>
<string name="business_tour_page3_description">Your money’s protected up to £85,000 by the FSCS if you’re eligible. And as a fully regulated UK bank, we adhere to the same rules as all high street banks.</string>
<string name="business_tour_page3_title">Complete peace of mind</string>
<string name="business_tour_page4_description">"All right here in the app. Once your account’s open, switch from your old bank hassle-free, if you want to. Right now, we only offer accounts to sole traders and limited companies who’re UK-based and only pay tax in the UK."</string>
<string name="business_tour_page4_title">Open a bank account in minutes</string>
<string name="business_tour_receipts_subtitle">Add receipts to payments</string>
<string name="business_tour_receipts_title">Digital receipts</string>
<string name="business_tour_security_subtitle">So you know your money’s safe</string>
<string name="business_tour_security_title">Advanced security</string>
<string name="business_tour_support_subtitle">Human help in the app, 24/7</string>
<string name="business_tour_support_title">Award winning support</string>
<string name="business_tour_tax_pot_subtitle">Automatically set aside tax money</string>
<string name="business_tour_tax_pot_title">Tax Pots</string>
<string name="business_tour_transfers_subtitle">Unlimited UK fee-free transfers</string>
<string name="business_tour_transfers_title">Free, instant UK bank transfers</string>

oooh - blocking spending at selected merchants;

<string name="card_management_blocked_merchants">Blocked Merchants</string>

CoP;

<string name="confirmation_of_payee_account_type">Account type</string>
<string name="confirmation_of_payee_account_type_format">The account type you entered doesn’t match the type on the records of %1$s &lt;b>(%2$s)&lt;/b></string>
<string name="confirmation_of_payee_back_to_details">Back to details</string>
<string name="confirmation_of_payee_continue_anyway">Continue anyway</string>
<string name="confirmation_of_payee_error_alert_message">"If you’re not sure, cancel this payment. Once you make a payment, it’s almost impossible for us to get the money back."</string>
<string name="confirmation_of_payee_error_alert_title">Could someone be trying to scam you?</string>
<string name="confirmation_of_payee_error_message">This doesn’t necessarily mean the account details are wrong. But we’d suggest double checking them before you pay.</string>
<string name="confirmation_of_payee_error_title">We couldn’t check this account</string>

<string name="confirmation_of_payee_recipient">Recipient</string>
<string name="confirmation_of_payee_recipient_format">The name you entered doesn’t match the name on the records of %1$s &lt;b>(%2$s)&lt;/b></string>

Some sort of developer auto-login?;

<string name="developer_options_pref_key_auto_login">auto_login</string>

More merchant blocking;

<string name="merchant_block_dialog_negative_button">Cancel</string>
<string name="merchant_block_dialog_positive_button">Unblock</string>
<string name="merchant_block_footer">Merchants you block will be added here</string>
<string name="merchant_block_item_button_text">unblock</string>
<string name="merchant_block_no_merchant_block">"You don’t have any blocked merchants. To block your spending somewhere, open a payment to somewhere you want to block and scroll to the bottom."</string>
<string name="merchant_block_toolbar_title">Blocked merchants</string>
<string name="merchant_block_unblock_description">"You’ll be able to spend with this merchant again. Remember your reason for blocking them:\"%s\""</string>
<string name="merchant_block_unblock_title">Are you sure you want to unblock %s?</string>

Location based offers;

<string name="settings_location_based_special_offers">Location-based offers</string>
<string name="settings_location_subtitle">We’ll only use your location if you explicitly opted in.</string>

New Assets;

fast_clock_illustration ic_alert_black_fill ic_match ic_no_match ic_person_round ic_question_round icn_briefcase icn_digital_receipt icn_fscs_purple icn_pund_in_envelop icn_taxpot_percentage

17 Likes

Looks like a proper web version of Monzo has been (is being?) built for business. V keen to see what this looks like. And whether we might get access on personal accounts too…

Cashback potentially?