Apologies if this has already been addressed elsewhere—I couldn’t find a definitive answer.
I’ve developed two Python pipelines that generate Crossref-compliant XML files from our Markdown content, which we use to build our article landing pages. One pipeline handles previously published content (older publications), and the other is for newly accepted papers that haven’t been officially published yet.
All XML files pass your validation tools, and everything seems to work great—thank you for the excellent documentation and support! I also created a script to generate random DOIs, which we store in a master registry to prevent duplication.
Here’s my main question:
What is the recommended workflow for registering DOIs for papers that are accepted but not yet published?
For example, once a paper is accepted, we generate a DOI so it can be included in the layout and final PDF before publication. Should we register that DOI with Crossref at that stage, or wait until the article is officially published?
And if we do register the DOI and deposit the XML for the accepted manuscript, should we later update that metadata with a new deposit reflecting the final, published version of the article?
Thanks for your question. It sounds like you’re doing a great job building these tools to get your content registered!
It all hinges on whether that DOI you generate for the accepted paper will be disseminated publicly or not. If the DOI is let loose out into the world (in practice this can mean anything as little as sending the proof manuscript with the DOI on it back to the authors, because they will then disseminate it), then the DOI should be registered. If the DOI is able to be kept internal to your organization, then it’s fine to wait until the article is fully published to register its DOI.
Yes, exactly. Typically, when you register a DOI for an accepted manuscript, there’s important metadata that you don’t know yet: final or print publication date, volume number, issue number, page numbers, etc. And sometimes the landing page URL also changes between accepted status and the final version.
So, if you register a DOI for an article as an accepted manuscript, you can just supply the metadata that you have at that point in time. But, when it’s fully published, you should update the DOI’s metadata record with the additional metadata that has become available in the intervening period.
Please let me know if you have any further questions.
Fantastic! Thank you so much for your response — you really got straight to the point! I tried registering some DOIs today using the XML files I generated, and it worked beautifully!
I have one more question regarding the CrossRef registration costs. There are two fee options:
Registration fee per backfile record ($0.15)
Registration fee per current record ($1.00)
If I register the DOI on the day of publication (i.e., at the time of publication), will it be counted as a current record and thus charged at the $1 rate?
I just want to make sure we pay you the correct amount.
The ‘current’ (CY) and ‘backfile’ (BY) fees are based on the publication date submitted in the metadata for each article. If the publication year is the current year, or prior two years, you’ll be charged the CY fee. If the publication year is three years ago or older, you’ll be charged the BY fee.
So, for this calendar year, any content published in 2025, 2024, or 2023 will be charged the CY/current fee of $1.00 per DOI.