Другое

ZATCA электронное выставление счетов: исправление ошибки генерации Production CSID

Устранение ошибок генерации Production CSID в системе ZATCA электронного выставления счетов. Узнайте, почему сертификаты соответствия работают, но Production CSID не генерируется, и как завершить все необходимые шаги соответствия.

ZATCA e-Invoicing: Невозможно создать Production CSID несмотря на успешную валидацию

Я столкнулся с проблемой в системе ZATCA e-Invoicing, где я могу генерировать сертификаты соответствия, но не могу создать Production CSID. Вот что происходит:

В симуляционном API:

  • Я могу успешно генерировать сертификаты соответствия
  • При попытке создать Production CSID я получаю ошибку: “Сертификат соответствия еще не завершен со следующими шагами соответствия [standard-compliant, standard-credit-note-compliant, standard-debit-note-compliant, simplified-compliant, simplified-credit-note-compliant, simplified-debit-note-compliant]”
  • После валидации всех счетов-фактур я могу создать Production CSID

В Production API:

  • Я могу успешно генерировать сертификаты соответствия
  • Однако, при попытке создать Production CSID, я получаю ту же ошибку, что и в режиме симуляции

Это поведение кажется противоречивым, так как я ожидал, что Production API будет работать иначе после успешной валидации. Я что-то упускаю в реализации, или это известная проблема системы ZATCA e-Invoicing?

Проблема, с которой вы столкнулись при работе с электронными счетами-фактурами ZATCA, на самом деле является распространенным недопониманием рабочего процесса, а не ошибкой системы. Сообщение об ошибке указывает на то, что хотя вы можете генерировать сертификаты соответствия, вы не завершили все необходимые проверки соответствия для разных типов документов, требуемых для генерации Production CSID. И симуляционная, и производственная среды проходят один и тот же процесс проверки соответствия перед выдачей Production CSID.

Понимание типов CSID и процесса соответствия

В системе электронных счетов-фактур ZATCA существуют различные типы идентификаторов криптографических штампов (CSID), каждый из которых выполняет определенную цель в процессе соответствия:

  • Compliance CSID (CCSID): Используется исключительно для тестирования проверки соответствия
  • Test CSID: Получается через портал разработчика для тестирования в песочнице
  • Production CSID (PCSID): Финальный CSID, который позволяет отправлять фактические счета в ZATCA

Production CSID предоставляется ZATCA по запросу после успешного завершения проверок соответствия. Каждая единица EGS имеет уникальный Production CSID. Это похоже на посадочный талон вашего авиаперелета - как только вы его получаете, это означает, что вы можете приступить к отправке документов в ZATCA.

Ключевое понимание заключается в том, что генерация сертификата соответствия и генерация Production CSID - это отдельные процессы. Вы можете генерировать сертификаты соответствия, не завершив все необходимые проверки соответствия.

Необходимые шаги соответствия для Production CSID

Для получения Production CSID вы должны завершить проверку соответствия для всех типов документов, указанных в сообщении об ошибке:

[standard-compliant, standard-credit-note-compliant, standard-debit-note-compliant, simplified-compliant, simplified-credit-note-compliant, simplified-debit-note-compliant]

Каждый из них представляет отдельную проверку соответствия, которая должна быть успешно завершена:

  1. Standard Invoices: Обычные B2B-счета в формате XML
  2. Standard Credit Notes: Документы кредитовых нот
  3. Standard Debit Notes: Документы дебетовых нот
  4. Simplified Invoices: Документы B2C в упрощенном формате
  5. Simplified Credit Notes: Упрощенные документы кредитовых нот
  6. Simplified Debit Notes: Упрощенные документы дебетовых нот

Согласно результатам исследования, ошибка, с которой вы столкнулись, возникает потому, что система отслеживает, какие конкретные проверки соответствия были завершены, и для генерации Production CSID требуется, чтобы все они были отмечены как соответствующие.

Правильный рабочий процесс для генерации Production CSID

Правильный рабочий процесс включает следующие последовательные шаги:

  1. Generate CSR: Создайте запрос на подпись сертификата (Certificate Signing Request) для вашей единицы EGS
  2. Obtain Compliance CSID: Запросите CCSID через портал ZATCA
  3. Complete All Compliance Validations: Протестируйте и проверьте все типы документов
  4. Request Production CSID: Только после завершения всех шагов соответствия

EGS пользователям необходимо сгенерировать соответствующий CSR для получения тестового CSID, а затем пройти проверку соответствия.

Критически важный момент заключается в том, что успешная генерация сертификата соответствия автоматически не завершает все шаги соответствия. Вам необходимо специально протестировать и проверить каждый тип документов, упомянутый в сообщении об ошибке.

