Дебиторская задолженность из 1С в Excel, XML и DBF: от отчёта до запроса
Содержание
Чтобы выгрузить дебиторскую задолженность из 1С:Бухгалтерии 3.0, откройте Отчеты → Стандартные отчеты → Оборотно-сальдовая ведомость по счету, выберите счёт 62, включите детализацию по контрагентам и договорам, нажмите «Сформировать», а затем «Сохранить» (Ctrl+S) в формате .xlsx. Это самый быстрый способ получить дебиторку в Excel за 3–5 минут.
Если нужна расшифровка не только по покупателям, но и по выданным авансам (60.02) и прочим дебиторам (76), удобнее отчёт «Анализ субконто» или запрос к регистру бухгалтерии. Для регулярной отправки — рассылка отчётов по расписанию. Ниже разобран каждый способ с настройками.
Что проверить в базе до выгрузки дебиторки
Выгрузка показывает ровно то, что проведено в учёте. Если в базе беспорядок, Excel-файл его просто скопирует. Перед формированием отчёта пройдите короткий список.
- 📅 Дата среза. Задолженность «на 31.12» и «на 01.01» — одно и то же только при закрытом периоде. Уточните у того, кто просит файл, на какую дату нужен остаток.
- 🧾 Непроведённые документы. Отчёты по бухгалтерскому учёту видят только проведённые документы. Отберите в журналах реализаций и поступлений на расчётный счёт документы без проведения.
- 🔁 Зачёт авансов. Если оплата и отгрузка висят на разных договорах, у одного контрагента будет одновременно Дт 62.01 и Кт 62.02. Это не дебиторка, а ошибка аналитики.
- 🏢 Организация. В базе с несколькими юрлицами без отбора по организации получите сводную сумму по всем.
- 💱 Валютные расчёты. Счета 62.21, 62.22 и аналогичные ведут сумму и в рублях, и в валюте. Решите заранее, какие колонки нужны.
Для годовой инвентаризации расчётов выгрузку делают после закрытия месяца: переоценка валютных остатков и зачёт авансов должны уже пройти.
Чем выгрузить дебиторскую задолженность: сравнение способов
Подходящий способ зависит от того, кто получатель файла и как часто он нужен.
| Способ | Где в программе | Формат | Когда подходит | Ограничения |
|---|---|---|---|---|
| ОСВ по счёту | Отчеты → Стандартные отчеты | xlsx, pdf, mxl, ods | Быстрый срез по 62 счёту | Один счёт за раз |
| Анализ субконто | Отчеты → Стандартные отчеты | xlsx, pdf, mxl | Дебиторы по нескольким счетам сразу | Многоуровневые группировки в Excel |
| Акт сверки | Продажи → Расчеты с контрагентами | pdf, xlsx | Подтверждение долга одним контрагентом | Только один контрагент |
| Рассылка отчётов | Администрирование → Печатные формы, отчеты и обработки | xlsx, pdf и другие | Еженедельно руководителю | Нужна настроенная почта |
| Консоль запросов | Внешняя обработка | Плоская таблица → xlsx | Аналитика, сводные таблицы | Нужен навык языка запросов |
| Обработка с XBase/XML | Внешняя обработка | dbf, xml | Загрузка в чужую систему | Пишет программист |
Быстрый вариант: ОСВ по 62 счёту
Для разового запроса «скиньте дебиторку» ОСВ по счёту обычно хватает.
- Откройте
Отчеты → Стандартные отчеты → Оборотно-сальдовая ведомость по счету. - Укажите период и счёт 62.
- В настройках включите «По субсчетам» и добавьте детализацию «Контрагенты» и «Договоры».
- Сформируйте отчёт и сохраните его в
.xlsx.
Дебиторка — колонка «Сальдо на конец периода, Дебет» в строках субсчёта 62.01. Кредитовое сальдо 62.02 — полученные авансы, это кредиторская задолженность, в расшифровку дебиторов её не включают.
В 1С:Управлении торговлей 11 и 1С:ERP счёта 62 в оперативном учёте нет. Там задолженность клиентов смотрят в отчёте «Ведомость расчетов с клиентами»: найдите его через поиск по разделу Продажи или в полном списке отчётов раздела. Сохраняется он так же, через «Сохранить».
Выгрузка дебиторки через «Анализ субконто» по шагам
Этот отчёт удобен тем, что собирает долги контрагента по всем счетам, где есть субконто «Контрагенты».
Шаг 1. Откройте отчёт
- Перейдите в
Отчеты → Стандартные отчеты → Анализ субконто. - Укажите период. Для остатка на 31 декабря поставьте конец периода 31.12.
- Выберите организацию, если их в базе несколько.
Шаг 2. Задайте виды субконто
- Нажмите «Показать настройки».
- В списке видов субконто оставьте «Контрагенты» и, при необходимости, «Договоры».
- Порядок строк определяет группировку: сначала контрагент, внутри — договоры.
Шаг 3. Ограничьте счета
На вкладке отборов добавьте поле «Счет» с видом сравнения «В списке» и укажите счета дебиторов:
- 62.01 — расчёты с покупателями;
- 60.02 — авансы, выданные поставщикам;
- 76.05, 76.09 или другие субсчета 76, которые вы реально ведёте.
Если нужен только долг покупателей, достаточно одного 62.01.
Шаг 4. Сформируйте и сохраните
- Нажмите «Сформировать».
- Нажмите кнопку «Сохранить» (дискета) или
Ctrl+S. - В поле типа файла выберите «Лист Excel 2007-…» (
.xlsx).
Конечное сальдо по дебету в строке контрагента — это и есть его дебиторская задолженность на дату.
Excel получает отчёт со свёрнутыми группировками и объединёнными заголовками. Для сводной таблицы такой файл неудобен: имя контрагента стоит только в строке группы, а не в каждой строке договора. Если нужен плоский список, переходите к разделу про запросы.
Дебиторская задолженность в XML для банка и проверяющих
Единого государственного XML-формата «расшифровка дебиторки» нет. Банки при кредитовании и аудиторы обычно просят расшифровку в Excel или PDF за подписью руководителя. XML нужен, когда файл загружают в другую программу: банковский сервис оценки заёмщика, учётную систему холдинга, BI-систему.
Варианты получить XML из 1С:
- Свой формат получателя. Получатель присылает схему (XSD) или пример файла. Программист пишет внешнюю обработку
: запрос к остаткам плюс запись через
ЗаписьXML. Это самый надёжный путь. - EnterpriseData. Типовой формат обмена между конфигурациями 1С. Подходит, если на другой стороне тоже 1С, но переносит документы и справочники, а не готовую ведомость.
- Стандартный интерфейс OData. Получатель сам забирает остатки регистра бухгалтерии по HTTP. Публикацию настраивает администратор: база должна быть опубликована на веб-сервере, а нужные объекты включены в состав интерфейса в разделе
Администрирование.
Вот минимальный пример записи в XML. Он принимает таблицу значений с колонками Контрагент и Сумма (например, результат запроса из раздела ниже) и выполняется на сервере:
Процедура ВыгрузитьВXML(ТаблицаДолгов, ИмяФайла)
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(ИмяФайла, "UTF-8");
Запись.ЗаписатьОбъявлениеXML();
Запись.ЗаписатьНачалоЭлемента("Debitors");
Для Каждого Строка Из ТаблицаДолгов Цикл
Запись.ЗаписатьНачалоЭлемента("Debitor");
Запись.ЗаписатьАтрибут("name", Строка(Строка.Контрагент));
Запись.ЗаписатьАтрибут("sum", Формат(Строка.Сумма, "ЧРД=.; ЧГ=0; ЧН=0"));
Запись.ЗаписатьКонецЭлемента();
КонецЦикла;
Запись.ЗаписатьКонецЭлемента();
Запись.Закрыть();
КонецПроцедуры
Формат ЧРД=.; ЧГ=0 даёт точку как разделитель дробной части и убирает пробелы между разрядами. Без этого 1 250 000,50 не прочитает почти ни одна внешняя система.
А если просят DBF
DBF встречается в старых банковских и складских программах. В 1С для него есть объект XBase. Пример пишет ту же таблицу в файл:
Процедура ВыгрузитьВDBF(ТаблицаДолгов, ИмяФайла)
БД = Новый XBase;
БД.Кодировка = КодировкаXBase.ANSI;
БД.Поля.Добавить("NAME", "S", 100);
БД.Поля.Добавить("SUMMA", "N", 15, 2);
БД.СоздатьФайл(ИмяФайла);
Для Каждого Строка Из ТаблицаДолгов Цикл
БД.Добавить();
БД.NAME = Лев(Строка(Строка.Контрагент), 100);
БД.SUMMA = Строка.Сумма;
БД.Записать();
КонецЦикла;
БД.ЗакрытьФайл();
КонецПроцедуры
Кодировку (ANSI или OEM) уточните у получателя. Ошибка в ней превращает кириллицу в «кракозябры», а сумму не трогает.
Как автоматизировать выгрузку дебиторки
Когда руководитель просит дебиторку каждый понедельник, ручная работа быстро надоедает. В типовых конфигурациях на БСП для этого есть рассылки отчётов.
Настройка рассылки
- Включите функцию:
Администрирование → Печатные формы, отчеты и обработки, флаг «Рассылки отчетов». - Настройте учётную запись электронной почты, если её ещё нет. Без неё рассылка уйдёт только в папку.
- Откройте нужный отчёт, настройте и сохраните вариант, например «Дебиторка по договорам».
- Перейдите в список рассылок отчётов и создайте новую. Добавьте в неё сохранённый вариант.
- Укажите получателей, формат вложения (
xlsxилиpdf) и расписание: например, каждый понедельник в 7:00.
Рассылка выполняется регламентным заданием. В файловой базе оно работает только пока открыта хотя бы одна сессия 1С, поэтому для надёжного расписания нужна клиент-серверная база или запуск 1С по планировщику Windows.
Когда нужна внешняя обработка
Рассылка отправляет отчёт в том виде, как он выглядит на экране. Если получателю нужен XML, DBF или файл особой структуры, программист оформляет код из предыдущего раздела во внешнюю обработку и подключает её через Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки. У дополнительной обработки можно задать расписание запуска.
Если файл кладут в общую сетевую папку, путь должен быть доступен пользователю, под которым работает сервер 1С, а не вашему пользователю Windows.
Плоская таблица дебиторов через консоль запросов
Опытные бухгалтеры и аналитики выгружают дебиторку запросом. Результат — плоская таблица: каждая строка содержит контрагента, договор и сумму. Такую таблицу сразу можно превратить в сводную в Excel.
Консоль запросов — внешняя обработка. Её открывают через Файл → Открыть (или меню с тремя полосками → Файл → Открыть), пользователю нужны права на открытие внешних обработок.
Запрос для 1С:Бухгалтерии 3.0:
ВЫБРАТЬ
Остатки.Счет КАК Счет,
Остатки.Субконто1 КАК Контрагент,
Остатки.Субконто2 КАК Договор,
Остатки.СуммаОстатокДт КАК Дебиторка,
Остатки.СуммаОстатокКт КАК Кредиторка
ИЗ
РегистрБухгалтерии.Хозрасчетный.Остатки(
&ДатаСреза,
Счет В ИЕРАРХИИ (&Счета),
,
Организация = &Организация) КАК Остатки
ГДЕ
Остатки.СуммаОстатокДт <> 0
УПОРЯДОЧИТЬ ПО
Дебиторка УБЫВ
Параметры:
&Счета— список: 62, 60.02, нужные субсчета 76;&Организация— ваша организация;&ДатаСреза— день, следующий за отчётной датой, 00:00:00. Для остатка на 31.12 указывайте 01.01 следующего года.
Виртуальная таблица остатков возвращает сальдо на начало переданного момента. Если поставить 31.12 00:00:00, все операции последнего дня года выпадут из итога.
Готовый результат копируют в Excel или сохраняют через кнопку вывода в табличный документ. У счетов 62 и 60 порядок субконто одинаковый: «Контрагенты», «Договоры», «Документы расчетов». У субсчетов 76 он бывает другим, сверьте план счетов перед запуском.
Сроки долга одним запросом
Для резерва по сомнительным долгам нужен возраст задолженности. Добавьте в выборку Остатки.Субконто3 КАК ДокументРасчетов и вычисляемое поле:
РАЗНОСТЬДАТ(Остатки.Субконто3.Дата, &ДатаСреза, ДЕНЬ) КАК ДнейДолга
Дальше в Excel распределите суммы по корзинам: до 45 дней, 45–90 и свыше 90. Именно эти интервалы используются в статье 266 НК РФ для налогового резерва. Для расчёта нужен включённый учёт по документам расчётов, иначе третье субконто будет пустым.
Почему выгруженная дебиторка не сходится с балансом
Самая частая жалоба: сумма в файле не равна строке баланса. Разберите свой случай.
.mxl или скопирован как текст. Сохраняйте сразу в .xlsx из окна отчёта.Ещё одна причина расхождений — документы, введённые задним числом после выгрузки. Если файл ушёл в банк, а потом бухгалтер провёл корректировку, повторите выгрузку и отметьте дату её формирования в имени файла.
Частые вопросы
Можно ли выгрузить дебиторку сразу по нескольким организациям?
Какой отчёт подходит для инвентаризации расчётов?
Почему у валютного контрагента две суммы?
Как передать дебиторку аудитору без доступа к базе?
.xlsx, а для крупных дебиторов приложите акты сверки в PDF. Доступ к самой базе давать не обязательно.Можно ли выгрузить дебиторку из 1С в Google Таблицы?
.xlsx и загрузите файл в Google Диск, при открытии он сконвертируется.Источники
- Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учете»
- Методические указания по инвентаризации имущества и финансовых обязательств, утв. приказом Минфина России от 13.06.1995 № 49
- Налоговый кодекс РФ, статья 266 «Порядок формирования резервов по сомнительным долгам»