Facts that represent periods of time usually appear in the text sections of the document. For example, three years six months or 21 days. To meet XBRL and EDGAR filing requirements, the SEC requires that you enter these values using the ISO 8601 duration standards. This article provides an overview of the standards and describes how to enter, link, and format these values in Workiva.
ISO 8601 overview
Using the ISO 8601 duration codes eliminates ambiguity when your XBRL documents are interpreted by software applications. To use these codes, you combine them to form a text string that expresses the specific time period in your report. For example, if you were to express the two time periods given above using the ISO duration codes, they would look like this:
Time period | ISO 8601 format |
Three years six months (or 3 years 6 months) | P3Y6M |
21 days or twenty-one days | P21D |
Format time period links
Working with time periods is similar to the way you work with other values that you link throughout the document. To learn more, see Format Linked Values.
Usually you enter a link’s source value in the spreadsheet. However, you can create a link source on a value that appears in text in the document. The steps below are based on linking from a new source value created in the spreadsheet.
Note: To complete these steps, use the information in the ISO 8601 duration codes section below to determine the codes that you will use for the specific values in your report.
- 1
- Open the spreadsheet, and in the appropriate section for the time period that appears in your report, enter the ISO 8601 code that represents that period. For example, if the text in the document says, "…during a period of six months…," enter P6M.
- 2
- Copy the value.
- 3
- Open the document where the period of time appears and select the text. Then paste the value. The value now shows the ISO code you entered, with an underline that signals a draft link.
- 4
- Select and right-click the link, and then choose Link Formatting.
- 5
- In the Link Formatting panel, set the following:
- For Format, select Period.
- For Display, choose how you'd like your period to appear. To see how your value looks with the selected formatting option, look at the PREVIEW area at the top of the dialog box.
- To capitalize text descriptors, check the Capitalize First box. Text items in the Preview will also be capitalized.
Replace linked source values
If you need to change an existing linked source value to the ISO format, you also need to make sure each of its destinations throughout the document is formatted correctly for its context:
- 1
- After you replace the source value with the ISO 8601 code, right-click the source value and choose Link Properties.
- 2
- In the Link Properties panel, the source is shown under the Source list and all of its destinations show under the Destinations list. Highlight a destination and click the Go to Link button to open the document to the location of that value.
- 3
- Select and right-click the link, choose Link Formatting, and format it appropriately, as described in the steps earlier in this section.
- 4
- Repeat these steps for each destination link.
Duration code format
The Durations section of the ISO 8601 describes in detail how to use these codes to represent the period of time in your report. The structure of the time period represented in the ISO 8601 duration codes looks like this:
P<date>T<time>
The codes within that structure make up a text string that looks like this:
P[n]Y[n]M[n]DT[n]H[n]M[n]S
Where the letter P starts the period, [n] is an integer representing the [Y]ear, [M]onth, [D]ay.
The letter T signals that the remainder of the segment represents the time of day in [H]ours, [M]inutes, and [S]econds.
The codes must always be presented in this sequence, using upper-case letters. Where any value would be zero, you simply exclude the corresponding indicator from the string. For example P3Y7D rather than P3Y0M7D.
For financial reporting, most periods require only P[n]Y[n]M[n]D, to represent year, month, and day, excluding the time-of-day segment T[n]H[n]M[n]S.
The ISO supports additional duration codes for expressing periods in terms of weeks, decimal values, or negative values. However, these formats are not yet supported by XBRL, so they are currently not supported in Workiva.
Expressing decimal values
If your report includes a duration presented as a decimal value, such as 3.7 years, you'll need to determine the correct ISO duration string to enter into the spreadsheet, link it to the value in the document, and then format the link to show the first decimal point. Examples of the string could be P3Y8M15D or P3Y256D.
Because the values are rounded (based on a 365-day year), you might need to adjust the string a few times to find the correct one for your value. See the table in the Period link formats section below for information about the decimal formats.
You can also find an alternative way to express the value in the report, which meets both the ISO 8601 and XBRL requirements. Although it is possible to create phantom facts to tag periods of time that are expressed in decimal (or negative) values, these facts would not comply with the SEC regulations.
Calculating ISO year fractions
Although converting a time period to ISO codes is normally pretty straight-forward, sometimes there are more complicated conversions needed for year fractions. For example, a period of 3.2 years would be P3Y2M12D. A period of 5.8 years would be P5Y9M18D.