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
More admin control over user profiles
It's important for our company, and I'm sure many others, to keep our users inline with our branding and professional appearance. It would be useful for administrators to have more control over profile aspects such as: Profile image User names Email signatures
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
Clear Tag & Linking Between Quotes and Sales Orders
Hi Zoho Team, In Zoho Books, when a quote is converted into a sales order, it would be extremely useful to have: A clear tag/indicator on the quote showing that it has been converted into a sales order. A direct link in the sales order back to the originating
Add Direct Ticket Link to Zoho Help Center Portal in Email Replies
Hi Zoho Support Team, We hope you're doing well. We’d like to request a small but valuable improvement to enhance the usability of the Zoho Help Center portal (https://help.zoho.com/portal/en/myarea). Currently, when someone from Zoho replies to a support
[Webinar] Deluge Learning Series - AI-Powered Automation using Zoho Deluge and Gemini
We’re excited to invite you to an exclusive 1-hour webinar where we’ll demonstrate how to bring the power of Google’s Gemini AI into your Zoho ecosystem using Deluge scripting. Whether you're looking to automate data extraction from PDFs or dynamically
Connecting Zoho Inventory to ShipStation
we are looking for someone to help connect via API shipStation with Zoho inventory. Any ideas? Thanks. Uri
Subform edits don't appear in parent record timeline?
Is it possible to have subform edits (like add row/delete row) appear in the Timeline for parent records? A user can edit a record, only edit the subform, and it doesn't appear in the timeline. Is there a workaround or way that we can show when a user
New in Cadences: Option to Resume or Restart follow-ups when re-enrolling records into a Cadence, and specify custom un-enrollment criteria
Managing follow-ups effectively involves understanding the appropriate timing for reaching out, as well as knowing when to take a break and resume later, or deciding if it's necessary to start the follow-up process anew. With two significant enhancements
Im Stuck in an EDIT ONLY WITH WIZARD issue
So I found Wizards to be a really helpful tool in minimizing the exposure of redundant, superfluous fields to staff that would never otherwise have to edit those fields. My issue is, that when the record (in this case a lead) is created with a wizard,
Account upgrade
Good evening, I upgraded my account and paid for it. From standard to professional. Unfortunately after the paiment my account was not upgraded. Please your advise. Best Regards Erik van Staverden
How to set ALL default dates of my organization to DD-MM-YYYY format?
All replies to this question comes from a time where the UI was different. It's extremely frustrating not being able to find how to do this simple setting change. I want everything and everyone in my organizations to have DD-MM-YYYY date format by default.
How can I sync from Zoho Projects into an existing Zoho Sprints project?
Hi I have managed to integrate Zoho Projects with Zoho Sprints and I can see that the integration works as a project was created in Zoho Sprints. But, what I would like to do is to sync into an existing Zoho Sprints project. Is there a way to make that
Can we generate APK and IOS app?
Dears, I want to know the availability to develop the app on zoho and after that .. generate the APK or IOS app and after that I added them to play store or IOS store.. Is it possible to do this .. I want not to use zoho app or let my customers use it. thanks
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?
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
Better Notes Commenting
Hi, I'd like to suggest better collaboration tools for NOTES. The current notes section for Accounts, Contacts and Deals is not ideally suitable for any degree of communication or collaboration. When responding to a note, there is no ability to leave
Exporting Templates
I have just spent 2 hours creating a project template for a Netsuite configuration, and want to share it with other Zoho Projects users - who have a different account. Is there any way to do this?
Power of Automation:: Streamline Associated Teams based on the Task Owner update.
Hello Everyone, A Custom function is a user-written set of code to achieve a specific requirement. Set the required conditions needed as when to trigger using the Workflow rules (be it Tasks / Project) and associate the custom function to it. Requirement:
No Response from Zoho Support in 8 Days - Typical?
I have a couple of issues I'm trying to work through. Initially, I was getting support from support@zohofsm.com, but I have not received a response in 8 days (11 on another question). Is this typical? Can I pay for support? For context, I am not spamming
Add QUOTE OWNER profile image to a Quote Template
I can add their email address.. phone number, DOB. I need to add a users profile picture so when they assign a template to a quote they own it adds their picture to the cover page. I've tried hacking a solution together but there has to be an easier way.
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)
Zoho CRM - Custom Views for Portal Users
I'm looking for an option to customise custom views for portal users in CRM. It would be great if "portal user" was a permission on custom views.
【参加無料】10/17(金) 東京 ユーザ交流会 Vol.3 参加登録 受付開始!
ユーザーの皆さま、こんにちは。コミュニティチームの藤澤です。 10/17(金)に、東京・新橋で「東京 ユーザー交流会 Vol.3」を開催します! 今回のユーザー事例セッションのテーマは、「Zoho Flowを活用した他社の決済サービスとの連携事例」です。 さらに、Zoho Flowに限らず、Analytics や Campaigns などの多彩なZohoサービスの活用方法について、豊富なご経験をもとにご紹介いただきます。 また、Zoho社員セッションでは、Zoho CRMを活用して日々の営業業務を効率化する具体的な事例をお話しします。業界を問わず、幅広い方にご参考いただける内容となっています!
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 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
Subtasks don't update parent task's times
Hi there: I've recently upgraded to premium and check that subtasks completion % don't update the proportional completion of the parent tasks related to it. We've been challenging with the problem of having to update twice or sometimes 3 times the completion of the related tasks. I've seen posts similar to this, of 3 years old. Is there any roadmap for making this happen in a future release? Thanx César Ratto Lima, Perú.
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
IMAP Server not responding.
Trying to connect a phone via IMAP and getting "imap.zoho.com not responding." Is the server down, for maintenance or otherwise? I've tried this on two different devices and got the same error on both.
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?
Next Page