Create Zoho CRM module entries from new QuickBooks Online invoices
Easily manage your invoicing and CRM processes with this seamless workflow. When a new invoice is created in QuickBooks Online, this automation will trigger the creation of a module entry in Zoho CRM. Stay organized and save time by ensuring your financial and customer data stay up-to-date across both platforms.
Easily manage your invoicing and CRM processes with this seamless workflow. When a new invoice is created in QuickBooks Online, this automation will trigger the creation of a module entry in Zoho CRM. Stay organized and save time by ensuring your financial and customer data stay up-to-date across both platforms.
- When this happens...New Invoice
Triggers when you add a new invoice.
TriggerInstantThis event starts a Zap instantly. - automatically do this!Create Module Entry
Creates a new entry in a module
ActionWriteCreate a new record or update an existing record in your app.
- Free forever for core features
- 14 day trial for premium features & apps
New Account
Triggers when you add a new account.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Customer
Triggers when you add a new customer.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Expense
Triggers when a new expense is added.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Invoice
Triggers when you add a new invoice.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Credit Memo
Triggers when a new credit memo is created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Invoice Paid
Triggers when an invoice is paid in full. (Balance changes to zero)
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planNew Product
Triggers when a new product is created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Payment
Triggers when a payment is received (with line item support).
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Purchase Order
Triggers when a new purchase order is added.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Updated Bill
Triggers when a bill is updated.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Updated Customer
Triggers when an existing customer is updated.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Updated Invoice
Triggers when an invoice is updated.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.VendorRequired
Bill Number
Line Item
Line Description
AmountRequired
Qty
Unit Price
Line Class
AP Account
Customer
Due Date
Transaction Date
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.VendorRequired
Terms
Transaction Date
Due Date
Bill Number
Department
Global Tax Calculation
Product/Service
Description
Qty
Rate
AmountRequired
Billable?
Customer
Line Class
Tax Code
AP Account
Memo
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Primary Email Address
Given NameRequired
Family NameRequired
Middle Name
Employee Phone Number
Birth Date
Billable Time
Active
Release Date
Cost Rate
Employee Mobile
Gender
Hired Date
Organization
Address Line 1
Address Line 2
Address Line 3
Address Line 4
Address Line 5
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Full NameRequired
Display Name
Title
First Name
Middle name
Last Name
Company
Email
Phone
Mobile
Fax
Other
Website
Active
GST Registration Type
GSTIN
Address Line 1
Address Line 2
Address City
Address State Code
Address Zip Code
Address Country
Shipping Address Line 1
Shipping Address Line 2
Shipping Address City
Shipping Address State Code
Shipping Address Zip Code
Shipping Address Country
Notes
Currency
Taxable
Tax Code
Tax Registration Number
Tax Resale Number
Job/Parent Customer
Bill with Parent?
Preferred Payment Method
Preferred Delivery Method
Terms
Customer Type
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Payee TypeRequired
Payment TypeRequired
Bank/Credit AccountRequired
Payment Date
Payment Method
Reference Number
Print Later?
Account
Description
Amount
Billable Status
Tax Code
Customer
Class
Product/Service
Description
Quantity
Rate
Amount
Billable Status
Tax Code
Customer
Class
Memo
Tax Code
Total Tax
Tax Calculation
Department
Location
Currency
Exchange Rate
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Journal Date
Journal Number
AccountRequired
Debit AmountRequired
Description
Customer Name
Vendor Name
Employee Name
Department
Class
AccountRequired
Credit AmountRequired
Description
Customer Name
Vendor Name
Employee Name
Department
Class
Memo
Currency
Exchange Rate
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Info
Customer
Find Customer by Name/Email
Email
Send Later?
Note
Message
Line AmountRequired
Service Date
Line Description
Product/Service
Line Item Quantity
Line Item Unit Price
Line Item Tax Code
Line Item Class
Transaction Date
Total Discount
Payment Method
Payment Reference Number
Deposit To Account
Sales Receipt Number
Auto Generate Sales Receipt Number
Address Line 1
Address Line 2
Address City
Address State Code
Address Zip Code
Address Country
Shipping Address Line 1
Shipping Address Line 2
Shipping Address City
Shipping Address State Code
Shipping Address Zip Code
Shipping Address Country
Currency
Exchange Rate
Class
Tax Code
Total Tax
Tax Calculation
Shipping Tax
Shipping Cost
Department
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.VendorRequired
Purchase Order Status
Mailing Address
Shipping Address
Purchase Order Date
Ship Via
Purchase Order Number
Account
Description
Amount
Customer
Class
Product/Service
Description
Quantity
Rate
Amount
Customer
Class
Your Message to Vendor
Memo
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Estimate IdRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Sales ReceiptRequired
Email
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Bill IDRequired
Vendor
AP Account
Transaction Date
Due Date
Line ID
Amount
Description
Account
Customer
Class
Tax Code
Billable Status
Currency
Exchange Rate
Private Note
Global Tax Calculation
Total Amount
Sales Terms
Department
Document Number
Include in Annual TPAR
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Estimate IDRequired
Customer
Transaction Date
Shipping Date
Detail Type
Amount
Description
Item
Unit Price
Quantity
Discount Percent
Print Status
Email Status
Shipping Address Line 1
Shipping Address Line 2
Shipping Address City
Shipping Address State/Province
Shipping Address Postal Code
Shipping Address Country
Billing Address Line 1
Billing Address Line 2
Billing Address City
Billing Address State/Province
Billing Address Postal Code
Billing Address Country
Class
Sales Terms
Shipping Method
Tracking Number
Document Number
Accepted By
Accepted Date
Exchange Rate
Department
Apply Tax After Discount
Private Note
Customer Memo
Expiration Date
Transaction Status
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ItemRequired
Name
Type
SKU
Sales Tax Included
Sales Tax Code
Class
Source
Purchase Tax Included
Description
Sub Item
Taxable
Purchase Description
Active
Purchase Cost
Unit Price
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Full NameRequired
Phone
Email
Website
Address Line 1
Address Line 2
Address City
Address State Code
Address Zip Code
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Account NameRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appSearch FieldRequired
Search ValueRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appInfo
ID
Name
ActionThis is an event a Zap performs.SearchFind existing data in your appIdRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appInfo
Invoice Number
Invoice ID
Invoice Date
Due Date
ActionThis is an event a Zap performs.SearchFind existing data in your appNameRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appInfo
ID
Display Name
Primary Email Address
Given NameRequired
Family NameRequired
Middle Name
Employee Phone Number
Birth Date
Billable Time
Active
Release Date
Cost Rate
Employee Mobile
Gender
Hired Date
Organization
Address Line 1
Address Line 2
Address Line 3
Address Line 4
Address Line 5
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundInfo
Product NameRequired
SKU
TypeRequired
Description On Sales Forms
Sales Price/Rate
Description On Purchase Forms
Cost
Category
Is Taxable?
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundNew Contact
Triggers when a new contact is created. If you are on a paid plan for the Zoho CRM then it is advisable to use New Module Entry (Instant) trigger.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planNew or Updated Lead
Triggers when a new lead is added or modified in Zoho. If you are on a paid plan for the Zoho CRM then it is advisable to use New/Updated Module Entry (Instant) trigger.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planNew User
Triggers when a new active user is added to your Zoho CRM account.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planModuleRequired
Entry IDRequired
File name
Attchment FileRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.LeadRequired
Notify lead owner
Notify new entity owner
Account ID
Overwrite
Contact ID
Assign to
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ModuleRequired
LayoutRequired
Entry IDRequired
Trigger
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ModuleRequired
LayoutRequired
Trigger
duplicate check fields
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ModuleRequired
Field nameRequired
ValueRequired
Optional Copy
Field name 2
Value 2
ActionThis is an event a Zap performs.SearchFind existing data in your appModuleRequired
Field nameRequired
ValueRequired
Optional Copy
Field name 2
Value 2
LayoutRequired
Trigger
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is found
New Bill
Triggers when a new bill is added.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Estimate
Triggers when you add a new estimate.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Bill Payment
Triggers when a new bill paid.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Deposit
Triggers when a there is a new deposit.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Journal Entry
Triggers when a new journal entry is created.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Refund Receipt
Triggers when there is a new refund receipt.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Project
Triggers when a new project is created.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planNew Sales Receipt
Triggers when a new sales receipt is added.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Updated Credit Memo
Triggers when a credit memo is updated.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.Updated Estimate
Triggers when an existed estimate is updated.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.New Vendor
Triggers when a new vendor is added.
Try ItTriggerThis is the start of your ZapInstantThis event starts a Zap instantly.VendorRequired
Terms
Transaction Date
Due Date
Bill Number
Department
Currency
Global Tax Calculation
Description
AmountRequired
Billable?
Customer
Class
AccountRequired
Tax Code
AP Account
Memo
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Deposit To AccountRequired
Transaction Date
Private Note
Currency
Exchange Rate
Global Tax Calculation
Department
Transaction Source
Transaction Location Type
AmountRequired
AccountRequired
Payment Method
Description
Transaction Type
Entity
Class
Check Number
Tax Code
Tax Applicable On
Cash Back Account
Cash Back Amount
Cash Back Memo
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.CustomerRequired
Email
Send Later?
Billing Address
Credit Memo Date
Credit Memo Number
Auto Generate Credit Memo Number
Class
AmountRequired
Service Date
Product/Service
Description
Quantity
Rate
Tax
Class
Message Displayed On Credit Memo
Memo
Apply Tax After Discount?
Discount Value
Discount Percent
Sales Tax Rate
Shipping Cost
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.CustomerRequired
Number
Line AmountRequired
Line Description
Line Item/Product
Line Item Quantity
Line Item Tax Code
Line Item Service Date
Rate
Tax Calculation
Transaction Date
Expiration Date
Ship Date
Message displayed on estimate
Billing Address
Billing Address City
Billing Address Country
Billing Address Postal Code
Billing Address State/Province
Shipping Address
Shipping Address City
Shipping Address Country
Shipping Address Postal Code
Shipping Address State/Province
Shipping amount
Bill Email
Send later
Discount Value
Discount Percent
Class
Sales Terms
Shipping Method
Tracking Number
Private Note
Transaction Status
Apply Tax After Discount
Print Status
Department
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.TypeRequired
NameRequired
Description On Sales Forms
Sales Price/Rate
Description On Purchase Forms
Cost
SKU
Category
Is Taxable?
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Info
CustomerRequired
Email
Cc
Bcc
Send Later?
Billing Address
Shipping Address
Terms
Invoice Date
Due Date
Ship Via
Shipping Date
Tracking Number
Invoice Number
Auto Generate Invoice Number
Service Date
Product/Service
Description
Quantity
Rate
Helptext Line Amount
Amount
Tax
Class
Add Bundle Item to invoice?
Message Displayed on Invoice
Message Displayed on Statement
Accept Payment Via Bank Transfer
Accept Payment Via Credit Card
Tax Code
Total Tax
Tax Calculation
Apply Tax After Discount?
Discount Value
Discount Percent
Shipping Tax
Shipping
Deposit
Deposit To Account
Class
Department
Location
Currency
Exchange Rate
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.CustomerRequired
Total AmountRequired
Unapplied Amount
Transaction Date
Payment Method
Payment Reference Number
Deposit To Account
Line Amount
Line Linked Invoice
Memo
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Refund FromRequired
Customer
Email
Billing Address
Refund Receipt Date
Refund Receipt Number
Transaction Class
Payment Method
Check Number
Print Later?
Product/ServiceRequired
AmountRequired
Service Date
Description
Quantity
Rate
Tax
Class
Message Displayed On Refund Receipt
Memo
Apply Tax After Discount?
Discount Value
Discount Percent
Sales Tax Rate
Shipping
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Info
InvoiceRequired
Email
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Time Activity TypeRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.CustomerRequired
Company
Email
Title
First name
Middle name
Last name
Suffix
Display name as
Phone
Mobile
Fax
Other
Website
Print On Check As
Notes
Billing Address - Street
Billing Address - City/Town
Billing Address - State/Province
Billing Address - ZIP code
Billing Address - Country
Shipping Address - Street
Shipping Address - City/Town
Shipping Address - State/Province
Shipping Address - ZIP code
Shipping Address - Country
Exemption Details
Job/Parent Customer
Active
Customer Type
Preferred Payment Method
Taxable
Tax Code
Tax Registration Number
Currency
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.InvoiceRequired
Customer
Email
Cc
Bcc
Send Later?
Billing Address
Shipping Address
Terms
Invoice Date
Due Date
Ship Via
Shipping Date
Tracking Number
Invoice Number
Auto Generate Invoice Number
Service Date
Product/Service
Description
Quantity
Rate
Amount
Tax
Class
Message Displayed on Invoice
Message Displayed on Statement
Accept Payment Via Bank Transfer
Accept Payment Via Credit Card
Tax Code
Total Tax
Tax Calculation
Apply Tax After Discount?
Discount Value
Discount Percent
Shipping Tax
Shipping
Deposit
Class
Department
Location
Currency
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.Sales Receipt IDRequired
Customer
Transaction Date
Shipping Date
Info
Detail Type
Amount
Description
Item
Unit Price
Quantity
Discount Percent
Total Amount
Print Status
Email Status
Payment Reference Number
Deposit To Account
Payment Method
Shipping Address Line 1
Shipping Address Line 2
Shipping Address City
Shipping Address State/Province
Shipping Address Postal Code
Shipping Address Country
Billing Address Line 1
Billing Address Line 2
Billing Address City
Billing Address State/Province
Billing Address Postal Code
Billing Address Country
Tracking Number
Class
Department
Private Note
Customer Memo
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.HTTP MethodRequired
URLRequired
Query String Parameters
Headers
Additional Request Headers
Body
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.TypeRequired
IdRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appEstimate IdRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appInfo
ID
Display Name
ActionThis is an event a Zap performs.SearchFind existing data in your appIDRequired
ActionThis is an event a Zap performs.SearchFind existing data in your appInfo
Product Name
SKU
ActionThis is an event a Zap performs.SearchFind existing data in your appSearch FieldRequired
Search ValueRequired
Full NameRequired
Display Name
Title
First Name
Middle name
Last Name
Company
Email
Phone
Mobile
Fax
Other
Website
Active
GST Registration Type
GSTIN
Address Line 1
Address Line 2
Address City
Address State Code
Address Zip Code
Address Country
Shipping Address Line 1
Shipping Address Line 2
Shipping Address City
Shipping Address State Code
Shipping Address Zip Code
Shipping Address Country
Notes
Currency
Taxable
Tax Code
Tax Registration Number
Tax Resale Number
Job/Parent Customer
Bill with Parent?
Preferred Payment Method
Preferred Delivery Method
Terms
Customer Type
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundIDRequired
Info
Customer
Find Customer by Name/Email
Email
Send Later?
Note
Message
Line AmountRequired
Service Date
Line Description
Product/Service
Line Item Quantity
Line Item Unit Price
Line Item Tax Code
Line Item Class
Transaction Date
Total Discount
Payment Method
Payment Reference Number
Deposit To Account
Sales Receipt Number
Auto Generate Sales Receipt Number
Address Line 1
Address Line 2
Address City
Address State Code
Address Zip Code
Address Country
Shipping Address Line 1
Shipping Address Line 2
Shipping Address City
Shipping Address State Code
Shipping Address Zip Code
Shipping Address Country
Currency
Exchange Rate
Class
Tax Code
Total Tax
Tax Calculation
Shipping Tax
Shipping Cost
Department
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundFull NameRequired
Phone
Email
Website
Address Line 1
Address Line 2
Address City
Address State Code
Address Zip Code
ActionThis is an event a Zap performs.Search or writeFind existing data in your app, or create a new record if no data is foundNew Lead
Triggers when a new lead is created. If you are on a paid plan for the Zoho CRM then it is advisable to use New Module Entry (Instant) trigger.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planNew or Updated Contact
Triggers when a new contact is added or modified in Zoho. If you are on a paid plan for the Zoho CRM then it is advisable to use New/Updated Module Entry (Instant) trigger.
Try ItTriggerThis is the start of your ZapScheduledZapier checks for new data every 15 min on the Free planModuleRequired
Entry IDRequired
TagsRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ModuleRequired
LayoutRequired
Trigger
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ModuleRequired
Entry IDRequired
Related ModuleRequired
Related Entry IDRequired
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.HTTP MethodRequired
URLRequired
Query String Parameters
Headers
Additional Request Headers
Body
ActionThis is an event a Zap performs.WriteCreate a new record or update an existing record in your app.ModuleRequired
Field nameRequired
ValueRequired
Optional Copy
Field name 2
Value 2
ActionThis is an event a Zap performs.SearchFind existing data in your app
Related categories
Similar apps
Related categories
Related Zap Templates
- Create or update Zoho CRM module entries for new QuickBooks Online invoices
- Create or update Zoho CRM module entries from new QuickBooks Online payments
- Create or update Zoho CRM module entries when new QuickBooks Online customers are added
- Create QuickBooks Online customers from new Zoho CRM module entries
- Create invoices in QuickBooks Online for new Zoho CRM leads
- Create and send QuickBooks Online invoices for new Zoho CRM module entries
- Create QuickBooks Online customers from new or updated Zoho CRM module entries
- Update Zoho CRM entries whenever customers are updated in QuickBooks Online
- Create new products/services in QuickBooks Online whenever a new module entry happens in Zoho CRM
- Create new Zoho CRM modules from new QuickBooks Online vendors
- Update module entries in Zoho CRM when new payments are registered in QuickBooks Online
- Add new Zoho CRM contacts to QuickBooks Online as customers
- Create new QuickBooks Online customers from new Zoho CRM users
- Create entries in Zoho CRM for new purchase orders in QuickBooks Online
- Create vendors in QuickBooks Online from new module entries in Zoho CRM
- Create module entries in Zoho CRM for new payments in QuickBooks Online
- Convert new QuickBooks Online customers into leads in Zoho CRM
- Create new QuickBooks Online products/services from new or updated Zoho CRM module entries
- Create Zoho CRM entries from new QuickBooks Online estimates
Related Zap Templates
- Create or update Zoho CRM module entries for new QuickBooks Online invoices
- Create QuickBooks Online customers from new Zoho CRM module entries
- Create QuickBooks Online customers from new or updated Zoho CRM module entries
- Create new Zoho CRM modules from new QuickBooks Online vendors
- Create new QuickBooks Online customers from new Zoho CRM users
Â
- Create or update Zoho CRM module entries from new QuickBooks Online payments
- Create invoices in QuickBooks Online for new Zoho CRM leads
- Update Zoho CRM entries whenever customers are updated in QuickBooks Online
- Update module entries in Zoho CRM when new payments are registered in QuickBooks Online
- Create entries in Zoho CRM for new purchase orders in QuickBooks Online
Â
- Create or update Zoho CRM module entries when new QuickBooks Online customers are added
- Create and send QuickBooks Online invoices for new Zoho CRM module entries
- Create new products/services in QuickBooks Online whenever a new module entry happens in Zoho CRM
- Add new Zoho CRM contacts to QuickBooks Online as customers
- Create vendors in QuickBooks Online from new module entries in Zoho CRM