the 'proper' way to cite the earliest publication date in brackets, followed by the publication date of the recent version used – ASA style

The biblatex way is to use origdate, but the default styles do not support origdate awfully well.

You might like the following redefinitions. This will work for the standard mergedate=compact option of biblatex.

We just add a call to \printorigdate where appropriate and make sure that origdate is not used as labeldate to avoid duplication.

\documentclass{article}
\usepackage[backend=biber, style=authoryear, natbib=true]{biblatex}
\usepackage{hyperref}

\DeclareLabeldate{%
  \field{date}
  \field{year}
  \field{eventdate}
  \field{urldate}
  \literal{nodate}
}

\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
       \iffieldundef{origyear}
         {}
         {\printtext[brackets]{\printorigdate}%
          \setunit{\addspace}}%
       \iflabeldateisdate
         {\printdateextra}
         {\printlabeldateextra}}}}

\renewbibmacro*{cite:labeldate+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{%
       \iffieldundef{origyear}
         {}
         {\printtext[brackets]{\printorigdate}%
          \setunit{\addspace}}%
       \printlabeldateextra}}}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@book{Veblen2005:1899,
  author    = {Veblen, Thorstein},
  isbn      = {978-81-87879-29-9},
  publisher = {Aakar Books},
  title     = {The Theory of the Leisure Class},
  subtitle  = {An Economic Study of Institutions},
  date      = {2005-01},
  origdate  = {1899},
}
\end{filecontents*}
\addbibresource{\jobname.bib}
\addbibresource{biblatex-examples.bib}

\begin{document}
\ldots \citep{Veblen2005:1899,wilde} stated that \ldots

\printbibliography
\end{document}

yields

enter image description here

Note that the .bib entry should be using origdate instead of origyear (generally, only the ...date fields are supposed to appear in the .bib file, the backend parses the dates and produces the dateparts ...day, ...month etc., there are backwards compatibility exceptions for year and month, which are acceptable instead of date).

edit Updated for recent versions of biblatex and Biber. See the edit history for older versions.


Since the above answer is outdated and I struggled a bit to replicate this behavior in the biblatex authoryear style, I'll provide here the updated code. This works in biber version 2.12:

\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
      \iffieldundef{origyear}% new code
        {}
        {\printtext[brackets]{\printorigdate}\setunit{\addspace}}% end new
        \printlabeldateextra}}}%

\renewbibmacro*{cite:labeldate+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{%
      \iffieldundef{origyear}% new code
        {}
        {\printtext[brackets]{\printorigdate}\setunit{\addspace}}% end new
        \printlabeldateextra}}}

Therefore the MVE becomes

\documentclass{article}
\usepackage[backend=biber, style=authoryear, natbib=true]{biblatex}
\usepackage{filecontents}

\begin{filecontents*}{\jobname.bib}
@book{Veblen2005:1899,
    author = {Veblen, Thorstein},
    Isbn = {978-81-87879-29-9},
    publisher = {Aakar Books},
    title = {The Theory of the Leisure Class},
    subtitle = {An Economic Study of Institutions},
    date = {2005-01},
    origyear = {1899},
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\renewbibmacro*{date+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[parens]{%
      \iffieldundef{origyear}% new code
        {}
        {\printtext[brackets]{\printorigdate}\setunit{\addspace}}% end new
        \printlabeldateextra}}}%

\renewbibmacro*{cite:labeldate+extradate}{%
  \iffieldundef{labelyear}
    {}
    {\printtext[bibhyperref]{%
      \iffieldundef{origyear}% new code
        {}
        {\printtext[brackets]{\printorigdate}\setunit{\addspace}}% end new
        \printlabeldateextra}}}

\begin{document}
\ldots \textcite{Veblen2005:1899} stated that \ldots

\printbibliography
\end{document}

Hope this helps anyone who'll struggle with this again!