Распространенные ошибки реализации

На основе результатов исследования, несколько распространенных ошибок приводят к этой проблеме:

1. Неполное тестирование соответствия

Многие разработчики тестируют только стандартные счета, но забывают протестировать упрощенные документы, кредитовые и дебетовые ноты. В сообщении об ошибке конкретно указано, что вам не хватает проверки simplified-compliant и других упрощенных документов.

2. Путаница сред

Обсуждение на Stack Overflow показывает, что разработчики часто путают песочницу и симуляционную среду:

  • Sandbox: Использует статические CSID, которые не работают с упрощенными счетами
  • Simulation: Требует действительных OTP и правильной проверки соответствия
  • Production: Финальная среда для фактической отправки счетов

3. Отсутствие заголовков соответствия

При вызове API соответствия вы должны специально добавить compliance CSID в качестве заголовка запроса. Compliance CSID генерируется платформой электронных счетов и используется только для обеспечения соответствия единиц EGS спецификациям ZATCA.

Лучшие практики проверки и тестирования

Чтобы обеспечить успешную генерацию Production CSID, следуйте этим лучшим практикам:

Тестируйте все типы документов

Создавайте и отправляйте тестовые счета для каждого требуемого типа:

python
# Пример различных типов документов для тестирования
document_types = [
    "standard-invoice",
    "standard-credit-note", 
    "standard-debit-note",
    "simplified-invoice",
    "simplified-credit-note",
    "simplified-debit-note"
]

Используйте симуляционную среду для тестирования

Как упоминалось в исследовании, вы должны тестировать непосредственно в симуляционной среде, которая предназначена для обработки более широкого диапазона сценариев и обеспечивает правильную проверку соответствия.

Проверяйте сообщения ответов

Внимательно изучайте сообщения ответов о соответствии, чтобы определить, какие конкретные типы документов еще не были проверены.

Устранение ошибок Production CSID

Когда вы сталкиваетесь с ошибкой шагов соответствия, следуйте этому подходу к устранению неполадок:

  1. Проверьте статус соответствия: Используйте портал ZATCA, чтобы увидеть, какие шаги соответствия отмечены как завершенные
  2. Протестируйте отсутствующие типы документов: Создайте и отправьте счета для конкретных отсутствующих типов соответствия
  3. Проверьте вызовы API: Убедитесь, что вы используете правильные заголовки CSID и конечные точки
  4. Проверьте среду: Подтвердите, что вы используете симуляционную среду для тестирования, а не песочницу

Тестируйте и проверяйте ваши счета с использованием ZATCA Sandbox или Simulation Portal перед активацией FATOORA Production Portal. Введите налоговые данные вашей компании, включая регистрацию НДС.

Ключевой вывод заключается в том, что генерация Production CSID не является автоматической - она требует явного завершения всех проверок соответствия для всех типов документов. Как только вы успешно протестируете и проверите все требуемые типы документов в симуляционной среде, генерация Production CSID должна работать бесперебойно как в симуляционной, так и в производственной средах.

Источники

  1. ZATCA E-Invoicing Detailed Technical Guidelines
  2. SAP ERP Solution Unit Onboarding Guide for E-Invoicing in KSA
  3. ZATCA Developer Portal User Manual
  4. ClearTax - Understanding CSID Generation
  5. Stack Overflow - Production CSID Error Discussion
  6. Microsoft Dynamics 365 - E-Invoicing Onboarding
  7. Craft Interactive - ZATCA Compliance Validation

Заключение

Проблема с генерацией Production CSID, с которой вы столкнулись, в основном связана с неполной проверкой соответствия для всех требуемых типов документов. Вот ключевые выводы:

  • Завершите все шаги соответствия: Вы должны проверить стандартные счета, упрощенные счета и соответствующие им кредитовые/дебетовые ноты
  • Используйте симуляционную среду: Тестирование в песочнице со статическими CSID не обеспечит правильную проверку соответствия
  • Следуйте правильному рабочему процессу: Генерация CSR → Compliance CSID → Все проверки соответствия → Запрос Production CSID
  • Проверяйте типы документов: Убедитесь, что вы тестируете все шесть требуемых типов документов, упомянутых в сообщении об ошибке
  • Проверьте реализацию API: Убедитесь в правильном использовании заголовков CSID и конечных точек в вашем коде

Систематически завершив проверку соответствия для всех типов документов в симуляционной среде, вы сможете успешно сгенерировать свой Production CSID и приступить к фактическим операциям по электронным счетам-фактурам.

Авторы
Проверено модерацией
Модерация