First of all there is a difference between \today and the content of the variable date. Setting the variable date does not change \today. See the following example:
\documentclass{scrlttr2}
\begin{document}
% default value of date variable is \today
Today is \today{} and the variable date stores \usekomavar{date}.
% changing value for variable date does not change \today!
\setkomavar{date}{2018-05-05}
Today is \today{} and the date variable stores \usekomavar{date}.
\end{document}
Result

Package advdate provides the additional commands \SaveDate, \SetDate and \DayAfter (see the package documentation), which can be used to get the desired result.
First of all we save todays date as dd/mm/yyyy (this syntax is used by all macros of advdate) in the macro \invoicedate.
% Save dd/mm/yyyy for today
\newcommand*\invoicedate{}
\SaveDate[\invoicedate]
\invoicedate then will be used to set the set the KOMA-Script variable date and a new variable paymentdate automatically. You do not have to set or change these variables manually!
\setkomavar{date}{{\SetDate[\invoicedate]\today}}
\newkomavar{paymentdate}
\setkomavar{paymentdate}{{\SetDate[\invoicedate]\DayAfter[14]}}
Only if you want to set a fixed value for variable date (and the depending variable paymentdate) you have to use the following macro\setinvoicedate. Note that this macro changes \invoicedate and sets the KOMA-Scripts variables date and paymentdate automatically. So you only have to use this macro for a diffent invoice/letter date.
\newcommand*\setinvoicedate[1]{%
\ifstr{#1}{today}
{\SaveDate[\invoicedate]}%
{\renewcommand*\invoicedate{#1}}%
}
The syntax the is \setinvoicedate{dd/mm/yyyy}. Example:
\setinvoicedate{24/12/2018}
You can use \setinvoicedate several times in a document, ie if you have more than one invoice in your document. If you want to reset the invoice/letter date to todays date, you can use
\setinvoicedate{today}
Complete example:
\documentclass{scrlttr2}
\usepackage{advdate}
% Save dd/mm/yyyy for today
\newcommand*\invoicedate{}
\SaveDate[\invoicedate]
\setkomavar{date}{{\SetDate[\invoicedate]\today}}
\newkomavar{paymentdate}
\setkomavar{paymentdate}{{\SetDate[\invoicedate]\DayAfter[14]}}
% should be possible to use a different invoicedate
\newcommand*\setinvoicedate[1]{%
\ifstr{#1}{today}
{\SaveDate[\invoicedate]}%
{\renewcommand*\invoicedate{#1}}%
}
% set a different invoice date
% syntax: \setinvoicedate{dd/mm/yyyy}
% if it should be reset to \today use \setinvoicedate{today}
\setinvoicedate{24/12/2018}
\newcommand\demo{% only for this example
\begin{itemize}
\item The invoice date is \usekomavar{date}.
\item Please pay until \usekomavar{paymentdate}.
\item But today is the \today.
\end{itemize}%
\bigskip
}
\begin{document}
\demo
\setinvoicedate{11/03/2019}%
Change the invoice date to \usekomavar{date}: \demo
\setinvoicedate{today}%
Reset the invoice date to today: \demo
\end{document}

Or with class option numericaldate:

Or with package isodate to format the date output:

Code:
\documentclass[english]{scrlttr2}
\usepackage{isodate}
\isodate
\usepackage{advdate}
% Save dd/mm/yyyy for today
\newcommand*\invoicedate{}
\SaveDate[\invoicedate]
% should be possible to use a different invoicedate
\newcommand*\setinvoicedate[1]{%
\ifstr{#1}{today}
{\SaveDate[\invoicedate]}%
{\renewcommand*\invoicedate{#1}}%
}
\setkomavar{date}{{\SetDate[\invoicedate]\today}}
\newkomavar{paymentdate}
\setkomavar{paymentdate}{{\SetDate[\invoicedate]\DayAfter[14]}}
% set a different invoice date
% syntax: \setinvoicedate{dd/mm/yyyy}
% if it should be reset to \today use \setinvoicedate{today}
\setinvoicedate{24/12/2018}
\newcommand\demo{% only for this example
\begin{itemize}
\item The invoice date is \usekomavar{date}.
\item Please pay until \usekomavar{paymentdate}.
\item But today is the \today.
\end{itemize}%
\bigskip
}
\begin{document}
\demo
\setinvoicedate{11/03/2019}%
Change the invoice date to \usekomavar{date}: \demo
\setinvoicedate{today}%
Reset the invoice date to today: \demo
\end{document}
Update regarding a comment below:
To avoid payment dates on saturdays or sundays you can load package scrdate and use
\setkomavar{paymentdate}{{%
\SetDate[\invoicedate]%
\ifnum\todaysnumber=6\DayAfter[16]% Saturday -> Monday
\else\ifnum\todaysnumber=0\DayAfter[15]% Sunday -> Monday
\else\DayAfter[14]
\fi\fi
}}
Example:
\documentclass{scrlttr2}
\usepackage{scrdate}% <- added
\usepackage{advdate}
% Save dd/mm/yyyy for today
\newcommand*\invoicedate{}
\SaveDate[\invoicedate]
\setkomavar{date}{{\SetDate[\invoicedate]\today}}
\newkomavar{paymentdate}
\setkomavar{paymentdate}{{% <- changed
\SetDate[\invoicedate]%
\ifnum\todaysnumber=6\DayAfter[16]% Saturday -> Monday
\else\ifnum\todaysnumber=0\DayAfter[15]% Sunday -> Monday
\else\DayAfter[14]
\fi\fi
}}
% should be possible to use a different invoicedate
\newcommand*\setinvoicedate[1]{%
\ifstr{#1}{today}
{\SaveDate[\invoicedate]}%
{\renewcommand*\invoicedate{#1}}%
}
% set a different invoice date
% syntax: \setinvoicedate{dd/mm/yyyy}
% if it should be reset to \today use \setinvoicedate{today}
\setinvoicedate{11/08/2018}
\newcommand\demo{% only for this example
\begin{itemize}
\item The invoice date is \usekomavar{date}.
\item Please pay until \usekomavar{paymentdate}.
\item But today is the \today.
\end{itemize}%
\bigskip
}
\begin{document}
\demo
\setinvoicedate{12/08/2019}%
Change the invoice date to \usekomavar{date}: \demo
\setinvoicedate{13/08/2018}%
Change the invoice date to \usekomavar{date}: \demo
\setinvoicedate{today}%
Reset the invoice date to today: \demo
\end{document}

\setinvoicedatefromscrlttr2'sdate-option? In this case I would have to insert the desired date only one time... – Dave Aug 03 '18 at 20:59dateas argument of\setinvoicedate. But\setinvoicedatesets the value ofdateand the depending variablepaymentdateautomatically. So you do not have to insert the date more than once! See my updated answer, I have added some additional explanations. – esdd Aug 04 '18 at 10:50paymentdate's are always on working days? For example, if the payment date would be calculated on a saturday or sunday, it should be rounded up to monday. – Dave Aug 14 '18 at 08:18