# Acumatica Customization Project Publish Failed: How to Fix It

> Source: https://netray.co/erp-help/acumatica-customization-project-publish-failed-fix
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

A failed publish in Acumatica means the platform could not validate, compile or apply the customization package to the website and database. Open the Publish Customization Project dialog, read the Compilation log and the Validation log, fix the first error (usually a C# compile error, a missing DAC field or a conflicting project), and publish again, ideally on a test tenant first.

## Kind

error

## System

small-erp

## Erp

Acumatica Cloud ERP

## Module

Customization / Customization Projects (SM204505)

## Query

Acumatica customization project publish failed

## Alternate Queries

- Acumatica publish customization compilation error
- Acumatica customization project validation failed
- Acumatica publish stuck or timeout
- Acumatica customization not applied after publish

## Applies To

Acumatica Cloud ERP 2022 R1 and later, on-premises and SaaS tenants, Customization Projects screen SM204505

## Steps

### How to diagnose and fix a failed publish

**Items:**

Open Customization > Customization Projects (SM204505), select the project and click Publish. Watch the log pane; do not close it until it finishes.

Read the log from the top. The first red error is the real one; later errors are usually side effects of the first compile failure.

If the error mentions CS (for example CS0246 type not found), open the Customization Project Editor, go to Code, and fix the C# in the extension class or add the missing reference or namespace.

If validation fails on a screen or Site Map node, check Screens in the project for a missing or renamed graph, and check that the DAC fields you bound in the layout still exist.

If two projects touch the same page or class, open Customization > Customization Projects, review Published projects, and unpublish or reorder the conflicting one. Check the Publish order in the Customization Project Editor.

For a timeout or a locked database message, wait for the current publish to finish, then use Unpublish All Customization (if allowed) or restart the application pool for the instance and retry.

Retry with Publish with Cleanup only when you need to remove stale files from App_Data or Bin; it republishes everything, so schedule it outside business hours.

After success, hard refresh the browser (Ctrl+F5) and confirm the screen change, then export the project package and keep it in source control.

## Sections

### What a publish actually does

**Body:**

Publishing a customization project does more than copy files. Acumatica validates the project, compiles any C# code items into a temporary assembly (the customization assembly in the website Bin and App_Data\CustomizationPlugin area), applies database scripts and Generic Inquiry, report and Site Map changes, and then recycles the application so the new assembly is picked up.

Because the whole website recompiles, a single bad file can fail the entire publish. The logs are split: the Compilation log lists C# problems, the Validation log lists structural problems such as missing screens or duplicate items. Always read both.

**Code:**

- Customization > Customization Projects (SM204505)
  Select project > Publish
  Logs: Compilation log / Validation log / Database scripts log

### Common causes, in order of frequency

**Body:**

The most common cause is a compile error: a typo in a PXCacheExtension, a DAC field defined twice, a call to a graph method whose signature changed after an upgrade, or a missing using directive. The error code and line are shown in the Compilation log.

Second is an upgrade mismatch. A project written for one build can break on another because a base DAC field or a graph virtual method was renamed or changed. Open the project in the Customization Project Editor after an upgrade and compile before publishing to production.

Third are project conflicts and dependencies: two projects patching the same page with different layout edits, a code item that references a class from an unpublished project, or a database script that expects a column another project adds. Define publish order and keep each project focused.

### A safe publishing routine

**Body:**

Use a separate test or UAT tenant, publish there first, and compare the log with production. Keep each customization project small and named for one feature so a failure points to one area.

Keep the exported project zip in source control, with C# in a Visual Studio solution when the code is large, and use the Customization Project Editor only for packaging. On-premises, back up the website folder and the database before a Publish with Cleanup.

## Pitfalls

- Fixing the last error in the log instead of the first one; later errors are often cascades of the first compile failure.
- Publishing straight to production without compiling on a test tenant after an Acumatica upgrade.
- Two projects customizing the same screen without a defined publish order, so the layout of one silently overwrites the other.
- Closing the browser during publish on a large project and leaving a half-applied state that needs an unpublish and retry.
- Using Publish with Cleanup during business hours; it recycles the application and logs users out.

## Ai Angle

An AI assistant grounded in your Acumatica build can read the compilation log, map the error to the extension class and DAC it refers to, and propose the corrected C#. Treat its output as a draft: compile it in a test tenant and review it before any publish to production. ERPray is read-only by default, so it helps with diagnosis and does not publish anything.

## Faq

### Where do I find the publish log in Acumatica?

**Answer:** Open Customization Projects (SM204505), select the project and click Publish. The dialog shows the Compilation and Validation logs live. After closing, reopen Publish or use the Customization Project Editor to view the last result and any compile errors.

### Can I roll back a bad publish?

**Answer:** Unpublish the project from SM204505, or Unpublish All Customization, which removes customizations from the site. Database changes made by scripts are not automatically reverted, so keep a backup and test the scripts on a non-production tenant first.

### Why does my change not show after a successful publish?

**Answer:** Browser cache is the usual reason. Hard refresh with Ctrl+F5, or sign out and in. If the field is still missing, check the layout was saved in the Screens editor and that the project is marked as published, not just saved.

### Does publishing affect users logged in?

**Answer:** Yes. Publishing recycles the application, so active sessions are interrupted and unsaved work can be lost. Publish outside business hours and tell users first, especially for Publish with Cleanup.

## Search terms

acumatica publish customization failed, acumatica customization project error, acumatica compilation log, acumatica SM204505, acumatica publish with cleanup, acumatica unpublish all customization, acumatica customization project editor, acumatica customization validation error

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
