Formatting Time Period Links - ISO Codes

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 the Wdesk environment.

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

Formatting Time Period Links

Working with time periods is similar to the way you work with other values that you link throughout the document:

  1. Enter the source value (in this case, expressing the value in terms of the ISO duration codes).

  2. Link the source value with occurrences of this value in the document.

  3. Format each link so that the value reads correctly according to its location in the document.

Usually you enter a link’s source value in the spreadsheet or workbook. 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 or workbook.

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 or workbook, 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 Format Link.

    image alt text

  5. In the Format Link dialog box, set the following:

    image alt text

    • For Category, select Period.

    • Select the format you want for the link. To see how your value looks with the selected formatting option, look at the PREVIEW area at the top of the dialog box.

    • Select your desired formatting. Click Apply Formatting.

    • To capitalize text descriptors, check the Capitalize First box. Text items in the Preview will also be capitalized.

Replacing 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 shows the blue symbol and all of its destinations show a green one. Double-click a destination link to open the document to the location of that value.

    image alt text

  3. Select and right-click the link, choose Format Link, 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:


The codes within that structure make up a text string that looks like this:


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 Wdesk.

Expressing Decimal Values

If your report includes a duration presented as a decimal value, such as 3.7 years, you will need to determine the correct ISO duration string to enter into the workbook, 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.

Your CSM can import a calculator into your account to allow you to type in the fraction and the calculator will display the correct ISO format to use in your document.