Media & Publishing industry has evolved in recent times. It offers subscriptions, bundles digital and print access, runs sponsored content, and sometimes even sells ad spaces. If you run a media or publishing business, you will always get into a situation where you get paid in advance, but how do you determine what part of the money is earned today versus what needs to be deferred for the future? Can you recognize all of them upfront? Or should it spread across issues or impressions?
How do publishers and media platforms handle revenue?
Revenue Recognition Scenarios in Media & Publishing
Subscriptions, advertising contracts, bundled content, and sponsored campaigns often complicate revenue recognition in media and publishing. Though accounting guidelines like ASC 606 and IFRS 15 apply, how you use them varies based on how you deliver content.
Subscription Revenue
When a customer pays for a weekly, monthly, or annual subscription, the revenue must be spread across the subscription period, as content is delivered over time rather than upfront.
Example: A $120 annual magazine subscription should be recognized at $10 monthly over 12 months.
Bundled Offerings
You may offer print+digital access, or magazine+e-book bundles. Each component should be recognized separately based on delivery schedules and relative values.
Example: A $240 subscription includes $180 of weekly print magazines and $60 for e-book access. Revenue is recognized $15/month for print and $60 once access is granted.
Advertising Revenue
Advertising may be sold per issue, impressions, or based on clicks. You can recognize revenue only after delivery of an impression or publication, not when the ad is sold or paid for.
Example: A $5000 ad campaign for 1,00,000 impressions recognizes revenue only as impressions are delivered (say $500 for every 10,000)
Sponsored Content or Paid Articles
Sponsored stories or influencer placements should be recognized on publication date or campaign completion, depending on the agreement.
Example: A $2000-paid article is published on July 5th, and revenue is recognized on the same day.
Cancellations & Refunds
If a subscriber cancels mid-cycle and gets a partial refund, revenue must be adjusted with only the earned portion as recognized.
Example: $120 yearly subscription cancelled after 3 months. Only $30 will be considered recognized.
These scenarios highlight how delivery, not payment, drives revenue recognition. With multiple formats and monetisation models in place, manual revenue recognition handling is a huge task prone to errors and misstatements.
Scenario:
Your publishing company sells an annual subscription package at $240. This subscription covers weekly print magazine work of $15 and on-demand access to the digital library, which is valued at $60. The customer pays upfront on the 1st of January.
Zoho Billing for Media Revenue Recognition
Publishers and content creators will be able to work with Zoho Billing to define revenue recognition rules based on content delivery and access architecture.
For the scenario above, you may go with the following revenue recognition rule configuration,
Component | Recognition Frequency | Recognition Method | Recognition Time |
Print Magazines | Monthly | Evenly Distributed Prorated | Period Start |
Digital Library | Once | One-Time (Daily) | Period Start |
Even though the $240 is received upfront, revenue must be split evenly for the subscription-based service.
Reports in Zoho Billing
Let's say you are checking the reports during March.
i) Recognized Revenue Report
Component | Recognized Revenue | Description |
Digital Library | $60 | Fully recognized on the subscription start date |
Print Magazine | $45 | $15x3 issues delivered |
Total Recognized | $105 | recognized at the end of three months |
ii) Deferred Revenue Report
After three months of offering, nine print issues are still pending delivery.
Component | Deferred Amount |
Digital Library | $0 |
Print Magazine | $135 (9 months of deliverables) |
Total Deferred | $135 |
iii) Revenue Waterfall Report
Month | Digital Library | Print Magazine | Total |
Month 1 | $60 | $15 | $75 |
Month 2 | ---- | $15 | $15 |
Month 3 | ---- | $15 | $15 |
Month 4 (upcoming) | ---- | $15 | $15 |
Month 5 (upcoming) | ---- | $15 | $15 |
Month 6 (upcoming) | ---- | $15 | $15 |
Month 7 (upcoming) | ---- | $15 | $15 |
Month 8 (upcoming) | ---- | $15 | $15 |
Month 9 (upcoming) | ---- | $15 | $15 |
Month 10 (upcoming) | ---- | $15 | $15 |
Month 11 (upcoming) | ---- | $15 | $15 |
Month 12 (upcoming) | ---- | $15 | $15 |
Total (after 3 months) | $60 | $45 | $105 |
Only at the end of one year will the full payment you received be considered recognized revenue.
Best Practices for the Media Industry while recognizing revenue
- Break Down Subscriptions: Separate print, digital, access, ads, and events into individual deliverables.
Match Revenue to Delivery: Recognize only when issues go out, impressions are served, or access granted.
Account for Returns & Refund: Handle cancellations by adjusting the deferred revenue schedules automatically.
Monitor Reports Monthly: Revenue Waterfall and Deferred reports ensure timely recognition tracking.
Up Next: Common Mistakes while Recognizing Revenue
Recent Topics
【参加無料】10/17(金) 東京 ユーザ交流会 Vol.3 参加登録 受付開始!
ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 10/17(金)に、東京・新橋で「東京 ユーザー交流会 Vol.3」を開催します! 今回のユーザー事例セッションのテーマは、「Zoho Flowを活用した他社の決済サービスとの連携事例」です。 さらに、Zoho Flowに限らず、Analytics や Campaigns などの多彩なZohoサービスの活用方法について、豊富なご経験をもとにご紹介いただきます。 また、Zoho社員セッションでは、Zoho CRMを活用して日々の営業業務を効率化する具体的な事例をお話しします。業界を問わず、幅広い方にご参考いただける内容となっています!
Zoho Subform Workflows onAdd of Row
Suppose I have a form with attached workflows onLoad. If I use the form as a subform, will it inherit the workflows or do I need to create new ones onAdd of row?
Power of Automation :: Automatic removal of project users once the project status is changed.
A custom function is a software code that can be used to automate a process and this allows you to automate a notification, call a webhook, or perform logic immediately after a workflow rule is triggered. This feature helps to automate complex tasks and
Zoho Meeting Plug compatibility with newer versions of Outlook
Documentation states that the zoho meeting plug in for outlook is only compatible with versions up to Outlook 2019 What is available to users of more up to date versions of outlook/office 365?
Getting Attachments in Zoho Desk via API
Is there a way to get attachments into Zoho Desk via an API? We have a process by which a zoho survey gets sent to the user as a link in a notification. The survey has several upload fields where they can upload pdf documents. I've created
Introducing Zoho's own SMS gateway
We're thrilled to announce the launch of our own SMS gateway feature within Zoho Marketing Automation! This new feature enables seamless SMS campaign management alongside your email marketing initiatives, providing a more integrated and efficient way
Embedding in Desk articles
We would like to embed documents in our Desk articles. When we use an iframe for the embed, we get scrollbars and a frame border. Neither of those is acceptable. I've spoken with the Desk Support team about what we want and they tell me that it cannot
Zoho Desk KB article embedded on another site.
We embed KB articles from Zoho Desk on another site (our application). When opening the article in a new tab, there is no issue, but if we choose lightbox, we are getting an error "To protect your security, help.ourdomain.com will not allow Firefox to
Zoho CRM button to download images from image upload field
Hello, I am trying to create a button in Zoho CRM that I can place in my record details view for each record and use it to download all images in the image upload fields. I tried deluge, client scripts and even with a widget, but feel lost, could not
Mass Update Contacts In Zoho Campaigns
Is there a way to mass update contacts in zoho campaigns? I want to be able to change the content of a field for a few hundred contacts, and can't go through all of them individually.
report showing assignment type
Hi, We've created a number of workflows to allow us to auto assign tickets to agents based on keywords and other criteria. I'm struggling to create a report that would show me what is the percentage of tickets that are assigned automatically via workflows
Option to Disable Knowledge Base Section in Feedback Widget Popup Hello Zoho Desk Team
Hello Zoho Desk Team, How are you? We are actively using Zoho Desk and would like to make more use of the Feedback Widget. One of the ways we implement it is through the popup option. At the moment, the popup always displays the Knowledge Base section,
Placeholders in Ticket Templates
We should be able to use placeholders in ticket templates. When we create a new ticket, our description field is shown to the client in the email they receive. It would be very handy to be able to personalize that description field in our ticket templates to pull in the name of the client that the ticket is for. Using them in the subject field as well, so we can auto populate Account Names, etc.
when the record is created the tag want to Show as Opportunity how i achive this using Deluge Script
In the quotation i have the work flow schedule for create opportunity record in the module , on that time the quotation tag select as opportunity created. How i achive this using Deluge Script . this like i want to Do tag1 = Map(); tag1.put("name","Nurturing
Delete a channel
I need delete a channel in tickets.
Copy / Duplicate Workflow
I have workflows setup that are very similar to each other. We have a monitoring system watching servers, and all notifications - no matter what client it is about - will come from a noreply@ address which is not very helpful in having it auto assigned to the right account. I have setup a workflow that will change the contact name of the ticket (currently it would say noreply@) to the correct customer which is based on the subject line, as that mentions which server the alert it is about. I need
Edit Permission during and after approval?
When a record is sent for approval Can a user request for edit permission from the approver? We don't want to give edit permissions for all the records under approval Only on a case-by-case basis How can we achieve this?
Zoho Connections Desk API relative URL PATTERN_NOT_MATCHED
While i am trying to do this: async function fetchTicketsFromDesk(timeFilter = 'current_month') { try { const response = await ZOHO.CRM.CONNECTION.invoke("desk_connection", { url: "/api/v1/tickets", method: "GET", }); const data = response.details ? JSON.parse(response.details)
Messages not displayed from personal LinkedIn profile
Hello. I connected both our company profile and my personal profile to Zoho social. I do see all messages from our company page but none from my private page. not even the profile is being added on top to to switch between company or private profile,
Please Make Zoho CRM Cadences Flexible: Allow Inserting and Reordering Follow-Up Steps
Sales processes are not static. We test, learn, and adapt as customers respond differently than expected. Right now, Zoho Cadences do not support inserting a new step between existing follow-ups or changing the type of an existing primary step. If I realize
Apply transaction rules to multiple banks
Is there any way to make transaction rules for one bank apply to other banks? It seems cumbersome to have to re-enter the same date for every account.
Should I Use DMARC?
When I configure Zoho Mail's DMARC settings, it's mandatory to fill in the RUA and RUF (Aggregate notification email address*, Forensic notification email address*) addresses. When we enter an email address in these fields, we receive reports from the
Mail ToDo & Tasks Webhooks
Our company uses Zoho ToDo inside Mail to manage our tasks. When I create a task and assign it to a team member it does not notify them unless I add a reminder via mail. I'm trying to create a webhook for when a task is created to send a cliq message
What is Resolution Time in Business Hours
HI, What is the formula used to find the total time spent by an agent on a particular ticket? How is Resolution Time in Business Hours calculated in Zohodesk? As we need to find out the time spent on the ticket's solution by an agent we seek your assistance
Create static subforms in Zoho CRM: streamline data entry with pre-defined values
Last modified on (9 July, 2025): This feature was available in early access and is currently being rolled out to customers in phases. Currently available for users in the the AU, CA, and SA DCs. It will be enabled for the remaining DCs in the next couple
Can't upload attachments.
I can't upload attachment in Zoho Mail.
Tip #44 – Get Deeper Insights with Zoho Assist’s Custom Reports – ‘Insider Insights’
In today’s fast-paced IT environment, having a clear view of your remote support activities is more important than ever. Zoho Assist’s Custom Reports feature gives IT teams the ability to generate tailored reports that provide actionable insights and
Message "...does not support more than 100 distinct values..." WHY????
I get this message on one of my reports: Sorry, Zoho Reports currently does not support more than 100 distinct values in columns. 'Account Name * Sum(Amount),Count(Amount Tier)' contains more than 100 distinct values. Possibly, you can apply filter to reduce the number of distinct values in 'Account Name' or drop the 'Account Name' field in Rows. I want to list all ACCOUNT NAMES (about 500) with SALES BY ACCOUNT. What is blocking this?
Super Admin removal
I brought a sub, and I gave the Super admin rights to a person who is no longer with us, so I need to change, and I need to make myself the Super admin
Need Easy Way to Update Item Prices in Bulk
Hello Everyone, In Zoho Books, updating selling prices is taking too much time. Right now we have to either edit items one by one or do Excel export/import. It will be very useful if Zoho gives a simple option to: Select multiple items and update prices
Let's Talk Recruit: Super-charge hiring with Zoho Recruit add-ons
Welcome back to our Let’s Talk Recruit series! This time, we’re diving into something that might seem like a small upgrade but has a huge impact on recruiter productivity: Zoho Recruit add-ons. Think about how much of your day is spent in your inbox or
Vendor Signatures Needed for Purchase Orders
Hello everyone, We have a unique requirement that necessitates that Vendors & Suppliers formally acknowledge our Purchase Orders upon receipt. I was hoping that there would be an option to do so in Zoho Books, but that does not appear to be the case.
in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Q
in zoho creator Sales Returns form has sub form Line Items return quantity when i upate the or enter any values in the sub form that want to reflect in the Sales Order form item deail sub form field Quantity Returned\ pls check the recording fetch_salesorder
Is there an API to "File a Ticket" in Desk
Hi, Is there an API to "File a Ticket" in Desk to zoho projects?
Critical Issue: Tickets Opened for Zoho Support via the Zoho Help Portal Were Not Processed
Hi everyone, We want to bring to your attention a serious issue we’ve experienced with the Zoho support Help Portal. For more than a week, tickets submitted directly via the Help Portal were not being handled at all. At the same time no alert was posted
Tip of the Week #72– Assign thread ownership to avoid confusion.
When teams handle a large volume of emails, managing threads becomes important to stay organized. Without a clear system, duplicate replies, missed follow-ups, or confusion over responsibilities can happen. Thread assignment solves this by designating
Migrate Your Notes from OneNote to Zoho Notebook Today
Greetings Notebook Users, We’re excited to introduce a powerful new feature that lets you migrate your notes from Microsoft OneNote to Zoho Notebook—making your transition faster and more seamless than ever. ✨ What’s New One-click migration: Easily import
Unarchive tickets
How can I manually unarchive tickets?
Optimize your Knowledge Base for enhanced accessibility by adding alt tags for images
Let's learn why alt tags are crucial for your articles. You can add alternative tags (alt tags) and alternative text (alt text) to the images you share on your community forums or when embedding them in articles. Alt tags refer to the HTML attribute,
FSM trying again
have not linked FSM yet to the rest of out Zoho suit. It certainly looks like the apointment and service part is more manageable for our staff. The question is that our engineers multi task examples 1. deliver products to customers not fitted 2. Service
Next Page