Сумма прописью

Введите сумму — здесь появится запись прописью

Копейки
Первая буква
Язык
Род
НДС

В договоре сумму пишут цифрами, а в скобках — прописью с заглавной буквы, копейки — цифрами: «1 220 (Одна тысяча двести двадцать) рублей 00 копеек». В платёжном поручении — только прописью с начала строки: «Одна тысяча двести двадцать рублей 00 копеек». НДС — после суммы: «…, в том числе НДС 22% — двести двадцать рублей 00 копеек».

Как правильно писать сумму прописью в документах

Платёжное поручение — это норма. Сумму прописью пишут с начала строки с заглавной буквы, рубли — словами, копейки — цифрами; слова «рубль» и «копейка» не сокращают. Если сумма в целых рублях, копейки можно не указывать (Положение Банка России № 762-П, приложение 1, реквизит 6 «Сумма прописью»).

Договор, счёт, акт — практика. Обязательной формы для них нет, но принято так:

  • сначала цифры, в скобках — прописью: «1 220 (Одна тысяча двести двадцать) рублей 00 копеек»;
  • копейки — цифрами и всегда двумя знаками: «05 копеек», а у целой суммы — «00 копеек»;
  • прописью — с заглавной буквы, в том числе в скобках; со строчной — когда сумма продолжает фразу (в строке НДС: «в том числе НДС 22% — двести двадцать рублей…»);
  • нулевая сумма — «0 (Ноль) рублей 00 копеек»;
  • валюта — полностью, без сокращений: «долларов США», «евро», «китайских юаней». Если цена в валюте, а платят рублями, договор обычно указывает курс и дату пересчёта; без такого условия — по официальному курсу на день платежа (п. 2 ст. 317 ГК РФ, калькулятор долга по курсу ЦБ).

ГОСТ Р 7.0.97-2016 «Требования к оформлению документов», на который часто ссылаются, правил записи сумм не содержит.

Сумма прописью в Excel

Встроенной функции в Excel нет — добавьте нашу, это один раз и минута:

  1. Откройте книгу и нажмите Alt + F11 — откроется редактор Visual Basic.
  2. В меню выберите Insert → Module (в русском Excel — «Вставка → Модуль»).
  3. Вставьте код ниже (кнопка «Скопировать код») и закройте редактор.
  4. Сохраните книгу как «Книга Excel с поддержкой макросов (*.xlsm)» и в ячейке напишите =СуммаПрописью(A1).

Валюта — вторым аргументом: =СуммаПрописью(A1; "USD") (RUB, USD, EUR, CNY, KZT, BYN), «цифрами и прописью» — третьим: =СуммаПрописью(A1; ; ИСТИНА) → «1 220 (Одна тысяча двести двадцать) рублей 00 копеек». Копейки — цифрами.

' Сумма прописью для Excel — https://usdinfo.ru/raschet/summa-propisyu/
'   =СуммаПрописью(A1)              Одна тысяча двести двадцать рублей 00 копеек
'   =СуммаПрописью(A1; "USD")       валюта: RUB (по умолчанию), USD, EUR, CNY, KZT, BYN
'   =СуммаПрописью(A1; ; ИСТИНА)    1 220 (Одна тысяча двести двадцать) рублей 00 копеек
' Копейки — цифрами. До 999 999 999 999,99; отрицательное число — #ЧИСЛО!, текст — #ЗНАЧ!
Option Explicit

