Is there a way to move all footnotes to the end of the document?

You can use the endnotes package:

\documentclass{article}
\usepackage{endnotes}

\let\footnote=\endnote

\begin{document}

text\footnote{test footnote}

\newpage

\theendnotes

\end{document}

To add a horizontal rule below the "Notes" heading, you can redefine the \enoteheading command; for example, to obtain a rule of width equal to 0.5\textwidth you can add the following lines to the preamble (after loading endnotes):

\makeatletter
\def\enoteheading{\section*{\notesname
  \@mkboth{\MakeUppercase{\notesname}}{\MakeUppercase{\notesname}}}%
  \mbox{}\par\vskip-2.3\baselineskip\noindent\rule{.5\textwidth}{0.4pt}\par\vskip\baselineskip}
\makeatother

Of course, feel free to change the vertical skips according to your needs.


You may use the pagenote package:

\documentclass{report}

\usepackage{pagenote}
\makepagenote
\renewcommand*{\notedivision}{\chapter*{\notesname}}

\let\footnote\pagenote

\begin{document}

\chapter{First}

Some text.\footnote{A footnote.}

\begin{thebibliography}{9}
\bibitem{A01} A bibitem.
\end{thebibliography}

\printnotes

\end{document}

The endnotes package hasn't been updated since 2003 (at this writing), and doesn't work well with the KOMA-Script classes. The enotez package is more reliable and easier to customize:

\documentclass{scrartcl}

\usepackage{enotez}
\let\footnote=\endnote

\begin{document}

text\footnote{test footnote}

\printendnotes

\end{document}