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
were can i find my invoices i need this for my accountant
were can i find my invoices i need this for my accountant, how can i get id direct to my email?
ONLY email field not populating Writer fillable document (randomly)
I have a Zoho Writer fillable document that has pulled all my data from my Zoho Sheets file, EXCEPT the email column. It pulled every data before and after that column with no issues. Screenshots attached. It's not my first time using the app or the feature,
My number is marked as spam
Hello Zoho Mail Support, My phone number was incorrectly flagged as “spam” during sign-up. This is my personal number, and I have not engaged in any spam activities. Kindly review and verify my account so I can proceed with my email setup. Thanks.
Personnalisation des paramètres dans Zoho Mail
Pourquoi cela compte-t-il ? La personnalisation des paramètres dans Zoho Mail permet aux administrateurs de configurer l’environnement de messagerie en fonction des besoins spécifiques de leur organisation. Que ce soit pour alléger l’interface pour certaines
How To Save Data Into Zoho CRM Sandbox
Hi Community, I want to save data into my zoho sandbox , for this I am using this api endpoint - https://www.zohoapis.com/crm/v8/Patients but I am getting this error - { "success": false, "message": "Zoho API request failed", "error": { "code": "INVALID_MODULE",
Automate pushing Zoho CRM backups into Zoho WorkDrive
Through our Zoho One subscription we have both Zoho CRM and Zoho WorkDrive. We have regular backups setup in Zoho CRM. Once the backup is created, we are notified. Since we want to keep these backups for more than 7 days, we manually download them. They
Question about retrieving unsubscribed contacts (outside of lists) via API
Hello, I am currently using Zoho Marketing Automation and would like to integrate it with our company’s core system. For this purpose, I am exploring the API options available to retrieve contact information. Specifically, I would like to know if there
Getting “mandatory field missing: Service_Line_Items” When Creating Work Order via Zoho Flow Deluge
Hi Team, I’m trying to create a Work Order in Zoho FSM with only a Service Line Item (no Parts). However, I keep getting this error: Work Order Response: {"code":"MANDATORY_NOT_FOUND","details":{"api_name":"Service_Line_Items"},"message":"required field
How to customize the colors of the Client Portal login screen and add the company logo?
As title, how to customize the colors of the Client Portal login screen and add the company logo?
Daily updates/fixes and how to see what was changed?
When I receive the notification that zoho was updated and I need to refresh it. How can I see what was changed or fixed? Sometimes they change things that effect my books and I need to know what they did. For example over this past weekend something was
Upcoming Change: Snowflake Username/Password Authentication Deprecation – Action Required
Hello Users, Snowflake has officially announced that username and password-based authentication will be deprecated by November 2025. You can find the official announcement [here]. If you're using a Snowflake connection in Zoho Analytics to import data,
Why should I choose Zoho Inventory vs Odoo?
Hello there! I have used Zoho in different companies I've worked in, and I have a positive perception of it. I am starting a new import business for pipes, tubes, fittings, valves, elbows, etc., which all have serial numbers, cast numbers, etc., so I
Product Updates in Zoho Workplace applications | July 2025
Hello Workplace Community, Let’s take a look at the new features and enhancements that went live across all Workplace applications this July. Zoho Mail Import bookmarks from Pocket Worried about losing your Pocket bookmarks? Don't worry we have got you.
PLEASE FIX YOR BUGS
PICTURES ARE BEING REJECTED DESPITE THEM FOLLOWING THE GUIDELINES ON DIMENTIONS.
Kaizen# 204 - Answering Your Questions | Perform Field Updates before Blueprint transition via Client Script
Hello everyone! Welcome back to another exciting Kaizen post. One of the questions we received through your Kaizen feedback was: “How can I update fields before Blueprint transition and how to prevent a transition based on a condition using Client Script?”
Create online meetings for Booking Pages with Zoho Meetings and Zoom
Greetings, We hope you're all doing well. We're excited to share some recent enhancements to Bigin's Booking Pages. As you know, Booking Pages let you create public pages to share your availability so that your customers can easily book time slots with
Filters in audit logs
Greetings, I hope all of you are doing well. We're happy to announce a few recent enhancements we've made to Bigin. We'll go over each one in detail. Previously, there were no filters available to narrow down data in audit logs. Now, we've introduced
Enhanced help options in Bigin
Greetings, We're excited to introduce a new enhancement to Bigin's Help section: a comprehensive Help Options panel that brings together all your support resources in a single, well-organized space. Previously, the Need Help? menu provided only a limited
Zoho FSM API Developer Needed
Hi, I’m looking for a developer with experience using Zoho FSM APIs. Scope: Connect WordPress website booking form to Zoho FSM Check availability (date, time, region) Create Work Orders + Service Appointments automatically Notify both customer and scheduler
Revenue Management: #4 What if there are uncertainties in project or service delivery?
Our previous post taught us how Zoho Billing makes life easy for businesses with its automated revenue recognition rule. However, certain businesses have more challenges that an automated system cannot handle, and there are certain situations where automated
This mobile number has been marked spam. Please contact support-as@zohocorp.com
Bom dia, estou tentando colocar o número 11 94287-6695 e esta com erro "This mobile number has been marked spam. Please contact support-as@zohocorp.com" pode me ajudar, por favor?
Items Serial Tracking Issue
We enabled Zoho Items inventory tracking then disabled it after some time now we want to enable it again When I check the missing serial number reports I see one item But I cant see any option to Add the serial numbers Where and how to add the serial
Zoho Payroll integration with Zoho Books - unable to match multiple bank feeds to one wage payment
For one employee's wage, I make two partial payments. Those bank feed transactions come into Zoho Books via bank integration. I make one pay-run for the month in Zoho Payroll and that comes into Zoho Books via the Zoho integration. Zoho Books doesn't let me match multiple bank feed transactions against a single wage item. Please fix urgently. I can't complete my books because of this.
Add Checkbox Selection & Bulk Actions to Delivery Challans Module
Hi Zoho Team, I’ve noticed that in the Sales Orders module, there are checkboxes beside each entry that allow users to select multiple records for bulk actions such as print, email, or delete. However, in the Delivery Challans module, this option appears
Can't be able to check-in in laptop
even after giving location access still i can't be able to check-in in laptop.
Compensation Cess on Coal ₹400 per tonne. ?????
The compensation cess rate varies by the type of product. And the cess is calculated based on the value of the product without GST. Coal, for example, comes with a cess of ₹400 per tonne. That means that if you sell 2 tonnes of coal that have a value
7 month over zoho book purchase but still not immpliments Golive
7 month over zoho book purchase but still not immpliments Golive one problems zoho team short out then other problems come still very poor mangments and immliments team . struggling with the templates in ZOHO Books. Especially with the placement of some
SMS to customers from within Bigin
Hi All, Is there anyone else crying out for Bigin SMS capability to send an SMS to customers directly from the Bigin interface? We have inbuilt telephony already with call recordings which works well. What's lacking is the ability to send and receive
Parent & Member Accounts (batch updating / inheritance)
Hello, I find the Parent Account functionality very useful for creating custom views and reports, but was wondering if I can also carry out batch editing on all members (aka children) of a Parent Account at the same time. Alternatively, can I set members to automatically inherit the values of the parent? For example: We have a chain of supermarkets that buy our products. These supermarkets are all members of a Parent Account in our CRM. We release a new product and all of the member stores wish to
Edit Legend of Chart
I would like to edit the legend of the chart. Every time I enable the legend, I get a very unhelpful (1), and when I try to type to change to what I would desire, nothing happens, which is very frustrating. I've gone through your online tutorials and nowhere can I find a legend settings button. This seems a simple fix, where can edit the legend? Thanks.
Extended timeouts for APIs beyond 40secs for to accomodate LLMs
A 40 second max response time for API calls is fine when connecting to most services, however is unsuitable when dealing with LLMs (ChatGPT/Claude/Gemini) where the response timing is very uncertain. Is there any way to increase this? It would be great
Deletion of Zoho Account
To whom it may concern, Good day, My account has been created incorrectly in Zoho and I am not able to join my Company's Zoho account - attached screenshot for your kind reference Alphatronmarine - Portal Kindly advise procedure to delete this current
Workflow for deposit to bank account
Hello, Is it possible to make a workflow when a deposit is made to your bank account which is coupled to Zoho books? I want Zoho to sent an email each time a deposit is made to our bank account via a workflow. Regards, Steven
Marking Retainer invoice paid through Deluge
Hey Everyone, We have a scenario where we are collecting deposit payments on our website. Now, in zoho books, we need to create a retainer invoice and mark it as paid automatically using deluge just like we can mark normal invoices as paid. I have tried
Create a new record in custom module vi custom button
I have zoho books premium plan . I have 2 custom modules in zoho books. 1. Goods Receipt 2. Delivery Order, I need to select multiple records from Goods Receipt and create a new Delivery order from these multiple records. (like multilple sales order into
Profile date settings
At present I have "EEE, MMMM dd, yyyy" but this takes an exessive amount of column space, we should be able to input our own format. I would like to use "EEE, MMM dd, yy" - a much shorter version of the above but with the same abbreviated info, requiring
Delivery Method Field in Sales Order Module
In Books and in Sales orders, the "Delivery Method" field seems to allow for anything to be entered and it seems to store those entries for future use. When you chose to convert a sales order to a purchase order, the related field is now called "Shipment
Editing / Removing stages for pipeline
Hello, I'm trying to create a new pipeline. I created a new stage and made an error when entering the probability. How can I edit fields in stages that I created? Can I delete these stages from "Add Stages" list?
Dynamically Filter User Lookup in CRM Subform
We have a subform called Pricing Calculator in the Zoho CRM Opportunity module and need some assistance. Current Setup: First column: Picklist (Level) Second column: User Lookup field When a Level is selected, we want the User lookup to display only users
change time zone
can't seem to figure out how to change the time zone of the project
Next Page