UNPKG

ofd.ru

Version:

API клиент ОФД OFD.ru на TypeScript

962 lines (927 loc) 56.7 kB
/** Тип (признак) платежного агента */ export declare enum AgentType { /** Банковский платежный агент */ BankPaymentAgent = "BANK_PAYMENT_AGENT", /** Банковский платежный субагент */ BankPaymentSubagent = "BANK_PAYMENT_SUBAGENT", /** Платежный агент */ PaymentAgent = "PAYMENT_AGENT", /** Платежный субагент */ PaymentSubagent = "PAYMENT_SUBAGENT", /** Поверенный */ Confidant = "CONFIDANT", /** Комиссионер */ Commissioner = "COMMISSIONER", /** Агент */ Agent = "AGENT" } declare interface BaseCreateReceiptRequest { /** ИНН компании */ Inn: string; /** * Идентификатор ФД в вашей информационной системе. * * Использование идентификатора предотвращает формирование дублей чеков * * **Важно!** Изменяйте идентификатор для перепробития неуспешных чеков в Ferma® (`StatusCode`: `3`) */ InvoiceId: string; /** * Интервал повтора проверки КМ в честном знаке (в секундах). * * Минимум `1`, максимум `1800`. */ McCheckRetryPeriodSec?: number; /** * URL адрес для отправки уведомления о статусе ФД * * Если поле заполнено корректно, то после обработки документа (успешной или неуспешной фискализации в ККТ: статус `CONFIRMED` или `KKT_ERROR`), ответ будет отправлен POST запросом по URL указанному в данном поле. Корректность заполненного поля определяется по регулярному выражению:`^http(s?)\:\/\/[0-9a-zA-Zа-яА-Я]([-.\w]*[0-9a-zA-Zа-яА-Я])*(:(0-9)*)*(\/?)([a-zA-Z0-9а-яА-Я\-\.\?\,\'\/\\\+&=%\$#_]*)?$\\`. */ CallbackUrl?: string; /** Информация о кассире */ Cashier?: { /** ФИО кассира */ Name?: string; /** ИНН кассира */ Inn?: string; }; /** Содержимое клиентского чека */ CustomerReceipt: { /** * Параметр проверки кода маркировки. * * Если вы в запросе не указали параметр CheckMcMode, чек пробьётся при любом результате проверки кода маркировки в ЦРПТ. * */ CheckMcMode?: CheckMcMode; /** * Система налогообложения. * * Внимание! Список применения значений систем налогообложения формируется на этапе регистрации кассы. Чтобы изменить список допустимых значений, необходимо выполнить перерегистрацию кассы. */ TaxationSystem: TaxationSystem; /** Адрес электронной почты клиента */ Email?: string; /** Контактный телефон клиента */ Phone?: string; /** * Признак предмета расчёта для всего чека * * Если в данном поле значение клиентом не указано, то используется значение по умолчанию, которое устанавливается по умолчанию при заведении учетной записи в информационной системе Ferma®. */ PaymentType: ReceiptPaymentType; /** * Использование ФА в сервисе Ferma®. * * Если используется касса ФА в сервисе Ferma® необходимо установить значение true. Если используется касса ФС необходимо установить значение false. * Касса ФА может применятся для: * * – вендингового аппарата, при совершении расчетов за товары или услуги; * * – совершения расчетов за проезд в автоматизированном режиме (через валидатор) или совершения расчетов через терминал кондуктора. */ KktFA: boolean; /** Номер автоматического устройства */ AutomatNumber?: string; /** Место осуществления расчетов */ BillAddress: string; /** Дополнительный реквизит пользователя с учетом особенностей сферы деятельности, в которой осуществляются расчеты */ CustomUserProperty?: { /** Наименование дополнительного реквизита */ Name: string; /** Значение дополнительного реквизита */ Value: string; }; /** * Данные платежного агента . * * Для касс с ФФД 1.2 параметр должен передаваться только в отдельные позиции и не может быть передан в структуре всего чека. * * Для касс с ФФД 1.05-1.1 параметр может передаваться как на отдельные позиции, так и в структуре всего чека. */ PaymentAgentInfo?: PaymentAgentInfo; /** Данные о покупателе */ ClientInfo?: { /** * ФИО или наименование организации, если клиент юр. лицо. * * Не более 256 символов в поле. */ Name?: string; /** * ИНН покупателя. * * Длина 10-12 цифр. */ Inn?: string; /** * Дата рождения покупателя (клиента). * * В формате `ДД.ММ.ГГ`, где ДД — день, ММ — месяц, ГГ — год. */ Birthday?: string; /** Гражданство покупателя (клиента) */ Citizenship?: string; /** Код вида документа, удостоверяющего личность */ IdDocType?: IdDocumentType; /** Данные документа, удостоверяющего личность покупателя (клиента) */ IdDocData?: string; /** Адрес покупателя (клиента) */ Address?: string; }; /** Отраслевой реквизит чека */ IndustryItemRequisite?: IndustryItemRequisite; /** Операционный реквизит чека */ OperationRequisite?: { /** Идентификатор операции */ Id?: string; /** Данные операции */ Details?: string; /** Дата и время задается в формате unix timestamp */ DateTime?: string; }; /** Суммы по типам оплат */ PaymentItems: { /** Тип оплаты */ PaymentType: PaymentType; /** Сумма по типу в рублях */ Sum: number; }[]; /** * Дополнительный реквизит чека (БСО). * * Применяется в составе кассового чека (БСО). Максимальная длина - 16 символов. */ AdditionalReceiptProp?: string; /** Товарные позиции, приобретаемые клиентом */ Items: ReceiptItem[]; }; } /** Режим проверка кода маркировки */ declare enum CheckMcMode { /** Вне зависимости от результата проверки, устанавливается по умолчанию, чек пробьётся */ IgnoreAnyErrors = "IGNORE_ANY_ERRORS", /** Касса пробивает чек, если результат проверки КМ в ЦРПТ не равен значению [М-]. Если результат проверки кода окажется равен значению [М-] - касса чек не пробивает */ RequireNoMMinus = "REQUIRE_NO_M_MINUS" } /** Информацию по чеку коррекции */ export declare interface CorrectionInfo { /** Описание коррекции и её причин */ Description: string; /** Тип коррекции */ Type?: CorrectionType; /** * Дата пробития чека, к которому применяется чек коррекции. * * В формате `ДД.ММ.ГГ`, где ДД — день, ММ — месяц, ГГ — год. */ ReceiptDate?: string; /** Номер предписания налогового органа */ ReceiptId?: string; } export declare type CorrectionReceiptType = ReceiptType.IncomeCorrection | ReceiptType.BuyCorrection | ReceiptType.IncomeReturnCorrection | ReceiptType.ExpenseReturnCorrection; /** Тип коррекции */ export declare enum CorrectionType { /** Коррекция производится самостоятельно */ Self = "SELF", /** Коррекция производится по предписанию */ INSTRUCTION = "INSTRUCTION" } declare type CreateCorrectionReceiptRequest = BaseCreateReceiptRequest & { /** Тип ФД */ Type: CorrectionReceiptType; CustomerReceipt: { CorrectionInfo: CorrectionInfo; }; }; /** * Параметры запроса на формирования фискального документа * * @see https://ofd.ru/razrabotchikam/ferma#%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2_items_%D1%82%D0%B5%D0%B3_1059 */ export declare type CreateReceiptRequest = CreateRegularReceiptRequest | CreateCorrectionReceiptRequest; declare type CreateRegularReceiptRequest = BaseCreateReceiptRequest & { /** Тип ФД */ Type: RegularReceiptType; }; /** * Ferma® * * Версия 2.67 от 10.12.2024 * * @see https://ofd.ru/razrabotchikam/ferma */ export declare class Ferma { private authedFetcher; /** * Конструктор класса * * Значения параметров можно получить в личном кабинете клиента в разделе Ferma®, после покупки услуг сервиса Ferma® или узнать у вашего менеджера. * */ constructor({ login, password, baseUrl, }: { /** Логин для доступа к API */ login: string; /** Пароль API */ password: string; /** * Базовый URL API. * * Для тестового API укажите `FERMA_TEST_OPTIONS.baseUrl` * * @default `https://ferma.ofd.ru/api` */ baseUrl?: string; }); /** * Запрос на формирование фискальных документов. * * @param data Данные для формирования документа * @returns ID документа * * @see https://ofd.ru/razrabotchikam/ferma#%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81_%D0%BD%D0%B0_%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D1%84%D0%B8%D1%81%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D1%85_%D0%B4%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%BE%D0%B2 */ createReceipt(data: CreateReceiptRequest): Promise<string>; /** * Проверка статуса кассового чека. * * Важно! Информация о статусе кассового чека хранится в оперативной памяти сервиса Ferma® всего сутки. После истечения суток при повторном запросе статуса кассового чека в ответ будет выведена ошибка «Чек не найден». После истечения суток информацию о статусе кассового чека можно получить в запросе реестра кассовых чеков. * * @param data `InvoiceId` или `ReceiptId` чека * @returns Статус чека * * @see https://ofd.ru/razrabotchikam/ferma#%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%B0_%D0%BA%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%87%D0%B5%D0%BA%D0%B0 */ getReceipt(data: { /** Идентификатор, присвоенный вашей информационной системой в запросе на формирование кассового чека. */ InvoiceId: string; } | { /** Идентификатор, присвоенный сервисом Ferma® */ ReceiptId: string; }): Promise<GetReceiptResponse>; } /** * Опции для тестирования API * * @see https://ofd.ru/razrabotchikam/ferma#%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B5_api_ferma */ export declare const FERMA_TEST_OPTIONS: { /** Базовый тестовый URL */ readonly baseUrl: "https://ferma-test.ofd.ru/api"; /** ИНН тестовой организации */ readonly inn: "3245001416"; /** Данные для тестирования ФФД версии 1.1 */ readonly ffd11: { /** Логин */ readonly login: "fermatest1"; /** Пароль */ readonly password: "Hjsf3321klsadfAA"; }; /** Данные для тестирования ФФД весрии 1.2 */ readonly ffd12: { /** Логин */ readonly login: "fermatest2"; /** Пароль */ readonly password: "Go2999483Mb"; }; }; export declare interface FermaErrorResponse { Status: "Failed"; Error: { Code: number; Message: string; }; } export declare type FermaResponse<T> = FermaSuccessResponse<T> | FermaErrorResponse; export declare interface FermaSuccessResponse<T> { Status: "Success"; Data: T; } /** * Идентификатор ФОИВ (ФЕДЕРАЛЬНЫЕ ОРГАНЫ ИСПОЛНИТЕЛЬНОЙ ВЛАСТИ). * * @see https://ofd.ru/razrabotchikam/ferma#%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0_foivid */ export declare enum FoivId { /** Министерство внутренних дел Российской Федерации */ Mvd = "001", /** Министерство Российской Федерации по делам гражданской обороны, чрезвычайным ситуациям и ликвидации последствий стихийных бедствий */ Emercom = "002", /** Министерство иностранных дел Российской Федерации */ Mid = "003", /** Федеральное агентство по делам Содружества Независимых Государств, соотечественников, проживающих за рубежом, и по международному гуманитарному сотрудничеству */ Rossotrudnichestvo = "004", /** Министерство обороны Российской Федерации */ MoD = "005", /** Федеральная служба по военно-техническому сотрудничеству */ Fsvts = "006", /** Федеральная служба по техническому и экспортному контролю */ Fstek = "007", /** Министерство юстиции Российской Федерации */ Minjust = "008", /** Федеральная служба исполнения наказаний */ Fsinn = "009", /** Федеральная служба судебных приставов */ Fssp = "010", /** Государственная фельдъегерская служба Российской Федерации (федеральная служба) */ Gfs = "011", /** Служба внешней разведки Российской Федерации (федеральная служба) */ Svr = "012", /** Федеральная служба безопасности Российской Федерации (федеральная служба) */ Fsb = "013", /** Федеральная служба войск национальной гвардии Российской Федерации (федеральная служба) */ Rosgvardiya = "014", /** Федеральная служба охраны Российской Федерации (федеральная служба) */ Fso = "015", /** Федеральная служба по финансовому мониторингу (федеральная служба) */ Rosfinmonitoring = "016", /** Федеральное архивное агентство (федеральное агентство) */ Rosarkhiv = "017", /** Главное управление специальных программ Президента Российской Федерации (федеральное агентство) */ Gusp = "018", /** Управление делами Президента Российской Федерации (федеральное агентство) */ Udp = "019", /** Министерство здравоохранения Российской Федерации */ Minzdrav = "020", /** Федеральная служба по надзору в сфере здравоохранения */ Roszdravnadzor = "021", /** Министерство культуры Российской Федерации */ Mincult = "022", /** Министерство науки и высшего образования Российской Федерации */ Minobrnauki = "023", /** Министерство природных ресурсов и экологии Российской Федерации */ Minprirody = "024", /** Федеральная служба по гидрометеорологии и мониторингу окружающей среды */ Roshydromet = "025", /** Федеральная служба по надзору в сфере природопользования */ Rosprirodnadzor = "026", /** Федеральное агентство водных ресурсов */ Rosvodresursy = "027", /** Федеральное агентство лесного хозяйства */ Rosleskhoz = "028", /** Федеральное агентство по недропользованию */ Rosnedra = "029", /** Министерство промышленности и торговли Российской Федерации */ Minpromtorg = "030", /** Федеральное агентство по техническому регулированию и метрологии */ Rosstandart = "031", /** Министерство просвещения Российской Федерации */ Minpros = "032", /** Министерство Российской Федерации по развитию Дальнего Востока и Арктики */ Minvostokrazvitiya = "033", /** Министерство сельского хозяйства Российской Федерации */ Minselhoz = "034", /** Федеральная служба по ветеринарному и фитосанитарному надзору */ Rosselkhoznadzor = "035", /** Федеральное агентство по рыболовству */ Rosrybolovstvo = "036", /** Министерство спорта Российской Федерации */ Minsport = "037", /** Министерство строительства и жилищно-коммунального хозяйства Российской Федерации */ Minstroy = "038", /** Министерство транспорта Российской Федерации */ Mintrans = "039", /** Федеральная служба по надзору в сфере транспорта */ Rostransnadzor = "040", /** Федеральное агентство воздушного транспорта */ Rosaviatsiya = "041", /** Федеральное дорожное агентство */ Rosavtodor = "042", /** Федеральное агентство железнодорожного транспорта */ Roszheldor = "043", /** Федеральное агентство морского и речного транспорта */ Rosmorrechflot = "044", /** Министерство труда и социальной защиты Российской Федерации */ Mintrud = "045", /** Федеральная служба по труду и занятости */ Rostrud = "046", /** Министерство финансов Российской Федераци */ Minfin = "047", /** Федеральная налоговая служба */ Fns = "048", /** Федеральная пробирная палата (федеральная служба) */ Probe = "049", /** Федеральная служба по регулированию алкогольного рынка */ Rosalkogol = "050", /** Федеральная таможенная служба */ Fts = "051", /** Федеральное казначейство (федеральная служба) */ Treasury = "052", /** Федеральное агентство по управлению государственным имуществом */ Rosimushchestvo = "053", /** Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации */ Mintsyfra = "054", /** Федеральная служба по надзору в сфере связи, информационных технологий и массовых коммуникаций */ Roskomnadzor = "055", /** Федеральное агентство по печати и массовым коммуникациям */ Rospechat = "056", /** Федеральное агентство связи */ Rossvyaz = "057", /** Министерство экономического развития Российской Федерации */ Minekonomrazvitiya = "058", /** Федеральная служба по аккредитации */ Rosakkreditatsiya = "059", /** Федеральная служба государственной статистики */ Rosstat = "060", /** Федеральная служба по интеллектуальной собственности */ Rospatent = "061", /** Федеральное агентство по туризму */ Rostourism = "062", /** Министерство энергетики Российской Федерации */ Minenergo = "063", /** Федеральная антимонопольная служба */ Fas = "064", /** Федеральная служба государственной регистрации, кадастра и картографии */ Rosreestr = "065", /** Федеральная служба по надзору в сфере защиты прав потребителей и благополучия человека */ Rospotrebnadzor = "066", /** Федеральная служба по надзору в сфере образования и науки */ Rosobrnadzor = "067", /** Федеральная служба по экологическому, технологическому и атомному надзору */ Rostekhnadzor = "068", /** Федеральное агентство по государственным резервам */ Rosrezerv = "069", /** Федеральное медико-биологическое агентство */ Fmba = "070", /** Федеральное агентство по делам молодежи */ Rosmolodezh = "071", /** Федеральное агентство по делам национальностей */ Fadn = "072" } /** * Ответ на запрос получения информации о чеке * * @see https://ofd.ru/razrabotchikam/ferma#%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0_%D1%81%D1%82%D0%B0%D1%82%D1%83%D1%81%D0%B0_%D0%BA%D0%B0%D1%81%D1%81%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE_%D1%87%D0%B5%D0%BA%D0%B0 */ export declare type GetReceiptResponse = (StatusNew | StatusProcessed | StatusConfirmed | StatusKktError) & { StatusMessage?: string; Description?: string; ModifiedDateUtc: string; ReceiptDateUtc: string; ModifiedDateTimeIso: string; ReceiptDateTimeIso: string; Device?: { DeviceId: string; RNM: string; ZN: string; FN: string; FDN: string; FPD: string; ShiftNumber: number; ReceiptNumInShift: number; DeviceType: string; OfdReceiptUrl: string; } | null; }; /** * Тип документа, удостоверяющего личность * * @see https://ofd.ru/razrabotchikam/ferma#%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0_iddoctype */ export declare enum IdDocumentType { /** Паспорт гражданина Российской Федерации */ RfId = "RF_ID", /** Паспорт гражданина Российской Федерации, дипломатический паспорт, служебный паспорт, удостоверяющие личность гражданина Российской Федерации за пределами Российской Федерации */ RfIdEtc = "RF_ID_ETC", /** Временное удостоверение личности гражданина Российской Федерации, выдаваемое на период оформления паспорта гражданина Российской Федерации */ TempRfId = "TEMP_RF_ID", /** Свидетельство о рождении гражданина Российской Федерации (для граждан Российской Федерации в возрасте до 14 лет) */ BirthRfId = "BIRTH_RF_ID", /** Иные документы, признаваемые документами, удостоверяющими личность гражданина Российской Федерации в соответствии с законодательством Российской Федерации */ OtherRfId = "OTHER_RF_ID", /** Паспорт иностранного гражданина */ ForeignId = "FOREIGN_ID", /** Иные документы, признаваемые документами, удостоверяющими личность иностранного гражданина в соответствии с законодательством Российской Федерации и международным договором Российской Федерации */ ForeignIdOther = "FOREIGN_ID_OTHER", /** Документ, выданный иностранным государством и признаваемый в соответствии с международным договором Российской Федерации в качестве документа, удостоверяющего личность лица без гражданства. */ IdForeignStateless = "ID_FOREIGN_STATELESS", /** Вид на жительство (для лиц без гражданства) */ ResidencePermit = "RESIDENCE_PERMIT", /** Разрешение на временное проживание (для лиц без гражданства) */ TempResidencePermit = "TEMP_RESIDENCE_PERMIT", /** Свидетельство о рассмотрении ходатайства о признании лица без гражданства беженцем на территории Российской Федерации по существу */ StatelessReviewId = "STATELESS_REVIEW_ID", /** Удостоверение беженца */ RefugeeId = "REFUGEE_ID", /** Иные документы, признаваемые документами, удостоверяющими личность лиц без гражданства в соответствии с законодательством Российской Федерации и международным договором Российской Федерации */ OtherId = "OTHER_ID", /** Документ, удостоверяющий личность лица, не имеющего действительного документа, удостоверяющего личность, на период рассмотрения заявления о признании гражданином Российской Федерации или о приеме в гражданство Российской Федерации */ StatelessReviewRfId = "STATELESS_REVIEW_RF_ID" } /** Отраслевой реквизит */ export declare interface IndustryItemRequisite { /** Идентификатор ФОИВ (ФЕДЕРАЛЬНЫЕ ОРГАНЫ ИСПОЛНИТЕЛЬНОЙ ВЛАСТИ). */ FoivId?: FoivId; /** * Дата документа основания. * * Формат `ДД.ММ.ГГГГ`, где ДД — день, ММ — месяц, ГГГГ — год. */ DocDate?: string; /** Номер документа основания */ DocNumber?: string; /** Значение отраслевого реквизита */ Value?: string; } /** Планируемый статус товара с КМ */ export declare enum MarkingCodePlannedStatus { /** Штучный товар, подлежащий обязательной маркировке средством идентификации, реализован */ PieceProductIncome = "PIECE_PRODUCT_INCOME", /** Мерный товар, подлежащий обязательной маркировке средством идентификации, в стадии реализации */ MeasuredProductIncome = "MEASURED_PRODUCT_INCOME", /** Штучный товар, подлежащий обязательной маркировке средством идентификации, возвращен */ PieceProductReturn = "PIECE_PRODUCT_RETURN", /** Часть товара, подлежащего обязательной маркировке средством идентификации, возвращена */ MeasuredProductReturn = "MEASURED_PRODUCT_RETURN", /** Статус товара, подлежащего обязательной маркировке средством идентификации, не изменился */ ProductStatusNotChanged = "PRODUCT_STATUS_NOT_CHANGED" } /** Формат КМ */ export declare enum MarkingCodeType { /** Неизвестный код товара */ UnknownProductCode = "UNKNOWN_PRODUCT_CODE", /** Значение кода маркировки в формате EAN-8 */ Ean8 = "EAN8", /** Значение кода маркировки в формате EAN-13 */ Ean13 = "EAN13", /** Значение кода маркировки в формате ITF-14 */ Itf14 = "ITF14", /** Значение кода маркировки в формате GS1 */ Gs1 = "GS1", /** Значение кода маркировки в формате GS1.M */ Gs1m = "GS1M", /** Значение кода маркировки в формате КМК (Короткий код маркировки) */ ShortMc = "SHORT_MC", /** Контрольно-идентификационный знак мехового изделия */ Fur = "FUR", /** Значение кода маркировки в формате ЕГАИС-2.0 */ Egais20 = "EGAIS20", /** Значение кода маркировки в формате ЕГАИС-3.0 */ Egais30 = "EGAIS30", /** Определяется ФНС России */ Ktf1 = "KTF1", /** Определяется ФНС России */ Ktf2 = "KTF2", /** Определяется ФНС России */ Ktf3 = "KTF3", /** Определяется ФНС России */ Ktf4 = "KTF4", /** Определяется ФНС России */ Ktf5 = "KTF5", /** Определяется ФНС России */ Ktf6 = "KTF6" } /** * Единицы измерения * * @see https://ofd.ru/razrabotchikam/ferma#%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0_measure */ export declare enum Measure { /** Применяется для предметов расчета, которые могут быть реализованы поштучно или единицами */ Piece = "PIECE", /** Грамм */ Gram = "GRAM", /** Килограмм */ Kilogram = "KILOGRAM", /** Тонна */ Ton = "TON", /** Сантиметр */ Centimeter = "CENTIMETER", /** Дециметр */ Decimeter = "DECIMETER", /** Метр */ Meter = "METER", /** Квадратный сантиметр */ SquareCentimeter = "SQUARE_CENTIMETER", /** Квадратный дециметр */ SquareDecimeter = "SQUARE_DECIMETER", /** Квадратный метр */ SquareMeter = "SQUARE_METER", /** Миллилитр */ Milliliter = "MILLILITER", /** Литр */ Liter = "LITER", /** Кубический метр */ CubicMeter = "CUBIC_METER", /** Киловатт час */ KilowattHour = "KILOWATT_HOUR", /** Гигакалория */ Gigacalorie = "GIGACALORIE", /** Сутки (день) */ Day = "DAY", /** Час */ Hour = "HOUR", /** Минута */ Minute = "MINUTE", /** Секунда */ Second = "SECOND", /** Килобайт */ Kilobyte = "KILOBYTE", /** Мегабайт */ Megabyte = "MEGABYTE", /** Гигабайт */ Gigabyte = "GIGABYTE", /** Терабайт */ Terabyte = "TERABYTE", /** Применяется при использовании иных единиц измерения */ Other = "OTHER" } /** Данные платёжного агента */ declare interface PaymentAgentInfo { /** Тип (признак) платежного агента */ AgentType?: AgentType; /** Телефон оператора по переводу денежных средств */ TransferAgentPhone?: string; /** Имя агента */ TransferAgentName?: string; /** Адрес агента */ TransferAgentAddress?: string; /** ИНН агента */ TransferAgentINN?: string; /** Операция платежного агента */ PaymentAgentOperation?: string; /** Телефон платежного агента */ PaymentAgentPhone?: string; /** Телефон потребителя */ ReceiverPhone?: string; /** ИНН поставщика */ SupplierInn?: string; /** Наименование поставщика */ SupplierName?: string; /** Телефон поставщика */ SupplierPhone?: string; } /** Признак способа расчёта */ export declare enum PaymentMethod { /** Предоплата 100% */ FullPrepayment = 1, /** Предоплата */ Prepayment = 2, /** Аванс */ Advance = 3, /** Полный расчет */ FullPayment = 4, /** Частичный расчет */ PartialPayment = 5, /** Передача в кредит */ CreditTransfer = 6, /** Оплата в кредит */ CreditPayment = 7 } /** Тип оплаты */ export declare enum PaymentType { /** Наличными */ Cash = 0, /** Безналичными */ Cashless = 1, /** Предоплата (аванс) */ Prepayment = 2, /** Предоплата (кредит) */ Credit = 3, /** Иная формам оплаты */ Other = 4 } /** * Товарная позиция в чеке * * @see https://ofd.ru/razrabotchikam/ferma#%D0%BE%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%BE%D0%B2_items_%D1%82%D0%B5%D0%B3_1059 * */ export declare interface ReceiptItem { /** Здесь могу присутствовать описание товара или описание услуги. * * Параметр всегда требуется в запросе на формирование фискального документа. */ Label: string; /** Цена товарной позиции в рублях */ Price: number; /** Количество товара в товарной позиции */ Quantity: number; /** * Общая стоимость товара в товарной позиции в рублях. * * Правила округления для стоимости товара зависят от типа кассы. В кассах типа Эфир Pro ФС и Эфир Pro ФА стоимость округляется по математическим правилам округления. * Результат умножения значений параметров `Price` и `Quantity` должно быть равно значению параметра `Amount` */ Amount: number; /** * Сумма акциза с учетом копеек. * * Участвует в запросе, если предмет расчета признается объектом налогообложения акцизами. */ Excise?: number; /** Вид вычисляемого НДС */ Vat: Vat; /** Код маркировки товарной позиции */ MarkingCodeData?: { /** Формат КМ */ Type?: MarkingCodeType; /** * Код маркировки * * В параметре передается значение, полученное сканером штрих-кода. */ Code: string; /** * Планируемый статус товара с КМ. * * @default `PIECE_PRODUCT_INCOME` */ PlannedStatus?: MarkingCodePlannedStatus; /** Тег содержит дробное количество маркированного товара */ Fractional?: { /** * Числитель. * * Должен быть строго меньше знаменателя `Denominator`. */ Numerator: number; /** Знаменатель */ Denominator: number; }; }; /** * Тег содержит единицы измерения количества предмета расчета. * * Обязателен для ФФД 1.2. * * @default `PIECE` — если не передан, для ФФД 1.2 */ Measure?: Measure; /** Признак способа расчёта */ PaymentMethod: PaymentMethod; /** Отраслевой реквизит чека */ IndustryItemRequisite?: IndustryItemRequisite; /** * Дополнительный реквизит предмета расчета. * * Максимальная длина 64 символов. */ AdditionalRequisite?: string; /** * Код страны происхождения товара. * * Не более 3 цифр. */ OriginCountryCode?: string; /** * Номер таможенной декларации. * * Не более 32 символов. */ CustomsDeclarationNumber?: string; /** * Признак предмета расчета для конкретной позиции в чеке. * * Если значение отсутствует, берется значение для всего чека. */ PaymentType?: ReceiptPaymentType; /** Данные платёжного агента */ PaymentAgentInfo?: PaymentAgentInfo; } /** * Признак предмета расчёта * * @see https://ofd.ru/razrabotchikam/ferma#%D0%B2%D0%BE%D0%B7%D0%BC%D0%BE%D0%B6%D0%BD%D1%8B%D0%B5_%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D1%80%D0%B8%D0%B7%D0%BD%D0%B0%D0%BA%D0%B0_%D0%BF%D1%80%D0%B5%D0%B4%D0%BC%D0%B5%D1%82%D0%B0_%D1%80%D0%B0%D1%81%D1%87%D0%B5%D1%82%D0%B0_%D0%BF%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0_paymenttype */ export declare enum ReceiptPaymentType { /** О реализуемом товаре, за исключением подакцизного товара (наименование и иные сведения, описывающие товар) – «ТОВАР» или «Т» */ Product = 1, /** О реализуемом подакцизном товаре (наименование и иные сведения, описывающие товар) – «ПОДАКЦИЗНЫЙ ТОВАР» или «АТ» */ ExciseProduct = 2, /** О выполняемой работе (наименование и иные сведения, описывающие работу) – «РАБОТА» или «Р» */ Work = 3, /** Об оказываемой услуге (наименование и иные сведения, описывающие услугу) – «УСЛУГА» или «У» или может не печататься */ Service = 4, /** О приеме ставок при осуществлении деятельности по проведению азартных игр – «СТАВКА АЗАРТНОЙ ИГРЫ» или «СТАВКА ИГРЫ» или «СА» */ GamblingBet = 5, /** О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению азартных игр – «ВЫИГРЫШ АЗАРТНОЙ ИГРЫ» или «ВЫИГРЫШ АИ» или «ВА» */ GamblingWin = 6, /** О приеме денежных средств при реализации лотерейных билетов, электронных лотерейных билетов, приеме лотерейных ставок при осуществлении деятельности по проведению лотерей – «ЛОТЕРЕЙНЫЙ БИЛЕТ» или «СТАВКА ЛОТЕРЕИ» или «СЛ» */ LotteryTicket = 7, /** О выплате денежных средств в виде выигрыша при осуществлении деятельности по проведению лотерей – «ВЫИГРЫШ ЛОТЕРЕИ» или «ВЫИГРЫШ ЛОТЕРЕИ» или «ВЛ» */ LotteryWin = 8, /** О предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации – «ПРЕДОСТАВЛЕНИЕ РИД» или «РИД» */ IntellectualProperty = 9, /** Об авансе, задатке, предоплате, кредите, взносе в счет оплаты, пени, штрафе, вознаграждении, бонусе и ином аналогичном предмете расчета – «ПЛАТЕЖ» или «П», «ВЫПЛАТА» или «В» */ AdvancePayment = 10, /** О вознаграждении пользователя, являющегося платежным агентом (субагентом), банковским платежным агентом (субагентом), комиссионером, поверенным или иным агентом – «АГЕНТСКОЕ ВОЗНАГРАЖДЕНИЕ» или «АВ» */ AgencyFee = 11, /** О предмете расчета, состоящем из предметов, каждому из которых может быть присвоено значение от «1» до «11» – «СОСТАВНОЙ ПРЕДМЕТ РАСЧЕТА» или «СПР» */ CompositeItem = 12, /** О предмете расчета, не относящемуся к предметам расчета, которым может быть присвоено значение от «1» до «12» и от «14» до «18» – «ИНОЙ ПРЕДМЕТ РАСЧЕТА» или «ИПР» */ OtherItem = 13, /** О передаче имущественных прав – «ИМУЩЕСТВЕННОЕ ПРАВО» */ PropertyTransfer = 14, /** О внереализационным доходе – «ВНЕРЕАЛИЗАЦИОННЫЙ ДОХОД» или может не печататься */ NonOperationalIncome = 15, /** О суммах расходов, уменьшающих сумму налога (авансовых платежей) в соответствии с пунктом 3.1 статьи 346.21 Налогового кодекса Российской Федерации – «СТРАХОВЫЕ ВЗНОСЫ» */ InsuranceContributions = 16, /** О суммах уплаченного торгового сбора – «ТОРГОВЫЙ СБОР» */ TradeFee = 17, /** О курортном сборе – «КУРОРТНЫЙ СБОР» */ ResortFee = 18, /** О залоге – «ЗАЛОГ» */ Pledge = 19, /** О суммах произведенных расходов в соответствии со статьей 346.16 Налогового кодекса Российской Федерации, уменьшающих доход */ ExpenseReduction = 20, /** О страховых взносах на обязательное пенсионное страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам — «ВЗНОСЫ НА ОБЯЗАТЕЛЬНОЕ ПЕНСИОННОЕ СТРАХОВАНИЕ ИП» или «ВЗНОСЫ НА ОПС ИП» или может не печататься */ PensionContributionsIP = 21, /** О страховых взносах на обязательное пенсионное страхование, уплачиваемых организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам — «ВЗНОСЫ НА ОБЯЗАТЕЛЬНОЕ ПЕНСИОННОЕ СТРАХОВАНИЕ» или «ВЗНОСЫ НА ОПС» или может не печататься */ PensionContributions = 22, /** О страховых взносах на обязательное медицинское страхование, уплачиваемых ИП, не производящими выплаты и иные вознаграждения физическим лицам — «ВЗНОСЫ НА ОБЯЗАТЕЛЬНОЕ МЕДИЦИНСКОЕ СТРАХОВАНИЕ ИП» или «ВЗНОСЫ НА ОМС ИП» или может не печататься */ MedicalContributionsIP = 23, /** О страховых взносах на обязательное медицинское страхование, уплачиваемые организациями и ИП, производящими выплаты и иные вознаграждения физическим лицам — «ВЗНОСЫ НА ОБЯЗАТЕЛЬНОЕ МЕДИЦИНСКОЕ СТРАХОВАНИЕ» или «ВЗНОСЫ НА ОМС» или может не печататься */ MedicalContributions = 24, /** О страховых взносах на обязательное социальное страхование на случай временной нетрудоспособности и в связи с материнством, на обязательное социальное страхование от несчастных случаев на производстве и профессиональных заболеваний — «ВЗНОСЫ НА ОБЯЗАТЕЛЬНОЕ СОЦИАЛЬНОЕ СТРАХОВАНИЕ» или «ВЗНОСЫ НА ОСС» или может не печататься */ SocialContributions = 25, /** О приеме и выплате денежных средств при осуществлении казино и залами игровых автоматов расчетов с использованием обменных знаков игорного заведения — «ПЛАТЕЖ КАЗИНО» или «ПК» или может не печататься */ CasinoPayment = 26, /** О выдаче денежных средств банковским платежным агентом — «ВЫДАЧА ДЕНЕЖНЫХ СРЕДСТВ» или «ВЫДАЧА ДС» или может не печататься */ CashIssuance = 27, /** О реализуемом подакцизном товаре, подлежащем маркировке средством идентификации, не имеющем кода маркировки — «АТНМ» или может не печататься */ ExciseProductNoMark = 30, /** О реализуемом подакцизном товаре, подлежащем маркировке средством идентификации, имеющем код маркировки — «АТМ» или может не печататься */ ExciseProductMark = 31, /** О реализуемом товаре, подлежащем маркировке средством идентификации, не имеющем кода маркировки, за исключением подакцизного товара — «ТНМ» или может не печататься */ ProductNoMark = 32, /** О реализуемом товаре, подлежащем маркировке средством идентификации, имеющем код маркировки, за исключением подакцизного товара — «ТМ» или может не печататься */ ProductMark = 33 } /** Тип фискального документа */ export declare enum ReceiptType { /** Получение денежных средств от покупателя */ Income = "Income", /** Возврат денежных средств, полученных от покупателя */ IncomeReturn = "IncomeReturn", /** Авансовый платеж от покупателя */ IncomePrepayment = "IncomePrepayment", /** Возврат аванса */ IncomeReturnPrepayment = "IncomeReturnPrepayment", /** Чек коррекции/приход */ IncomeCorrection = "IncomeCorrection", /** Чек коррекции/расход */ BuyCorrection = "BuyCorrection", /** Чек коррекции/Возврат прихода */ IncomeReturnCorrection = "IncomeReturnCorrection", /** Чек коррекции/Возврат расхода */ ExpenseReturnCorrection = "ExpenseReturnCorrection", /** Выдача денежных средств покупателю */ Expense = "Expense", /** Возврат денежных средств, выданных покупателю */ ExpenseReturn = "ExpenseReturn" } export declare type RegularReceiptType = Exclude<ReceiptType, CorrectionReceiptType>; declare interface StatusConfirmed { StatusCode: 2; StatusName: "CONFIRMED"; } declare interface StatusKktError { StatusCode: 3; StatusName: "KKT_ERROR"; } declare interface StatusNew { StatusCode: 0; StatusName: "NEW"; } declare interface StatusProcessed { StatusCode: 1; StatusName: "PROCESSED"; } /** Система налогообложения */ export declare enum TaxationSystem { /** ОСН */ Common = "Common", /** УСН доход */ SimpleIn = "SimpleIn", /** УСН доход - расход */ SimpleInOut = "SimpleInOut", /** ЕНВД */ Unified = "Unified", /** ЕСН */ UnifiedAgricultural = "UnifiedAgricultural", /** Патент */ Patent = "Patent" } /** Тип вычисляемого НДС */ export declare enum Vat { /** Налог на добавленную стоимость без НДС */ VatNo = "VatNo", /** НДС 5% */ Vat5 = "Vat5", /** Вычисленный НДС 5% от 105% суммы */ CalculatedVat5105 = "CalculatedVat5105", /** НДС 7% */ Vat7 = "Vat7", /** Вычисленный НДС 7% от 107% суммы */ CalculatedVat7107 = "CalculatedVat7107", /** Налог на добавленную стоимость (НДС) 10% */ Vat10 = "Vat10", /** НДС 20% */ Vat20 = "Vat20", /** НДС 0% */ Vat0 = "Vat0", /** Вычисленный НДС 10% от 110% суммы */ CalculatedVat10110 = "CalculatedVat10110", /** Вычисленный НДС 20% от 120% суммы */ CalculatedVat20120 = "CalculatedVat20120" } export { }