Public Function СуммаПрописью(Сумма As Variant, Optional Валюта As String = "RUB", Optional Цифрами As Boolean = False) As Variant
    Dim v As Variant, kop As Double, rub As Double, cents As Long
    Dim major As Variant, minor As Variant, w As String

    v = Сумма ' ссылка на ячейку -> её значение; пустая ячейка -> 0
    If IsEmpty(v) Then v = 0
    If Not IsNumeric(v) Then СуммаПрописью = CVErr(2015): Exit Function ' #ЗНАЧ!
    If v < 0 Then СуммаПрописью = CVErr(2036): Exit Function ' #ЧИСЛО!
    kop = Int(CDbl(v) * 100 + 0.5 + 0.0000001) ' до копейки, половина — вверх (1e-7 гасит 1220,555 * 100 = 122055,4999…)
    rub = Int(kop / 100)
    cents = CLng(kop - rub * 100)
    If rub > 999999999999# Then СуммаПрописью = CVErr(2036): Exit Function

    Select Case UCase$(Валюта)
        Case "RUB", ""
            major = Array("рубль", "рубля", "рублей"): minor = Array("копейка", "копейки", "копеек")
        Case "USD"
            major = Array("доллар США", "доллара США", "долларов США"): minor = Array("цент", "цента", "центов")
        Case "EUR"
            major = Array("евро", "евро", "евро"): minor = Array("евроцент", "евроцента", "евроцентов")
        Case "CNY"
            major = Array("китайский юань", "китайских юаня", "китайских юаней"): minor = Array("фэнь", "фэня", "фэней")
        Case "KZT"
            major = Array("тенге", "тенге", "тенге"): minor = Array("тиын", "тиына", "тиынов")
        Case "BYN"
            major = Array("белорусский рубль", "белорусских рубля", "белорусских рублей"): minor = Array("копейка", "копейки", "копеек")
        Case Else
            СуммаПрописью = CVErr(2015): Exit Function
    End Select

    w = NumberWords(rub)
    w = UCase$(Left$(w, 1)) & Mid$(w, 2)
    If Цифрами Then w = GroupDigits(rub) & " (" & w & ")"
    СуммаПрописью = w & " " & Plural(rub, major) & " " & Right$("0" & CStr(cents), 2) & " " & Plural(cents, minor)
End Function

' Число словами: 1220 -> «одна тысяча двести двадцать». Тысячи — женского рода, остальное — мужского.
Private Function NumberWords(ByVal n As Variant) As String
    Dim scales As Variant, i As Integer, t As Long, s As String, part As String
    If n = 0 Then NumberWords = "ноль": Exit Function
    scales = Array(Array("", "", ""), Array("тысяча", "тысячи", "тысяч"), Array("миллион", "миллиона", "миллионов"), Array("миллиард", "миллиарда", "миллиардов"))
    For i = 0 To 3
        t = CLng(n - Int(n / 1000) * 1000)
        n = Int(n / 1000)
        If t > 0 Then
            part = Triad(t, i = 1)
            If i > 0 Then part = part & " " & Plural(t, scales(i))
            If s = "" Then s = part Else s = part & " " & s
        End If
    Next i
    NumberWords = s
End Function

' 1–999 словами; fem — «одна», «две» (для тысяч).
Private Function Triad(ByVal n As Long, ByVal fem As Boolean) As String
    Dim hundreds As Variant, tens As Variant, teens As Variant, units As Variant, s As String, rest As Long
    hundreds = Array("", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот")
    tens = Array("", "", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто")
    teens = Array("десять", "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать", "девятнадцать")
    If fem Then
        units = Array("", "одна", "две", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять")
    Else
        units = Array("", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять")
    End If
    rest = n Mod 100
    AddWord s, hundreds(n \ 100)
    If rest >= 10 And rest < 20 Then
        AddWord s, teens(rest - 10)
    Else
        AddWord s, tens(rest \ 10)
        AddWord s, units(rest Mod 10)
    End If
    Triad = s
End Function

Private Sub AddWord(ByRef s As String, ByVal w As String)
    If w = "" Then Exit Sub
    If s = "" Then s = w Else s = s & " " & w
End Sub

' Форма слова при числе: 1 рубль, 2 рубля, 5 рублей, 11 рублей, 21 рубль.
Private Function Plural(ByVal n As Variant, forms As Variant) As String
    Dim n100 As Long, n10 As Long
    n100 = CLng(n - Int(n / 100) * 100)
    n10 = n100 Mod 10
    If n100 > 10 And n100 < 20 Then
        Plural = forms(2)
    ElseIf n10 = 1 Then
        Plural = forms(0)
    ElseIf n10 >= 2 And n10 <= 4 Then
        Plural = forms(1)
    Else
        Plural = forms(2)
    End If
End Function

' 1220000 -> «1 220 000»
Private Function GroupDigits(ByVal n As Variant) As String
    Dim s As String, r As String
    s = CStr(n)
    Do While Len(s) > 3
        r = " " & Right$(s, 3) & r
        s = Left$(s, Len(s) - 3)
    Loop
    GroupDigits = s & r
End Function

При открытии файла Excel спросит, включить ли макросы, — разрешите для этой книги. Если в результате вместо русских букв знаки вопроса, в Windows для программ без Юникода выбран не русский язык: «Панель управления → Региональные стандарты → Дополнительно → Изменить язык системы».

Вопросы о сумме прописью

Как написать сумму прописью в договоре?

Обычно — цифрами, а в скобках прописью: «1 220 (Одна тысяча двести двадцать) рублей 00 копеек». Копейки пишут цифрами, «00 копеек» не опускают. Это деловая практика, а не требование закона: Гражданский кодекс формы записи цены не устанавливает. Прописью сумму дублируют, чтобы её нельзя было незаметно исправить, — а если цифры и слова разойдутся, возникнет спор о цене, поэтому строку лучше скопировать из калькулятора, чем набирать заново.

Как писать копейки — цифрами или прописью?

В платёжном поручении — только цифрами: рубли прописью, копейки цифрами, слова «рубль» и «копейка» не сокращаются (Положение Банка России № 762-П, приложение 1, реквизит 6). В договорах и счетах так же принято по практике: «Двести двадцать рублей 05 копеек». Если сумма целая, пишут «00 копеек». Копейки словами («пять копеек») тоже допустимы — переключатель «Копейки прописью» в калькуляторе.

Как записать сумму прописью с НДС?

Сначала вся сумма, затем налог в ней: «Одна тысяча двести двадцать рублей 00 копеек, в том числе НДС 22% — двести двадцать рублей 00 копеек». Если продавец НДС не платит (например, на УСН с освобождением) — «…, НДС не облагается». Выберите ставку в строке «НДС» калькулятора. Выделить или начислить налог с формулой — в калькуляторе НДС.

Как сделать сумму прописью в Excel?

Встроенной функции в Excel нет. Вставьте нашу функцию СуммаПрописью — код и инструкция в 4 шага в блоке «Сумма прописью в Excel» выше; потом в ячейке пишете =СуммаПрописью(A1). Файл нужно сохранить как .xlsm (книга с макросами), а при открытии — разрешить макросы.

Как получить сумму прописью в 1С?

В 1С есть встроенная функция ЧислоПрописью(Число, ФорматнаяСтрока, ПараметрыПредмета): например, ЧислоПрописью(1220, "Л=ru_RU", "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2") — «Одна тысяча двести двадцать рублей 00 копеек». Печатные формы счёта и акта в типовых конфигурациях подставляют сумму прописью сами. Проверить готовую строку или собрать её с НДС и в валюте можно здесь.

Как написать сумму прописью на английском?

Включите «English»: «One thousand two hundred twenty US dollars and 00 cents», цифрами и прописью — «1,220 (One thousand two hundred twenty) US dollars and 00 cents». Калькулятор пишет по американской норме: без «and» внутри числа (в британской — «one hundred and twenty»), с дефисом в числах от 21 до 99 («twenty-one»); «and» — только перед центами. В числах цифрами тысячи по-английски отделяют запятой: 1,220.

Как правильно писать сумму в долларах, евро и юанях?

Валюта называется полностью и без сокращений: «долларов США», «евро», «китайских юаней»; разменная — «центов», «евроцентов», «фэней» (по словарям — «фэнь», встречается и «фынь»). «Евро» не склоняется и в русском языке мужского рода: «один евро», «двадцать один евро». Если цена в валюте, а платят в рублях, договор обычно указывает курс и дату пересчёта — посчитать сумму в рублях можно в калькуляторе «Сколько это в рублях».